Lund-Org/cherry

View on GitHub
src/server/CherryIncomingMessage.js

Summary

Maintainability
A
0 mins
Test Coverage
const { IncomingMessage } = require('http')
const requestBuiltins = require('../builtins/request')

class CherryIncomingMessage extends IncomingMessage {
  constructor (arg) {
    super(arg)
    this.cherry = null

    // Bind the builtins methods
    for (const requestBuiltinName in requestBuiltins) {
      this[requestBuiltinName] = requestBuiltins[requestBuiltinName].bind(this)
    }
  }

  /**
   * Set the cherry instance to the request
   * @param {Cherry} cherry The cherry instance
   */
  setCherry (cherry) {
    this.cherry = cherry
  }

  /**
   * Get the cherry instance bound to the request
   * @return {Cherry} The cherry instance
   */
  getCherry () {
    return this.cherry
  }
}

module.exports = CherryIncomingMessage