Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/alexbinary/node-httpserverhelper
Minimalist wrapper for Node's native `HttpServer` object.
https://github.com/alexbinary/node-httpserverhelper
Last synced: 1 day ago
JSON representation
Minimalist wrapper for Node's native `HttpServer` object.
- Host: GitHub
- URL: https://github.com/alexbinary/node-httpserverhelper
- Owner: alexbinary
- Created: 2014-12-19T10:53:31.000Z (almost 10 years ago)
- Default Branch: master
- Last Pushed: 2015-09-26T10:06:06.000Z (about 9 years ago)
- Last Synced: 2024-08-11T09:49:31.792Z (3 months ago)
- Language: JavaScript
- Size: 160 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# HttpServerHelper
Minimalist wrapper for Node's native `HttpServer` object.
Features :
- easy setup ;
- transparent event logging ;
- decouple request handling from generic server logic.This module is good for experimenting and quick prototyping due to its easy setup and rich log output.
However it might not be suited when precise configurations, performances, or security are required.# Minimalistic example
```javascript
var httpServer = require('httpserverhelper').createServer({
handleRequest: function(pRequest, pResponse) {
pResponse.end('hello, world');
}
});
httpServer.start(80);
```Output :
```
http server listening on :::80
```If you visit http://localhost/index.html you will get the following kind of output :
```
http server connection
http request:
{ url: '/index.html',
method: 'GET',
httpVersion: '1.1',
headers:
{ host: 'localhost',
'accept-encoding': 'gzip, deflate',
accept: 'text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8',
'user-agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_5) AppleWebKit/600.8.9 (KHTML, like Gecko) Version/8.0.8 Safari/600.8.9',
'accept-language': 'fr-fr',
dnt: '1',
connection: 'keep-alive' } }
http server connection
http request:
{ url: '/favicon.ico',
method: 'GET',
httpVersion: '1.1',
headers:
{ host: 'localhost',
'accept-encoding': 'gzip, deflate',
connection: 'keep-alive',
accept: '*/*',
'user-agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_5) AppleWebKit/600.8.9 (KHTML, like Gecko) Version/8.0.8 Safari/600.8.9',
'accept-language': 'fr-fr',
referer: 'http://localhost/index.html',
dnt: '1' } }
```# Module documentation
## Exported methods
### createServer([requestHandler])
Creates and returns a new `Server` object with the given request handler.
`requestHandler` must provide a function `handleRequest` which will be called
for each request the server receives, with the request and the response being passed
as first and second parameter respectively.
Request and response are native `http.ClientRequest` and `http.ServerResponse` objects respectively.If `requestHandler` does not provide a valid `handleRequest` function a warning message
is logged in the console and nothing happens when the server receives a request.# 'Server' object documentation
## Constructor
### Server([requestHandler])
Init a new HTTP server with given request handler.
See `createServer()` above.## Properties
### httpServer
The underlying native `HttpServer` object.
## Methods
### start([port])
Start the server on specified port.
If port is omitted a random port is selected.## Events
### listening
Emitted when the server is ready and listening for connections.
Event listener is passed the address and port the server is listening to.# Infos
Node.js HTTP module : http://nodejs.org/api/http.html
# Contact
Alexandre Bintz
Comments and suggestions are welcome.