// Copyright (C) 2018 Storj Labs, Inc. // See LICENSE for copying information. import {HttpLink} from "apollo-link-http"; import ApolloClient from "apollo-client/ApolloClient"; import {InMemoryCache} from "apollo-cache-inmemory"; import { setContext } from "apollo-link-context"; import { getToken } from "../utils/tokenManager" // Satellite url const satelliteUrl = new HttpLink({ uri: 'http://localhost:8081/api/graphql/v0', }); // Adding auth headers const authLink = setContext((_, { headers }) => { // get the authentication token from local storage if it exists const token = getToken(); // return the headers to the context so httpLink can read them return { headers: { ...headers, authorization: token ? `Bearer ${token}` : "", } } }); // Creating apollo client export default new ApolloClient({ link: authLink.concat(satelliteUrl), cache: new InMemoryCache(), connectToDevTools: true, });