File size: 711 Bytes
befd7da
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
'use strict';

module.exports = setup;

// // //

/**
 * Add request token as `token` to req object
 * @return {Function} middleware
 */
function setup() {
  /**
   * Middleware
   * @param  {Object}   req  Express request
   * @param  {Object}   res  Express response
   * @param  {Function} next Express next handler
   * @returns {void}
   */
  return (req, res, next) => {
    const header = req.get('authorization');

    if (req.query && req.query.token) {
      req.token = req.query.token;
      return next();
    }

    if (header) {
      const parts = header.split(' ');
      if (parts[0] === 'Bearer') {
        req.token = parts[1];
        return next();
      }
    }
    return next();
  };
}