Ocelot-Social/webapp/plugins/apollo-config.js
2020-12-21 13:41:42 +01:00

26 lines
810 B
JavaScript

import { InMemoryCache, IntrospectionFragmentMatcher } from 'apollo-cache-inmemory'
import introspectionQueryResultData from './apollo-config/fragmentTypes.json'
import metadata from '~/constants/metadata'
const fragmentMatcher = new IntrospectionFragmentMatcher({
introspectionQueryResultData,
})
export default ({ req, nuxtState }) => {
const { env } = req || nuxtState
const backendUrl = env.GRAPHQL_URI || 'http://localhost:4000'
return {
wsEndpoint: env.WEBSOCKETS_URI || 'ws://localhost:4000/graphql',
httpEndpoint: process.server ? backendUrl : '/api',
httpLinkOptions: {
credentials: 'same-origin',
},
credentials: true,
tokenName: metadata.COOKIE_NAME,
persisting: false,
websocketsOnly: false,
cache: new InMemoryCache({ fragmentMatcher }),
}
}