HTTP server stub - Implementation
Implement TrussHttpServerAbstract.
http = require 'http'
Promise = require 'bluebird'
config = require 'config'
TrussHttpServerAbstract = require '../abstract'
TrussHttpServerStub
A little HTTP stub. Just barely implementing the abstract Truss HTTP server API.
module.exports = class TrussHttpServerStub extends TrussHttpServerAbstract
TrussHttpServerStub#constructor
constructor: ->
super
@_server = http.createServer()
TrussHttpServerStub#listener
Listen for HTTP connections.
listener: ->
self = this
new Promise (resolve, reject) ->
self._server.on 'error', reject
self._server.once 'listening', ->
self._server.removeListener 'error', reject
resolve()
Bind to the listen target.
listenTarget = config.get 'packageConfig:truss-http:listenTarget'
listenTarget = [listenTarget] unless Array.isArray listenTarget
self._server.listen listenTarget...
registerMiddleware: ->
self = this
super
Invoke the request middleware.
@_server.on 'request', (req, res) ->
self._requestMiddleware.dispatch req, res, ->
server: -> @_server
trustProxy: (proxyList) ->