code: function Respectify(server, options) {
    // Ensure valid construction
    if (!(this instanceof Respectify)) {
      return new Respectify(server, options)
    }
    this.server = server
  
    // TODO: Consider removing this
    server.respect = this
  
    var opt = this.options = options || {}
  
    // Ensure default option properties
    opt.routeProperties || (opt.routeProperties = ['description'])
    opt.paramProperties || (opt.paramProperties = ['description'])
  
    // Route property internal extras
    arrayDefaults(opt.routeProperties, [
      'paramTarget'
    ])
  
    // Parameter property internal extras
    arrayDefaults(opt.paramProperties, [
      'default'
    , 'dataValues'
    , 'transform'
    , 'validate'
    ])
  
    // Check for all-route parameters
    this.globalParams = {}
    if (opt.params) this.globalParams = opt.params
  
    // Target for parameter extraction / parsing
    opt.paramTarget && this.validateTarget(opt.paramTarget)
    this.middleware = this.middleware.bind(this)
  }
docs: Respectify constructor
  
  @param {Object} restify server instance
  @param {Object} options
  * `routeProperties` {Array} - route props to store (optional, default `['description']`)
  * `paramProperties` {Array} - param props to store (optional, default `['description']`)
  * `paramTarget` {String} - route param target (optional, default `params`)
  @constructor
  @api public