const apolloClient = new ApolloClient({ link: new ApolloLink((operation, forward) => { return forward(operation).map(response => { const context = operation.getContext(); const {
function main() { const subscriptionClient = createSubscriptionObservable( 'https://test-gql-sub.herokuapp.com/v1alpha1/graphql', // GraphQL endpoint SUBSCRIBE_QUERY, // Subscription query {id: 1} // Query variables ); var consumer = subscriptionClient.subscribe(eventData => { // Do something on receipt of the event console.log("Received event: "); console.log(JSON.stringify(eventData, null, 2)); }, (err) => { console.log('Err'); console.log(err); }); }
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 })
const subscription = DataStore.observe(Crypto).subscribe(() => fetchCryptos()) return () => subscription.unsubscribe() })
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; } )