parse-bearer-token
Version:
Parse a request's bearer token
49 lines (48 loc) • 1.7 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
var ava_1 = require("ava");
var http = require("http");
var net_1 = require("net");
var _1 = require(".");
ava_1.default('missing headers', function (t) {
var req = new http.IncomingMessage(new net_1.Socket());
delete req.headers;
var token = _1.default(req);
t.is(token, null);
});
ava_1.default('missing auth header', function (t) {
var req = new http.IncomingMessage(new net_1.Socket());
req.headers.authorization = '';
var token = _1.default(req);
t.is(token, null);
});
ava_1.default('malformed auth header', function (t) {
var req = new http.IncomingMessage(new net_1.Socket());
req.headers.authorization = 'bearer';
var token = _1.default(req);
t.is(token, null);
});
ava_1.default('non-bearer token', function (t) {
var req = new http.IncomingMessage(new net_1.Socket());
req.headers.authorization = 'basic Zm9vOmJhcg==';
var token = _1.default(req);
t.is(token, null);
});
ava_1.default('mYSpAcEcASe schema', function (t) {
var req = new http.IncomingMessage(new net_1.Socket());
req.headers.authorization = 'bEaRER token';
var token = _1.default(req);
t.is(token, 'token');
});
ava_1.default('valid token', function (t) {
var req = new http.IncomingMessage(new net_1.Socket());
req.headers.authorization = 'Bearer token';
var token = _1.default(req);
t.is(token, 'token');
});
ava_1.default('token with spaces', function (t) {
var req = new http.IncomingMessage(new net_1.Socket());
req.headers.authorization = 'Bearer i am a token!';
var token = _1.default(req);
t.is(token, 'i am a token!');
});