title: ".use" method to add logic on each request of SuperAgent
body: <p>This <a href="https://github.com/visionmedia/superagent/issues/384" rel="noreferrer">issue</a> in SuperAgent repository mentions the <code>.use</code> method to add logic on each request. For example, adding an <code>Authorization</code> header for JWT when a token is available:</p>
  
  <pre><code>superagent.use( bearer );
  
  function bearer ( request ) {
      var token = sessionStorage.get( 'token' );
  
      if ( token ) request.set( 'Authorization', 'Bearer ' + token );
  }
  </code></pre>
  
  <p>Although the last comment informs that this feature is working again, I can't make it to work.</p>
  
  <p>The following test code:</p>
  
  <pre><code>var request = require( 'superagent' );
  
  request.use( bearer );
  
  function bearer ( request )
  {
      // "config" is a global var where token and other stuff resides
      if ( config.token ) request.set( 'Authorization', 'Bearer ' + config.token );
  }
  </code></pre>
  
  <p>Returns this error:</p>
  
  <pre><code>request.use( bearer );
          ^
  TypeError: undefined is not a function
  </code></pre>