@jokio/graphql
Version:
High level, pre-configured, GraphQL Server
49 lines (48 loc) • 1.38 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
function getHttpToken(request, tokenName) {
if (request.query && request.query.token)
return request.query.token;
var cookie = request.headers.cookie;
if (!cookie)
return null;
var cookieMap = cookie
.split(';')
.map(function (x) {
if (!x)
return null;
var subItems = x.split('=');
if (!subItems || subItems.length !== 2)
return null;
return {
key: subItems[0].trim(),
value: subItems[1].trim(),
};
})
.filter(function (x) { return !!x; })
.reduce(function (r, x) {
r[x.key] = x.value;
return r;
}, {});
return cookieMap[tokenName];
}
exports.getHttpToken = getHttpToken;
function getWsToken(connectionParams, tokenName) {
return connectionParams[tokenName];
}
exports.getWsToken = getWsToken;
// export async function createContext(token, enableAuthentication) {
// const userId = enableAuthentication ? await validateAndGetUser(token) : null;
// return { userId, token };
// }
// async function validateAndGetUser(token) {
// try {
// if (!token)
// return null;
// const result = await api.get<any>(`/user/me`, { token: token });
// return result.id;
// }
// catch (err) {
// return null;
// }
// }