diff options
Diffstat (limited to 'frontend/lib/initApollo.js')
| -rw-r--r-- | frontend/lib/initApollo.js | 43 |
1 files changed, 0 insertions, 43 deletions
diff --git a/frontend/lib/initApollo.js b/frontend/lib/initApollo.js deleted file mode 100644 index 4204bdc..0000000 --- a/frontend/lib/initApollo.js +++ /dev/null @@ -1,43 +0,0 @@ -import ApolloClient from 'apollo-boost'; -import { InMemoryCache } from 'apollo-boost'; -import fetch from 'isomorphic-fetch'; -import { endpoint } from '../config'; - -// Polyfill fetch() on the server (used by apollo-client) -if (!process.browser) { - global.fetch = fetch; -} - -let apolloClient = null; - -function create(initialState) { - return new ApolloClient({ - uri: endpoint, - cache: new InMemoryCache().restore(initialState || {}), - ssrMode: !process.browser, // Disables forceFetch on the server (so queries are only run once) - request: operation => { - if (typeof localStorage !== 'undefined' && localStorage.getItem('token')) { - operation.setContext({ - headers: { - authorization: `Bearer ${localStorage.getItem('token')}`, - }, - }); - } - }, - }); -} - -export default function initApollo(initialState) { - // Make sure to create a new client for every server-side request so that data - // isn't shared between connections (which would be bad) - if (!process.browser) { - return create(initialState); - } - - // Reuse client on the client-side - if (!apolloClient) { - apolloClient = create(initialState); - } - - return apolloClient; -} |
