• Jump To … +
    basin.js caller.js client.js conduit.js consumer.js dispatcher.js example.js header.js middleware.js multiplexer.js procedure.js requester.js responder.js sender.js server.js socket.js spigot.js timeout.js window.js
  • consumer.js

  • ¶
    var cadence = require('cadence')
    
    function Consumer (delegate, module) {
        this._delegate = delegate
        this._module = module
    }
    
    Consumer.prototype.enqueue = cadence(function (async, envelope) {
        if (envelope == null || envelope.module != this._module) {
            return []
        }
        switch (envelope.method) {
        case 'header':
            this._delegate.writeHead(envelope.body.statusCode, envelope.body.statusMessage, envelope.body.headers)
            break
        case 'chunk':
            this._delegate.write(envelope.body, async())
            break
        case 'trailer':
            if (
                envelope.body != null &&
                Object.keys(envelope.body).length != 0
            ) {
                this._delegate.addTrailers(envelope.body)
            }
            this._delegate.end()
            break
        }
        return []
    })
    
    module.exports = Consumer