mirror of
https://github.com/sergeyyarkov/next-apollo-graphql-setup.git
synced 2026-10-11 10:19:43 +03:00
19 lines
726 B
JavaScript
19 lines
726 B
JavaScript
import { ApolloClient } from 'apollo-client'
|
|
import { InMemoryCache } from 'apollo-cache-inmemory'
|
|
import { HttpLink } from 'apollo-link-http'
|
|
import fetch from 'isomorphic-unfetch'
|
|
|
|
export default function createApolloClient (initialState, ctx) {
|
|
// The `ctx` (NextPageContext) will only be present on the server.
|
|
// use it to extract auth headers (ctx.req) or similar.
|
|
return new ApolloClient({
|
|
ssrMode: Boolean(ctx),
|
|
link: new HttpLink({
|
|
uri: 'https://next-blog-example.herokuapp.com/graphql', // Server URL (must be absolute)
|
|
credentials: 'same-origin', // Additional fetch() options like `credentials` or `headers`
|
|
fetch
|
|
}),
|
|
cache: new InMemoryCache().restore(initialState)
|
|
})
|
|
}
|