diff options
| author | Wes Bos <wesbos@gmail.com> | 2017-08-25 09:33:53 -0400 |
|---|---|---|
| committer | Wes Bos <wesbos@gmail.com> | 2017-08-25 09:33:53 -0400 |
| commit | 7af74ff8988961c988f03c95961b70c2918521ae (patch) | |
| tree | d73cd0dd94751b76595b7febcae4162811c2040b /lib | |
| parent | 416c2cbae0e69b724876d232bf813eefd7550174 (diff) | |
yay
Diffstat (limited to 'lib')
| -rw-r--r-- | lib/image.js | 5 | ||||
| -rw-r--r-- | lib/initApollo.js | 32 |
2 files changed, 31 insertions, 6 deletions
diff --git a/lib/image.js b/lib/image.js new file mode 100644 index 0000000..40045b3 --- /dev/null +++ b/lib/image.js @@ -0,0 +1,5 @@ +// TODO: Put the project ID in a config file. +export default function(image, width = 300, height = 300) { + if(!image || !image.secret) return ''; + return `https://images.graph.cool/v1/cj5xz8szs28930145gct82bdj/${image.secret}/${width}x${height}`; +} diff --git a/lib/initApollo.js b/lib/initApollo.js index 4ca3b05..de5c7f2 100644 --- a/lib/initApollo.js +++ b/lib/initApollo.js @@ -9,15 +9,35 @@ if (!process.browser) { } function create (initialState) { + + const networkInterface = createNetworkInterface({ + uri: 'https://api.graph.cool/simple/v1/cj5xz8szs28930145gct82bdj', // Server URL (must be absolute) + opts: { // Additional fetch() options like `credentials` or `headers` + credentials: 'same-origin', + } + }); + + // use the auth0IdToken in localStorage for authorized requests + networkInterface.use([ + { + applyMiddleware(req, next) { + if (!req.options.headers) { + req.options.headers = {}; + } + + // get the authentication token from local storage if it exists + if (typeof localStorage !== 'undefined' && localStorage.getItem("auth0IdToken")) { + req.options.headers.authorization = `Bearer ${localStorage.getItem("auth0IdToken")}`; + } + next(); + } + } + ]); + return new ApolloClient({ initialState, ssrMode: !process.browser, // Disables forceFetch on the server (so queries are only run once) - networkInterface: createNetworkInterface({ - uri: 'https://api.graph.cool/simple/v1/cj5xz8szs28930145gct82bdj', // Server URL (must be absolute) - opts: { // Additional fetch() options like `credentials` or `headers` - credentials: 'same-origin' - } - }) + networkInterface }) } |
