An enhanced HTTP(S) Server for Node.js.
It uses a pure request handler instead of the traditional
Nodejs request handler
$ npm add @aldojs/httpTo create HTTP or HTTPS servers, you may use the function createServer.
const{ readFileSync }=require('fs');declarefunctioncreateServer(options: Options,fn: RequestHandler): Server;declarefunctioncreateServer(fn: RequestHandler): Server;declarefunctioncreateServer(options: Options): Server;declarefunctioncreateServer(): Server;declareinterfaceOptions{tls?: {key: readFileSync('path/to/key/file.pem'),cert: readFileSync('path/to/cert/file.pem')// see `https.createServer()` for more options to create secure servers}}The request event handler could be a common or an async function.
It's a pure function to replace the traditional handler
declaretypeRequestHandler=(request: http.IncomingMessage,response: http.ServerResponse)=>void;Each handler will receive the http.IncomingMessage object as a request, and should return a Response object.
declaretypeRequestHandler=(request: http.IncomingMessage)=>Response|Promise<Response>;The returned response object should have a send method to configure and finalize the http.ServerResponse
import{ServerResponse}from'http';declareinterfaceResponse{send(res: ServerResponse): void|Promise<void>;}