chore: refacto NestJS in modules (#308)
* chore: wip refacto in modules * fix: rollback port * fix: jwt guard in wrong folder * chore: rename folder exception-filter in filters * fix: tests are running * fix: excessive stack depth comparing types * fix: auth issue * chore: move createUser in UserService * fix: test * fix: guards * fix: jwt guard don't handle falsy user
This commit is contained in:
27
server/src/utils/extract-request.ts
Normal file
27
server/src/utils/extract-request.ts
Normal file
@ -0,0 +1,27 @@
|
||||
import { ExecutionContext } from '@nestjs/common';
|
||||
import { GqlContextType, GqlExecutionContext } from '@nestjs/graphql';
|
||||
|
||||
// extract request from the execution context
|
||||
export const getRequest = (context: ExecutionContext) => {
|
||||
let request;
|
||||
|
||||
// if context is an http request
|
||||
if (context.getType() === 'http') {
|
||||
request = context.switchToHttp().getRequest();
|
||||
} else if (context.getType<GqlContextType>() === 'graphql') {
|
||||
// if context is a graphql request
|
||||
const graphQLContext = GqlExecutionContext.create(context);
|
||||
|
||||
const { req, connection } = graphQLContext.getContext();
|
||||
|
||||
request =
|
||||
connection && connection.context && connection.context.headers
|
||||
? connection.context
|
||||
: req;
|
||||
} else if (context.getType() === 'rpc') {
|
||||
// if context is a rpc request
|
||||
throw new Error('Not implemented');
|
||||
}
|
||||
|
||||
return request;
|
||||
};
|
||||
Reference in New Issue
Block a user