
Security News
Axios Supply Chain Attack Reaches OpenAI macOS Signing Pipeline, Forces Certificate Rotation
OpenAI rotated macOS signing certificates after a malicious Axios package reached its CI pipeline in a broader software supply chain attack.
abhttpserver
Advanced tools
This abstract class can be instantiated to create a simple and easy to use HTTP server. It serves HTTP and HTTPS requests concurrently on separate TCP/IP ports.
npm install abhttpserver
Simple HelloWorld example:
import { ABHttpServer, ABRequest} from './ABHttpServer'
import { ServerResponse } from 'http';
class MyServer extends ABHttpServer {
get(request: ABRequest, response: ServerResponse) {
this.sendText(response, `Hello world!`)
}
}
var myServer = new MyServer(8080)
Example test.ts:
This example starts two servers (HTTP:8080 and HTTPS:8081). All requests from both servers are handled thru the same class methods. The optional allMethods() function will be called before any corresponding HTTP method function.
import { ABHttpServer, ABRequest} from './ABHttpServer'
import { ServerResponse } from 'http';
class MyServer extends ABHttpServer {
allMethods(request: ABRequest, response: ServerResponse) {
console.log(`Host ${request.client.address} sent ${request.http.method.toUpperCase()} request`)
}
get(request: ABRequest, response: ServerResponse) {
if (request.url.path == 'stats') {
this.sendJSON(response, this.getStatistics())
} else {
this.sendText(response, `The URL sent was ${request.url.path}`)
}
}
post(request: ABRequest, response: ServerResponse) {
this.sendJSON(response, { data: `The raw data sent was ${request.http.data}` })
}
}
var myServer = new MyServer(8080, 8081)
Detailed debugging to the console is supported by setting the environment variable AB_DEBUG to true. The debugging data includes most of the HTTP/HTTPS server events and may result in a lot of data sent to the console.
AB_DEBUG=true node test.js
Example debug output:
2018-10-31 10:52:00.488 ABHttpServer Constructor called (8080, 8081)
2018-10-31 10:52:00.498 ABHttpServer Creating HTTP server on port 8080
2018-10-31 10:52:00.503 ABHttpServer Creating HTTPS server on port 8081
2018-10-31 10:52:00.512 ABHttpServer HTTP net.Server server is in listen mode
2018-10-31 10:52:00.512 ABHttpServer HTTP server started on port 8080
2018-10-31 10:52:00.512 ABHttpServer HTTPS net.Server server is in listen mode
2018-10-31 10:52:00.512 ABHttpServer HTTPS server started on port 8081
2018-10-31 10:52:05.086 ABHttpServer HTTP http.Server server established connection
2018-10-31 10:52:05.092 ABHttpServer HTTP http.Server server received client request
2018-10-31 10:52:05.094 ABHttpServer HTTP/1.1 POST /test
2018-10-31 10:52:05.094 ABHttpServer Sending HTTP status 200 with 41 bytes of application/json data
2018-10-31 10:52:28.006 ABHttpServer HTTP http.Server server established connection
2018-10-31 10:52:28.009 ABHttpServer HTTP http.Server server received client request
2018-10-31 10:52:28.009 ABHttpServer HTTP/1.1 GET /test
2018-10-31 10:52:28.009 ABHttpServer Sending HTTP status 200 with 29 bytes of text/plain data
See unlicense.org
This software shall be used for Good, not Evil.
You will find the source code on GitHub
Support is provided on a best efford base. If you have any question, suggestion or find any issues, please report them. You may also contact the original author thru email at the address andy.brunner@abdata.ch.
FAQs
Simple HTTP Server Framework
The npm package abhttpserver receives a total of 10 weekly downloads. As such, abhttpserver popularity was classified as not popular.
We found that abhttpserver demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Security News
OpenAI rotated macOS signing certificates after a malicious Axios package reached its CI pipeline in a broader software supply chain attack.

Security News
Open source is under attack because of how much value it creates. It has been the foundation of every major software innovation for the last three decades. This is not the time to walk away from it.

Security News
Socket CEO Feross Aboukhadijeh breaks down how North Korea hijacked Axios and what it means for the future of software supply chain security.