1
0
Fork 0
mirror of https://github.com/terribleplan/next.js.git synced 2024-01-19 02:48:18 +00:00
next.js/examples/with-apollo/lib/initClient.js

28 lines
693 B
JavaScript
Raw Normal View History

import ApolloClient, { createNetworkInterface } from 'apollo-client'
let apolloClient = null
function createClient (headers) {
return new ApolloClient({
ssrMode: !process.browser,
dataIdFromObject: result => result.id || null,
networkInterface: createNetworkInterface({
uri: 'https://api.graph.cool/simple/v1/cixmkt2ul01q00122mksg82pn',
opts: {
credentials: 'same-origin'
// Pass headers here if your graphql server requires them
}
})
})
}
export const initClient = (headers) => {
if (!process.browser) {
return createClient(headers)
}
if (!apolloClient) {
apolloClient = createClient(headers)
}
return apolloClient
}