summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKushal Pandya <kushalspandya@gmail.com>2019-04-25 12:25:21 +0530
committerKushal Pandya <kushalspandya@gmail.com>2019-04-25 12:25:21 +0530
commit8e808bc221f1a7050629346df3748a6c608ff497 (patch)
tree774516b88b828216b5c8670ad8d0eeaa315eb829
parentd8d57f23b26df6c0d07fc7911edee16a70a775f0 (diff)
downloadgitlab-ce-8e808bc221f1a7050629346df3748a6c608ff497.tar.gz
Add support for baseUrl in ApolloClient instance
Add support for providing baseUrl/rootUrl within `uri` while creating ApolloClient instance.
-rw-r--r--app/assets/javascripts/lib/graphql.js14
1 files changed, 11 insertions, 3 deletions
diff --git a/app/assets/javascripts/lib/graphql.js b/app/assets/javascripts/lib/graphql.js
index ae02559415c..498c2348ca2 100644
--- a/app/assets/javascripts/lib/graphql.js
+++ b/app/assets/javascripts/lib/graphql.js
@@ -3,10 +3,17 @@ import { InMemoryCache } from 'apollo-cache-inmemory';
import { createUploadLink } from 'apollo-upload-client';
import csrf from '~/lib/utils/csrf';
-export default (resolvers = {}) =>
- new ApolloClient({
+export default (resolvers = {}, baseUrl = '') => {
+ let uri = `${gon.relative_url_root}/api/graphql`;
+
+ if (baseUrl) {
+ // Prepend baseUrl and ensure that `///` are replaced with `/`
+ uri = `${baseUrl}${uri}`.replace(/\/{3,}/g, '/');
+ }
+
+ return new ApolloClient({
link: createUploadLink({
- uri: `${gon.relative_url_root}/api/graphql`,
+ uri,
headers: {
[csrf.headerKey]: csrf.token,
},
@@ -14,3 +21,4 @@ export default (resolvers = {}) =>
cache: new InMemoryCache(),
resolvers,
});
+};