@2muchcoffee/nestjs-context
v0.2.0
Published
NestJS npm package
Readme
@2muchcoffee/nestjs-context
Allows you to get the request context outside of the NestJs request scope
Installation
npm install @2muchcoffee/nestjs-context --saveUsage
Import ContextModule to AppModule or CoreModule for once
import { ContextModule } from '@2muchcoffee/nestjs-context';
@Module({
imports: [
...
ContextModule,
...
]
})
export class AppModule {
}After ContextModule import you can use Context and its static functions in your code
import { Context } from '@2muchcoffee/nestjs-context';
const {user} = Context.getHttpReq<Request>();Note: In most cases author uses @2muchcoffee/nestjs-context to get context in custom validators. See samples for more details.
GraphQl
You should install @2muchcoffee/nestjs-gql-context in order to get the correct context on the framework usage
npm install @2muchcoffee/nestjs-gql-context --saveIf you want the graphql context, you can get it using GqlContext instead of Context
import { GqlContext } from '@2muchcoffee/nestjs-gql-context';
GqlContext.getGqlContext<{req: Request}>()Static Methods
| Method | Description |
|-------------------------------------------------|----------------------------------------------------------------------------------------------------------------------------------|
| Context | import { Context } from '@2muchcoffee/nestjs-context' |
| getContext | Returns the current request pipeline |
| getHttpArgs | Returns an array of arguments being passed to the handler |
| getHttpReq | Returns a request object |
| getHttpRes | Returns a response object |
| getType | Returns the current execution context type (string) |
| isHttp | Returns true if the current execution context type is http |
| isGraphql | Returns true if the current execution context type is graphql |
| GqlContext | import { GqlContext } from '@2muchcoffee/nestjs-gql-context'; Context extends from GqlContext and has the same methods |
| getExecutionContext | Returns the current gql execution context |
| getGqlRoot | The previous object sent from the previous Query type |
| getGqlArgs | Arguments provided in the GraphQL query |
| getGqlContext | A value which is provided to every resolver and holds important contextual information |
| getGqlInfo | A value which holds field-specific information relevant to the current query |
Samples
Take a look at samples in ./sample for usage examples.
