wundergraph.server.ts Reference

Custom Resolve Hook

The customResolve hook allows you to override the default resolve behavior of WunderGraph. If you're not defining this hook, the WunderGraph execution engine will use the default resolve behavior. This means, it will call into one or more origins, fetch data from them and return the result.

With a customResolve hook, this behavior can be overridden.

Similar to all other hooks, the customResolve hook is called with the following parameters:

  • user: The user object when the user is authenticated
  • clientRequest: The original client request object, including Headers
  • log: The logger object
  • internalClient: The internal client object
  • response: The response object (only for postResolve hooks)
  • input: The input object (only for Operation hooks)

With the internalClient, you're able to securely call into all defined Operations, e.g. to talk to a database or another service to enrich a response or manipulate the inputs of an Operation.

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
// wundergraph.server.ts
export default configureWunderGraphServer<HooksConfig, InternalClient>(() => ({
hooks: {
queries: {
Dragons: {
customResolve: async ({
user,
clientRequest,
log,
input,
internalClient,
}) => {
return {
data: {
dragons: [
{
name: 'Dragon 1',
},
],
},
}
},
},
},
},
}))

Was this article helpful to you?
Provide feedback

Edit this page