diff options
author | Filipa Lacerda <filipa@gitlab.com> | 2019-05-30 08:50:55 +0000 |
---|---|---|
committer | Filipa Lacerda <filipa@gitlab.com> | 2019-05-30 08:50:55 +0000 |
commit | 0e2336442636cdb7f5082b652ff5332d78855e9a (patch) | |
tree | 49abd3b4c433052f7a371fbba942d03b157c459a /app/assets | |
parent | 9b3672ec3bc3a47863db5b4a53e73e9afa81e473 (diff) | |
parent | bcf01adaa089f258a7660eff740c9bf2eddfadc8 (diff) | |
download | gitlab-ce-0e2336442636cdb7f5082b652ff5332d78855e9a.tar.gz |
Merge branch 'graphql-batch-requests-ee' into 'master'
Enable GraphQL batch requests
See merge request gitlab-org/gitlab-ce!28370
Diffstat (limited to 'app/assets')
-rw-r--r-- | app/assets/javascripts/lib/graphql.js | 20 |
1 files changed, 14 insertions, 6 deletions
diff --git a/app/assets/javascripts/lib/graphql.js b/app/assets/javascripts/lib/graphql.js index 47e91dedd5a..5857f9e22ae 100644 --- a/app/assets/javascripts/lib/graphql.js +++ b/app/assets/javascripts/lib/graphql.js @@ -1,6 +1,8 @@ import { ApolloClient } from 'apollo-client'; import { InMemoryCache } from 'apollo-cache-inmemory'; import { createUploadLink } from 'apollo-upload-client'; +import { ApolloLink } from 'apollo-link'; +import { BatchHttpLink } from 'apollo-link-batch-http'; import csrf from '~/lib/utils/csrf'; export default (resolvers = {}, config = {}) => { @@ -11,13 +13,19 @@ export default (resolvers = {}, config = {}) => { uri = `${config.baseUrl}${uri}`.replace(/\/{3,}/g, '/'); } + const httpOptions = { + uri, + headers: { + [csrf.headerKey]: csrf.token, + }, + }; + return new ApolloClient({ - link: createUploadLink({ - uri, - headers: { - [csrf.headerKey]: csrf.token, - }, - }), + link: ApolloLink.split( + operation => operation.getContext().hasUpload, + createUploadLink(httpOptions), + new BatchHttpLink(httpOptions), + ), cache: new InMemoryCache(config.cacheConfig), resolvers, }); |