meshblu-server-http
Version:
Maybe. Unofficial. You know how it is.
36 lines (28 loc) • 1.22 kB
text/coffeescript
class MeshbluAuthParser
parse: (request) =>
authPair = request
authPair ?= request
authPair ?= request
authPair ?= request
authPair ?= {uuid: undefined, token: undefined}
return authPair
parseBasicAuth: (request) =>
return unless request.header 'authorization'
[scheme,encodedToken] = request.header('authorization').split(' ')
[uuid,token] = new Buffer(encodedToken, 'base64').toString().split(':')
return {
uuid: uuid.trim?()
token: token.trim?()
}
parseMeshbluAuthHeaders: (request) =>
return request, 'meshblu_auth_uuid', 'meshblu_auth_token'
parseSkynetAuthHeaders: (request) =>
return request, 'skynet_auth_uuid', 'skynet_auth_token'
parseExtraHeaders: (request) =>
return request, 'X-Meshblu-UUID', 'X-Meshblu-Token'
parseHeader: (request, uuidHeader, tokenHeader) =>
return unless request.header(uuidHeader) and request.header(tokenHeader)
uuid = request.header(uuidHeader).trim()
token = request.header(tokenHeader).trim()
return {uuid, token}
module.exports = MeshbluAuthParser