text: /*!
   * forwarded
   * Copyright(c) 2014 Douglas Christopher Wilson
   * MIT Licensed
   */
  
  /**
   * Module exports.
   */
  
  module.exports = forwarded
  
  /**
   * Get all addresses in the request, using the `X-Forwarded-For` header.
   *
   * @param {Object} req
   * @api public
   */
  
  function forwarded(req) {
    if (!req) {
      throw new TypeError('argument req is required')
    }
  
    // simple header parsing
    var proxyAddrs = (req.headers['x-forwarded-for'] || '')
      .split(/ *, */)
      .filter(Boolean)
      .reverse()
    var socketAddr = req.connection.remoteAddress
    var addrs = [socketAddr].concat(proxyAddrs)
  
    // return all addresses
    return addrs
  }
  