@bitblit/ratchet-epsilon-common
Version:
Tiny adapter to simplify building API gateway Lambda APIS
27 lines • 1.08 kB
JavaScript
import { EventUtil } from '../../../http/event-util.js';
import { Logger } from '@bitblit/ratchet-common/logger/logger';
import { StringRatchet } from '@bitblit/ratchet-common/lang/string-ratchet';
export class ApolloUtil {
constructor() { }
static async emptyContext() {
return {};
}
static async defaultEpsilonApolloContext(args, opts) {
const authTokenSt = EventUtil.extractBearerTokenFromEvent(args.lambdaEvent);
let token = null;
if (StringRatchet.trimToNull(authTokenSt) && opts?.jwtRatchet) {
Logger.debug('Proc token : %s', StringRatchet.obscure(authTokenSt));
token = await opts.jwtRatchet.decodeToken(authTokenSt, 0);
}
const rval = {
user: token,
bearerTokenString: authTokenSt,
headers: args.lambdaEvent.headers,
functionName: args.lambdaContext.functionName,
lambdaEvent: args.lambdaEvent,
lambdaContext: args.lambdaContext,
};
return rval;
}
}
//# sourceMappingURL=apollo-util.js.map