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-and-redux/lib/initClient.js

29 lines
768 B
JavaScript
Raw Normal View History

import { ApolloClient, createNetworkInterface } from 'react-apollo'
let apolloClient = null
function _initClient (headers, initialState) {
return new ApolloClient({
initialState,
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, initialState = {}) => {
if (!process.browser) {
return _initClient(headers, initialState)
}
if (!apolloClient) {
apolloClient = _initClient(headers, initialState)
}
return apolloClient
}