diff --git a/apps/web/apollo/client.js b/apps/web/apollo/client.js index cb3b5fd..442f4cd 100644 --- a/apps/web/apollo/client.js +++ b/apps/web/apollo/client.js @@ -14,6 +14,10 @@ function createApolloClient(headers) { } export default function initializeApollo(initialState, headers) { + if (isServer() && !headers) { + throw new Error('initializeApollo: headers must be provided in server side'); + } + const _apolloClient = apolloClient ?? createApolloClient(headers); // If your page has Next.js data fetching methods that use Apollo Client, the initial state diff --git a/apps/web/server/routers/elt/kasko.ts b/apps/web/server/routers/elt/kasko.ts index ec6ace9..d255a7c 100644 --- a/apps/web/server/routers/elt/kasko.ts +++ b/apps/web/server/routers/elt/kasko.ts @@ -13,9 +13,9 @@ export const eltKaskoRouter = router({ eltKasko: protectedProcedure .input(EltInputSchema) .output(EltOutputSchema) - .mutation(async ({ input }) => { + .mutation(async ({ input, ctx }) => { try { - const apolloClient = initializeApollo(); + const apolloClient = initializeApollo(null, ctx.headers); const store = new RootStore(); store.$calculation.$values.hydrate(input.calculation.values); diff --git a/apps/web/server/routers/elt/osago.ts b/apps/web/server/routers/elt/osago.ts index 48f69c8..04c804c 100644 --- a/apps/web/server/routers/elt/osago.ts +++ b/apps/web/server/routers/elt/osago.ts @@ -13,9 +13,9 @@ export const eltOsagoRouter = router({ eltOsago: protectedProcedure .input(EltInputSchema) .output(EltOutputSchema) - .mutation(async ({ input }) => { + .mutation(async ({ input, ctx }) => { try { - const apolloClient = initializeApollo(); + const apolloClient = initializeApollo(null, ctx.headers); const store = new RootStore(); store.$calculation.$values.hydrate(input.calculation.values);