Context Factory

When configuring your WunderGraph server context allows you ro provide functions to instantiate and release custom contexts for every incoming request:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
// wundergraph.server.ts
import { configureWunderGraphServer } from '@wundergraph/sdk/server';
class GlobalContext {}
class RequestContext {
constructor(private ctx: GlobalContext) {}
hello() {
return 'world';
}
greet() {
console.log(`say hello ${this.hello()}`);
}
}
declare module '@wundergraph/sdk/server' {
export interface CustomContext {
global: GlobalContext;
request: RequestContext;
}
}
export default configureWunderGraphServer(() => ({
hooks: {
queries: {},
mutations: {},
},
context: {
global: {
create: async () => {
return new GlobalContext();
},
release: async (ctx) => {},
},
request: {
create: async (ctx) => {
return new RequestContext(ctx);
},
release: async (ctx) => {},
},
},
}));

This will make your custom context available in operations, hooks, webhooks and embedded GraphQL servers. For more information, see the Context Factory guide.

Was this article helpful to you?
Provide feedback

Edit this page