esrol-servers
A wrapper for creating single / multiple server types (http, udp, websocket) with or without node cluster.
Part of Esrol
Installation
$ npm install --save esrol-servers
Node Version Compatibility
Node Version |
---|
>= 4.x |
Examples
'use strict';let Servers = ;let { res;};let { socket; socket;};let { console;};let { console;};let { console;};let { console;};let { console;};let httpSettings = router: httpRouter onListening: onHTTPServerListening port: 3333 webSocket: true cluster: true;let tcpSettings = port: 3334 cluster: true router: tcpRouter onListening: onTCPServerListening;let tcpOptions = allowHalfOpen: false pauseOnConnect: false;let udpSettings = type: 'udp4' port: 3335 cluster: true router: udpRouter onListening: onUDPServerListening;let httpServer = Servers;let tcpServer = Servers;let udpServer = Servers;let httpWebSocket = Servers;httpWebSocket;Servers; // number of cores if ServersisMaster console; else console;
API
Members
- isMaster
the same as node cluster.isMaster
Methods
- createHTTPSServer()
Not implemented yet
- createTCPServer(settings, options) ⇒
object
Create tcp server
- createUDPServer(settings) ⇒
object
Create udp server
- createHTTPServer(settings) ⇒
object
Create http server
- createHTTPWebSocket(server) ⇒
object
Create http websocket
- createHTTPSWebSocket()
Not implemented yet
- cluster(cores)
Trigger node cluster
- getHTTPServerInstance() ⇒
object
Get http server instace
- getHTTPSServerInstance()
Not implemented yet
- getHTTPWebSocketInstance() ⇒
object
Get http websocket instance
- getUDPServerInstance() ⇒
object
Get udp server instance
- getTCPServerInstance() ⇒
object
Get tcp server instance
- getHTTPServerPort() ⇒
int
Retrieve the port the http server is currently listening on
- getHTTPSServerPort()
not implemented yet
- getUDPServerPort() ⇒
int
Retrieve the port the udp server is currently listening on
- getTCPServerPort() ⇒
int
Retrieve the port the tcp server is currently listening on
- getWorkers() ⇒
array
Get all online workers
createHTTPSServer()
Not implemented yet
object
createTCPServer(settings, options) ⇒ Create tcp server
Returns: object
- server - server instance
Throws:error
- error - if wrong settings are passed
Param | Type | Description |
---|---|---|
settings | object |
see example |
options | object |
see example |
See: Examples
object
createUDPServer(settings) ⇒ Create udp server
Returns: object
- server - server instance
Throws: error
- error - if wrong settings are passed
Param | Type | Description |
---|---|---|
settings | object |
see example |
See: Examples
object
createHTTPServer(settings) ⇒ Create http server
Returns: object
- server - server instance
Throws: error
- error - if wrong settings are passed
Param | Type | Description |
---|---|---|
settings | object |
see example |
See: Examples
object
createHTTPWebSocket(server) ⇒ Create http websocket
Returns: object
- server - server instance
Param | Type | Description |
---|---|---|
server | object |
http server instance |
See: Examples
createHTTPSWebSocket()
Not implemented yet
cluster(cores)
Trigger node cluster
Param | Type | Description |
---|---|---|
cores | int |
number of cores (2, 4 etc) |
object
getHTTPServerInstance() ⇒ Get http server instace
Returns: object
- server - server instance
getHTTPSServerInstance()
Not implemented yet
object
getHTTPWebSocketInstance() ⇒ Get http websocket instance
Returns: object
- server - websocket server instance
object
getUDPServerInstance() ⇒ Get udp server instance
Returns: object
- server - server instance
object
getTCPServerInstance() ⇒ Get tcp server instance
Returns: object
- server - server instance
int
getHTTPServerPort() ⇒ Retrieve the port the http server is currently listening on
getHTTPSServerPort()
not implemented yet
int
getUDPServerPort() ⇒ Retrieve the port the udp server is currently listening on
int
getTCPServerPort() ⇒ Retrieve the port the tcp server is currently listening on
array
getWorkers() ⇒ Get all online workers
Returns: array
- workers - array with all workers
Contriubtion
Any contribution will be highly appreciated. Just make sure that:
- Your code works.
- You have 100% successful tests coverage.
- You have comments in your code.
- Follows eslint config. Exceptions are possible where that make sense.
Tests
To run the test suite, first install the dependencies, then run npm test
:
$ npm install$ npm test