summaryrefslogtreecommitdiff
path: root/app/assets
diff options
context:
space:
mode:
authorFilipa Lacerda <filipa@gitlab.com>2019-05-30 08:50:55 +0000
committerFilipa Lacerda <filipa@gitlab.com>2019-05-30 08:50:55 +0000
commit0e2336442636cdb7f5082b652ff5332d78855e9a (patch)
tree49abd3b4c433052f7a371fbba942d03b157c459a /app/assets
parent9b3672ec3bc3a47863db5b4a53e73e9afa81e473 (diff)
parentbcf01adaa089f258a7660eff740c9bf2eddfadc8 (diff)
downloadgitlab-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.js20
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,
});