function createClient(headers, token, initialState) { let accessToken = token; (async () => { // eslint-disable-next-line no-param-reassign accessToken = token || (await persist.willGetAccessToken()); })(); const authLink = new ApolloLink((operation, forward) => { operation.setContext({ headers: { authorization: accessToken } }); return forward(operation); }).concat(httpLink); return new ApolloClient({ headers, link: authLink, connectToDevTools: process.browser, ssrMode: !process.browser, cache: new InMemoryCache().restore(initialState || {}) }); }
link: new ApolloLink((operation, forward) => { return forward(operation).map(response => { const context = operation.getContext(); const { response: { headers },
operation.setContext( ( { headers = {} } ) => ( { headers: { "woocommerce-session": `Session ${ session }` } } ) );
function createClient({ headers }) { return new ApolloClient({ uri: process.env.NODE_ENV === 'development' ? endpoint : endpoint, request: operation => { operation.setContext({ fetchOptions: { credentials: 'include', }, headers, }); }, }); }
forward(operation).map(response => { const { response: { headers } } = operation.getContext() if (headers) { const token = headers.get('x-token') // const refreshToken = headers.get('x-refresh-token') if (token) { localStorage.setItem('token', token) } /* UNCOMMENT FOR REFRESH TOKENS if (refreshToken) { localStorage.setItem('refreshToken', refreshToken) } */ } return response })
export function generateClient(token) { if (token.length !== TOKEN_LENGTH) { return null; } const client = new ApolloClient({ uri: "https://api.github.com/graphql", request: operation => { operation.setContext({ headers: { authorization: "Bearer " + token } }); } }); return client; }
function _default(options) { var links = [(0, _onError["default"])(options)]; if (options.useSubscriptions) { var httpLink = (0, _createHttpLink["default"])(options); var wsLink = (0, _createWsLink["default"])(options); var link = (0, _apolloLink.split)(function (_ref) { var query = _ref.query; var _getMainDefinition = (0, _apolloUtilities.getMainDefinition)(query), kind = _getMainDefinition.kind, operation = _getMainDefinition.operation; return kind === 'OperationDefinition' && operation === 'subscription'; }, wsLink, httpLink); links.push(link); } else { links.push((0, _createHttpLink["default"])(options)); } return _apolloLink.ApolloLink.from(links); }
const queryOrMutationLink = (config = {}) => new ApolloLink((operation, forward) => { operation.setContext({ credentials: 'same-origin', headers: { authorization: `Bearer ${localStorage.getItem('auth_token')}` } }); return forward(operation); }).concat( new HttpLink({ uri: 'http://localhost:5000/graphql', ...config, }) )
forward(operation).map(response => { const context = operation.getContext() const { response: { headers } } = context if (headers) { const token = headers.get("x-token") const refresh_token = headers.get("x-refresh-token") if (token) { localStorage.setItem(AUTH_TOKEN, token) localStorage.setItem(REFRESH_TOKEN, refresh_token) } } // //Se puede manipular datos cuando llegan de graphql // if (response.data.user.lastLoginDate) { // // } //redireccionar en caso de error if(response.errors && response.errors.length>0){ if(response.errors[0].message==='Not authenticated'){ localStorage.removeItem('token'); localStorage.removeItem('refreshToken'); window.location = "/login" } } return response; })
operation.setContext(({ headers = {} }) => ({ headers: { ...headers, 'meteor-login-token': getUserToken() } }))
forward( operation ).map( response => { /** * Check for session header and update session in local storage accordingly. */ const context = operation.getContext(); const { response: { headers } } = context; const session = headers.get( "woocommerce-session" ); if ( session ) { // Remove session data if session destroyed. if ( "false" === session ) { localStorage.removeItem( "woo-session" ); // Update session new data if changed. } else if ( localStorage.getItem( "woo-session" ) !== session ) { localStorage.setItem( "woo-session", headers.get( "woocommerce-session" ) ); } } return response; } )
operation.setContext(({ headers = {} }) => ({ headers: { ...headers, 'accept-language': getLanguage() } }))
function createClient({ headers }) { return new ApolloClient({ uri: process.env.NODE_ENV === 'development' ? endpoint : endpoint, request: operation => { operation.setContext({ fetchOptions: { credentials: 'include', }, headers, }); }, }); }
function createClient({ headers }) { return new ApolloClient({ uri: process.env.NODE_ENV === 'development' ? endpoint : endpoint, request: operation => { operation.setContext({ fetchOptions: { credentials: 'include', }, headers, }); }, }); }
function createClient({ headers }) { return new ApolloClient({ uri: process.env.NODE_ENV === 'development' ? endpoint : endpoint, request: operation => { operation.setContext({ fetchOptions: { credentials: 'include', }, headers, }); }, }); }