@commercetools-frontend/application-shell 21.10.0 → 21.11.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (36) hide show
  1. package/dist/{application-entry-point-9a23a345.cjs.prod.js → application-entry-point-06ad02d5.cjs.prod.js} +210 -53
  2. package/dist/{application-entry-point-a5b662f7.esm.js → application-entry-point-28843eb4.esm.js} +205 -51
  3. package/dist/{application-entry-point-4de6686c.cjs.dev.js → application-entry-point-6189b3a3.cjs.dev.js} +210 -53
  4. package/dist/commercetools-frontend-application-shell.cjs.dev.js +16 -16
  5. package/dist/commercetools-frontend-application-shell.cjs.prod.js +16 -16
  6. package/dist/commercetools-frontend-application-shell.esm.js +13 -13
  7. package/dist/declarations/src/configure-apollo.d.ts +1 -2
  8. package/dist/declarations/src/export-types.d.ts +2 -2
  9. package/dist/declarations/src/utils/apollo-client-runtime-cache.d.ts +1 -2
  10. package/dist/declarations/src/utils/apollo-context.d.ts +3 -14
  11. package/dist/declarations/src/utils/http-client.d.ts +10 -0
  12. package/dist/{index-e96ff96a.cjs.prod.js → index-4ebc615c.cjs.prod.js} +99 -261
  13. package/dist/{index-5062ecc2.esm.js → index-5fcda492.esm.js} +102 -259
  14. package/dist/{index-f576ae07.cjs.dev.js → index-bcff2029.cjs.dev.js} +99 -261
  15. package/dist/{project-expired-609688e8.esm.js → project-expired-53f0f1ff.esm.js} +14 -14
  16. package/dist/{project-expired-1f22bb6e.cjs.dev.js → project-expired-96b88908.cjs.dev.js} +14 -14
  17. package/dist/{project-expired-3802e644.cjs.prod.js → project-expired-9fb2e01b.cjs.prod.js} +14 -14
  18. package/dist/{project-not-found-345a1103.cjs.prod.js → project-not-found-17e74630.cjs.prod.js} +14 -14
  19. package/dist/{project-not-found-2bf5f586.cjs.dev.js → project-not-found-30c140be.cjs.dev.js} +14 -14
  20. package/dist/{project-not-found-931cbb6b.esm.js → project-not-found-e8ca2011.esm.js} +14 -14
  21. package/dist/{project-not-initialized-24d58aac.cjs.dev.js → project-not-initialized-8bec4622.cjs.dev.js} +14 -14
  22. package/dist/{project-not-initialized-f840b682.cjs.prod.js → project-not-initialized-c5116ce2.cjs.prod.js} +14 -14
  23. package/dist/{project-not-initialized-69a8f77c.esm.js → project-not-initialized-c83c731d.esm.js} +14 -14
  24. package/dist/{project-suspended-b650b271.esm.js → project-suspended-14419c20.esm.js} +14 -14
  25. package/dist/{project-suspended-a21d49f2.cjs.dev.js → project-suspended-748201e1.cjs.dev.js} +14 -14
  26. package/dist/{project-suspended-283ebad8.cjs.prod.js → project-suspended-892ad1b9.cjs.prod.js} +14 -14
  27. package/dist/{quick-access-6368a1c1.cjs.prod.js → quick-access-a451f632.cjs.prod.js} +11 -11
  28. package/dist/{quick-access-193a477e.esm.js → quick-access-b0132ced.esm.js} +11 -11
  29. package/dist/{quick-access-d42f4898.cjs.dev.js → quick-access-c08139f1.cjs.dev.js} +11 -11
  30. package/dist/{service-page-project-switcher-5e28ee0f.cjs.prod.js → service-page-project-switcher-4b7ab3ee.cjs.prod.js} +1 -1
  31. package/dist/{service-page-project-switcher-ea8878cf.esm.js → service-page-project-switcher-53ffca17.esm.js} +1 -1
  32. package/dist/{service-page-project-switcher-5d2bef22.cjs.dev.js → service-page-project-switcher-c99348cd.cjs.dev.js} +1 -1
  33. package/package.json +16 -16
  34. package/test-utils/dist/commercetools-frontend-application-shell-test-utils.cjs.dev.js +12 -2
  35. package/test-utils/dist/commercetools-frontend-application-shell-test-utils.cjs.prod.js +12 -2
  36. package/test-utils/dist/commercetools-frontend-application-shell-test-utils.esm.js +12 -2
@@ -36,7 +36,6 @@ import { reportErrorToSentry } from '@commercetools-frontend/sentry';
36
36
  import _URL from '@babel/runtime-corejs3/core-js-stable/url';
37
37
  import _findInstanceProperty from '@babel/runtime-corejs3/core-js-stable/instance/find';
38
38
  import { ApolloLink, createHttpLink, ApolloClient, from, InMemoryCache } from '@apollo/client';
39
- import createHttpUserAgent from '@commercetools/http-user-agent';
40
39
  import loggerLink from 'apollo-link-logger';
41
40
  import _Array$from from '@babel/runtime-corejs3/core-js-stable/array/from';
42
41
  import _Symbol from '@babel/runtime-corejs3/core-js-stable/symbol';
@@ -47,8 +46,19 @@ import history from '@commercetools-frontend/browser-history';
47
46
  import _someInstanceProperty from '@babel/runtime-corejs3/core-js-stable/instance/some';
48
47
  import _Object$values from '@babel/runtime-corejs3/core-js-stable/object/values';
49
48
  import _mapInstanceProperty from '@babel/runtime-corejs3/core-js-stable/instance/map';
49
+ import createHttpUserAgent from '@commercetools/http-user-agent';
50
50
  import { v4 } from 'uuid';
51
51
  import _JSON$stringify from '@babel/runtime-corejs3/core-js-stable/json/stringify';
52
+ import _Reflect$construct from '@babel/runtime-corejs3/core-js-stable/reflect/construct';
53
+ import _asyncToGenerator from '@babel/runtime-corejs3/helpers/esm/asyncToGenerator';
54
+ import _createClass from '@babel/runtime-corejs3/helpers/esm/createClass';
55
+ import _classCallCheck from '@babel/runtime-corejs3/helpers/esm/classCallCheck';
56
+ import _assertThisInitialized from '@babel/runtime-corejs3/helpers/esm/assertThisInitialized';
57
+ import _inherits from '@babel/runtime-corejs3/helpers/esm/inherits';
58
+ import _possibleConstructorReturn from '@babel/runtime-corejs3/helpers/esm/possibleConstructorReturn';
59
+ import _getPrototypeOf from '@babel/runtime-corejs3/helpers/esm/getPrototypeOf';
60
+ import _wrapNativeSuper from '@babel/runtime-corejs3/helpers/esm/wrapNativeSuper';
61
+ import _regeneratorRuntime from '@babel/runtime-corejs3/regenerator';
52
62
  import { RetryLink } from '@apollo/client/link/retry';
53
63
  import _pt from 'prop-types';
54
64
  import { useEffect, Children } from 'react';
@@ -60,7 +70,7 @@ import { entryPointUriPathToPermissionKeys } from '@commercetools-frontend/appli
60
70
  import { useApplicationContext } from '@commercetools-frontend/application-shell-connectors';
61
71
 
62
72
  // NOTE: This string will be replaced on build time with the package version.
63
- var version = "21.10.0";
73
+ var version = "21.11.0";
64
74
 
65
75
  var isAddNotificationErrorAction = function isAddNotificationErrorAction(action) {
66
76
  var errorAction = action;
@@ -188,9 +198,9 @@ var messages = defineMessages({
188
198
  }
189
199
  });
190
200
 
191
- function ownKeys$5(object, enumerableOnly) { var keys = _Object$keys(object); if (_Object$getOwnPropertySymbols) { var symbols = _Object$getOwnPropertySymbols(object); enumerableOnly && (symbols = _filterInstanceProperty(symbols).call(symbols, function (sym) { return _Object$getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
201
+ function ownKeys$6(object, enumerableOnly) { var keys = _Object$keys(object); if (_Object$getOwnPropertySymbols) { var symbols = _Object$getOwnPropertySymbols(object); enumerableOnly && (symbols = _filterInstanceProperty(symbols).call(symbols, function (sym) { return _Object$getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
192
202
 
193
- function _objectSpread$5(target) { for (var i = 1; i < arguments.length; i++) { var _context, _context2; var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? _forEachInstanceProperty(_context = ownKeys$5(Object(source), !0)).call(_context, function (key) { _defineProperty(target, key, source[key]); }) : _Object$getOwnPropertyDescriptors ? _Object$defineProperties(target, _Object$getOwnPropertyDescriptors(source)) : _forEachInstanceProperty(_context2 = ownKeys$5(Object(source))).call(_context2, function (key) { _Object$defineProperty(target, key, _Object$getOwnPropertyDescriptor(source, key)); }); } return target; }
203
+ function _objectSpread$6(target) { for (var i = 1; i < arguments.length; i++) { var _context, _context2; var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? _forEachInstanceProperty(_context = ownKeys$6(Object(source), !0)).call(_context, function (key) { _defineProperty(target, key, source[key]); }) : _Object$getOwnPropertyDescriptors ? _Object$defineProperties(target, _Object$getOwnPropertyDescriptors(source)) : _forEachInstanceProperty(_context2 = ownKeys$6(Object(source))).call(_context2, function (key) { _Object$defineProperty(target, key, _Object$getOwnPropertyDescriptor(source, key)); }); } return target; }
194
204
 
195
205
  var getPortalContainer = function getPortalContainer() {
196
206
  return process.env.NODE_ENV === 'test' ? document.body : document.querySelector("#".concat(REQUESTS_IN_FLIGHT_LOADER_DOM_ID));
@@ -202,7 +212,7 @@ var RequestsInFlightLoader = function RequestsInFlightLoader() {
202
212
  });
203
213
  if (!hasRequestsInFlight) return null;
204
214
  return /*#__PURE__*/ReactDOM.createPortal(jsx(LoadingSpinner, {
205
- children: jsx(FormattedMessage, _objectSpread$5({}, messages.labelLoading))
215
+ children: jsx(FormattedMessage, _objectSpread$6({}, messages.labelLoading))
206
216
  }), getPortalContainer());
207
217
  };
208
218
 
@@ -429,9 +439,9 @@ var setSessionState = function setSessionState(stateId, state) {
429
439
  window.sessionStorage.setItem(sessionStateKey, _JSON$stringify(state));
430
440
  };
431
441
 
432
- function ownKeys$4(object, enumerableOnly) { var keys = _Object$keys(object); if (_Object$getOwnPropertySymbols) { var symbols = _Object$getOwnPropertySymbols(object); enumerableOnly && (symbols = _filterInstanceProperty(symbols).call(symbols, function (sym) { return _Object$getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
442
+ function ownKeys$5(object, enumerableOnly) { var keys = _Object$keys(object); if (_Object$getOwnPropertySymbols) { var symbols = _Object$getOwnPropertySymbols(object); enumerableOnly && (symbols = _filterInstanceProperty(symbols).call(symbols, function (sym) { return _Object$getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
433
443
 
434
- function _objectSpread$4(target) { for (var i = 1; i < arguments.length; i++) { var _context3, _context4; var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? _forEachInstanceProperty(_context3 = ownKeys$4(Object(source), !0)).call(_context3, function (key) { _defineProperty(target, key, source[key]); }) : _Object$getOwnPropertyDescriptors ? _Object$defineProperties(target, _Object$getOwnPropertyDescriptors(source)) : _forEachInstanceProperty(_context4 = ownKeys$4(Object(source))).call(_context4, function (key) { _Object$defineProperty(target, key, _Object$getOwnPropertyDescriptor(source, key)); }); } return target; }
444
+ function _objectSpread$5(target) { for (var i = 1; i < arguments.length; i++) { var _context3, _context4; var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? _forEachInstanceProperty(_context3 = ownKeys$5(Object(source), !0)).call(_context3, function (key) { _defineProperty(target, key, source[key]); }) : _Object$getOwnPropertyDescriptors ? _Object$defineProperties(target, _Object$getOwnPropertyDescriptors(source)) : _forEachInstanceProperty(_context4 = ownKeys$5(Object(source))).call(_context4, function (key) { _Object$defineProperty(target, key, _Object$getOwnPropertyDescriptor(source, key)); }); } return target; }
435
445
 
436
446
  var identityStoreEnhancer = function identityStoreEnhancer(noop) {
437
447
  return noop;
@@ -444,7 +454,7 @@ var mergeObjectValues = function mergeObjectValues(object) {
444
454
  var _ref2 = _slicedToArray(_ref, 2),
445
455
  value = _ref2[1];
446
456
 
447
- return _objectSpread$4(_objectSpread$4({}, acc), value);
457
+ return _objectSpread$5(_objectSpread$5({}, acc), value);
448
458
  }, {});
449
459
  };
450
460
 
@@ -489,7 +499,7 @@ var createInternalReducer = function createInternalReducer() {
489
499
  }); // NOTE: since we don't know in advance which reducers will be injected,
490
500
  // we pass an `unknown` type to express this uncertainty and make the compiler happy.
491
501
 
492
- return combineReducers(_objectSpread$4(_objectSpread$4({
502
+ return combineReducers(_objectSpread$5(_objectSpread$5({
493
503
  requestsInFlight: requestsInFlightReducer,
494
504
  notifications: reducer
495
505
  }, injectedReducers), preloadedStateReducers));
@@ -532,9 +542,9 @@ var createReduxStore = function createReduxStore() {
532
542
  };
533
543
  var internalReduxStore = createReduxStore();
534
544
 
535
- function ownKeys$3(object, enumerableOnly) { var keys = _Object$keys(object); if (_Object$getOwnPropertySymbols) { var symbols = _Object$getOwnPropertySymbols(object); enumerableOnly && (symbols = _filterInstanceProperty(symbols).call(symbols, function (sym) { return _Object$getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
545
+ function ownKeys$4(object, enumerableOnly) { var keys = _Object$keys(object); if (_Object$getOwnPropertySymbols) { var symbols = _Object$getOwnPropertySymbols(object); enumerableOnly && (symbols = _filterInstanceProperty(symbols).call(symbols, function (sym) { return _Object$getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
536
546
 
537
- function _objectSpread$3(target) { for (var i = 1; i < arguments.length; i++) { var _context2, _context3; var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? _forEachInstanceProperty(_context2 = ownKeys$3(Object(source), !0)).call(_context2, function (key) { _defineProperty(target, key, source[key]); }) : _Object$getOwnPropertyDescriptors ? _Object$defineProperties(target, _Object$getOwnPropertyDescriptors(source)) : _forEachInstanceProperty(_context3 = ownKeys$3(Object(source))).call(_context3, function (key) { _Object$defineProperty(target, key, _Object$getOwnPropertyDescriptor(source, key)); }); } return target; }
547
+ function _objectSpread$4(target) { for (var i = 1; i < arguments.length; i++) { var _context2, _context3; var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? _forEachInstanceProperty(_context2 = ownKeys$4(Object(source), !0)).call(_context2, function (key) { _defineProperty(target, key, source[key]); }) : _Object$getOwnPropertyDescriptors ? _Object$defineProperties(target, _Object$getOwnPropertyDescriptors(source)) : _forEachInstanceProperty(_context3 = ownKeys$4(Object(source))).call(_context3, function (key) { _Object$defineProperty(target, key, _Object$getOwnPropertyDescriptor(source, key)); }); } return target; }
538
548
 
539
549
  var getSkipTokenRetry = function getSkipTokenRetry(context) {
540
550
  var skipTokenRetry = Boolean(context.skipTokenRetry);
@@ -542,7 +552,7 @@ var getSkipTokenRetry = function getSkipTokenRetry(context) {
542
552
  };
543
553
 
544
554
  var forwardTokenRetryHeader = function forwardTokenRetryHeader(headers) {
545
- return _objectSpread$3(_objectSpread$3({}, headers), {}, _defineProperty({}, SUPPORTED_HEADERS.X_TOKEN_RETRY, 'true'));
555
+ return _objectSpread$4(_objectSpread$4({}, headers), {}, _defineProperty({}, SUPPORTED_HEADERS.X_TOKEN_RETRY, 'true'));
546
556
  }; // This link retries requests to the CTP API that have been rejected
547
557
  // because of an invalid/expired oauth token.
548
558
  // To do so, we resend the request with the header "X-Force-Token: true"
@@ -633,30 +643,189 @@ var errorLink = onError(function (_ref) {
633
643
  return;
634
644
  });
635
645
 
636
- function ownKeys$2(object, enumerableOnly) { var keys = _Object$keys(object); if (_Object$getOwnPropertySymbols) { var symbols = _Object$getOwnPropertySymbols(object); enumerableOnly && (symbols = _filterInstanceProperty(symbols).call(symbols, function (sym) { return _Object$getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
646
+ function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = _Reflect$construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }
637
647
 
638
- function _objectSpread$2(target) { for (var i = 1; i < arguments.length; i++) { var _context5, _context6; var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? _forEachInstanceProperty(_context5 = ownKeys$2(Object(source), !0)).call(_context5, function (key) { _defineProperty(target, key, source[key]); }) : _Object$getOwnPropertyDescriptors ? _Object$defineProperties(target, _Object$getOwnPropertyDescriptors(source)) : _forEachInstanceProperty(_context6 = ownKeys$2(Object(source))).call(_context6, function (key) { _Object$defineProperty(target, key, _Object$getOwnPropertyDescriptor(source, key)); }); } return target; }
648
+ function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !_Reflect$construct) return false; if (_Reflect$construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(_Reflect$construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
639
649
 
640
- var isKnownGraphQlTarget = function isKnownGraphQlTarget(target) {
650
+ function ownKeys$3(object, enumerableOnly) { var keys = _Object$keys(object); if (_Object$getOwnPropertySymbols) { var symbols = _Object$getOwnPropertySymbols(object); enumerableOnly && (symbols = _filterInstanceProperty(symbols).call(symbols, function (sym) { return _Object$getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
651
+
652
+ function _objectSpread$3(target) { for (var i = 1; i < arguments.length; i++) { var _context5, _context6; var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? _forEachInstanceProperty(_context5 = ownKeys$3(Object(source), !0)).call(_context5, function (key) { _defineProperty(target, key, source[key]); }) : _Object$getOwnPropertyDescriptors ? _Object$defineProperties(target, _Object$getOwnPropertyDescriptors(source)) : _forEachInstanceProperty(_context6 = ownKeys$3(Object(source))).call(_context6, function (key) { _Object$defineProperty(target, key, _Object$getOwnPropertyDescriptor(source, key)); }); } return target; }
653
+ var defaultUserAgent = createHttpUserAgent({
654
+ name: 'unknown-http-client',
655
+ libraryName: window.app.applicationName
656
+ });
657
+ var defaultForwardToVersion = 'v2';
658
+ var defaultForwardToAudiencePolicy = 'forward-url-full-path';
659
+
660
+ function buildApiUrl(endpoint) {
641
661
  var _context;
642
662
 
643
- return target ? _includesInstanceProperty(_context = _Object$values(GRAPHQL_TARGETS)).call(_context, target) : false;
663
+ var apiUrl = getMcApiUrl().replace(/\/$/, '');
664
+ return _concatInstanceProperty(_context = "".concat(apiUrl)).call(_context, endpoint);
665
+ }
666
+
667
+ var getAppliedForwardToHeaders = function getAppliedForwardToHeaders(forwardToConfig) {
668
+ var _context2, _forwardToConfig$head, _forwardToConfig$vers, _forwardToConfig$audi, _objectSpread3;
669
+
670
+ if (!forwardToConfig) {
671
+ return {};
672
+ }
673
+
674
+ return _objectSpread$3(_objectSpread$3({}, _reduceInstanceProperty(_context2 = _Object$entries((_forwardToConfig$head = forwardToConfig.headers) !== null && _forwardToConfig$head !== void 0 ? _forwardToConfig$head : {})).call(_context2, function (customForwardHeaders, _ref) {
675
+ var _ref2 = _slicedToArray(_ref, 2),
676
+ headerName = _ref2[0],
677
+ headerValue = _ref2[1];
678
+
679
+ return _objectSpread$3(_objectSpread$3({}, customForwardHeaders), {}, _defineProperty({}, "x-forward-header-".concat(headerName), headerValue));
680
+ }, {})), {}, (_objectSpread3 = {}, _defineProperty(_objectSpread3, SUPPORTED_HEADERS.ACCEPT_VERSION, (_forwardToConfig$vers = forwardToConfig.version) !== null && _forwardToConfig$vers !== void 0 ? _forwardToConfig$vers : defaultForwardToVersion), _defineProperty(_objectSpread3, SUPPORTED_HEADERS.X_FORWARD_TO, forwardToConfig.uri), _defineProperty(_objectSpread3, SUPPORTED_HEADERS.X_FORWARD_TO_AUDIENCE_POLICY, (_forwardToConfig$audi = forwardToConfig.audiencePolicy) !== null && _forwardToConfig$audi !== void 0 ? _forwardToConfig$audi : defaultForwardToAudiencePolicy), _objectSpread3));
644
681
  };
645
682
 
646
- var getAppliedForwardToHeaders = function getAppliedForwardToHeaders(apolloContext) {
647
- if (apolloContext.forwardToConfig) {
648
- var _context2, _apolloContext$forwar, _objectSpread3;
683
+ function createHttpClientOptions() {
684
+ var _config$projectKey, _objectSpread4;
685
+
686
+ var config = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
687
+ var sessionToken = getSessionToken();
688
+ var projectKey = (_config$projectKey = config.projectKey) !== null && _config$projectKey !== void 0 ? _config$projectKey : selectProjectKeyFromUrl();
689
+ var userId = selectUserId();
690
+ var userAgent = (config === null || config === void 0 ? void 0 : config.userAgent) || defaultUserAgent;
691
+ return {
692
+ credentials: 'include',
693
+ headers: omitEmpty(_objectSpread$3(_objectSpread$3({}, config.headers), {}, (_objectSpread4 = {}, _defineProperty(_objectSpread4, SUPPORTED_HEADERS.ACCEPT, 'application/json'), _defineProperty(_objectSpread4, SUPPORTED_HEADERS.AUTHORIZATION, sessionToken ? "Bearer ".concat(sessionToken) : undefined), _defineProperty(_objectSpread4, SUPPORTED_HEADERS.X_APPLICATION_ID, window.app.applicationId), _defineProperty(_objectSpread4, SUPPORTED_HEADERS.X_CORRELATION_ID, getCorrelationId({
694
+ userId: userId
695
+ })), _defineProperty(_objectSpread4, SUPPORTED_HEADERS.X_PROJECT_KEY, projectKey), _defineProperty(_objectSpread4, SUPPORTED_HEADERS.X_USER_AGENT, userAgent), _objectSpread4), getAppliedForwardToHeaders(config.forwardToConfig)))
696
+ };
697
+ }
698
+
699
+ var RenewTokenError = /*#__PURE__*/function (_Error) {
700
+ _inherits(RenewTokenError, _Error);
649
701
 
650
- return _objectSpread$2(_objectSpread$2({}, _reduceInstanceProperty(_context2 = _Object$entries((_apolloContext$forwar = apolloContext.forwardToConfig.headers) !== null && _apolloContext$forwar !== void 0 ? _apolloContext$forwar : {})).call(_context2, function (customForwardHeaders, _ref) {
651
- var _ref2 = _slicedToArray(_ref, 2),
652
- headerName = _ref2[0],
653
- headerValue = _ref2[1];
702
+ var _super = _createSuper(RenewTokenError);
654
703
 
655
- return _objectSpread$2(_objectSpread$2({}, customForwardHeaders), {}, _defineProperty({}, "x-forward-header-".concat(headerName), headerValue));
656
- }, {})), {}, (_objectSpread3 = {}, _defineProperty(_objectSpread3, SUPPORTED_HEADERS.ACCEPT_VERSION, apolloContext.forwardToConfig.version), _defineProperty(_objectSpread3, SUPPORTED_HEADERS.X_FORWARD_TO, apolloContext.forwardToConfig.uri), _defineProperty(_objectSpread3, SUPPORTED_HEADERS.X_FORWARD_TO_AUDIENCE_POLICY, apolloContext.forwardToConfig.audiencePolicy), _objectSpread3));
704
+ function RenewTokenError(message) {
705
+ var _this;
706
+
707
+ _classCallCheck(this, RenewTokenError);
708
+
709
+ _this = _super.call(this, message);
710
+
711
+ _Object$defineProperty(_assertThisInitialized(_this), 'name', {
712
+ value: 'RenewTokenError'
713
+ });
714
+
715
+ return _this;
657
716
  }
658
717
 
659
- return {};
718
+ return _createClass(RenewTokenError);
719
+ }( /*#__PURE__*/_wrapNativeSuper(Error));
720
+
721
+ function executeHttpClientRequest(_x) {
722
+ return _executeHttpClientRequest.apply(this, arguments);
723
+ }
724
+
725
+ function _executeHttpClientRequest() {
726
+ _executeHttpClientRequest = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee2(fetcher) {
727
+ var config,
728
+ sendRequest,
729
+ _sendRequest,
730
+ _args2 = arguments;
731
+
732
+ return _regeneratorRuntime.wrap(function _callee2$(_context4) {
733
+ while (1) {
734
+ switch (_context4.prev = _context4.next) {
735
+ case 0:
736
+ _sendRequest = function _sendRequest3() {
737
+ _sendRequest = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee() {
738
+ var _ref3,
739
+ shouldRenewToken,
740
+ requestOptions,
741
+ response,
742
+ refreshedSessionToken,
743
+ _args = arguments;
744
+
745
+ return _regeneratorRuntime.wrap(function _callee$(_context3) {
746
+ while (1) {
747
+ switch (_context3.prev = _context3.next) {
748
+ case 0:
749
+ _ref3 = _args.length > 0 && _args[0] !== undefined ? _args[0] : {}, shouldRenewToken = _ref3.shouldRenewToken;
750
+ requestOptions = createHttpClientOptions(config);
751
+ _context3.next = 4;
752
+ return fetcher(_objectSpread$3(_objectSpread$3({}, requestOptions), {}, {
753
+ headers: omitEmpty(_objectSpread$3(_objectSpread$3({}, requestOptions.headers), {}, _defineProperty({}, SUPPORTED_HEADERS.X_TOKEN_RETRY, shouldRenewToken)))
754
+ }));
755
+
756
+ case 4:
757
+ response = _context3.sent;
758
+
759
+ if (!(response.statusCode === STATUS_CODES.UNAUTHORIZED)) {
760
+ _context3.next = 7;
761
+ break;
762
+ }
763
+
764
+ throw new RenewTokenError("Unauthorized response, attempting retry.");
765
+
766
+ case 7:
767
+ // In case a new session token is returned from the server, save it.
768
+ refreshedSessionToken = response.getHeader('x-refreshed-session-token');
769
+
770
+ if (refreshedSessionToken) {
771
+ setActiveSession(refreshedSessionToken);
772
+ }
773
+
774
+ return _context3.abrupt("return", response.data);
775
+
776
+ case 10:
777
+ case "end":
778
+ return _context3.stop();
779
+ }
780
+ }
781
+ }, _callee);
782
+ }));
783
+ return _sendRequest.apply(this, arguments);
784
+ };
785
+
786
+ sendRequest = function _sendRequest2() {
787
+ return _sendRequest.apply(this, arguments);
788
+ };
789
+
790
+ config = _args2.length > 1 && _args2[1] !== undefined ? _args2[1] : {};
791
+ return _context4.abrupt("return", sendRequest().catch(function (error) {
792
+ if (error instanceof RenewTokenError) {
793
+ // Retry the request and ask to renew the token.
794
+ return sendRequest({
795
+ shouldRenewToken: true
796
+ });
797
+ }
798
+
799
+ throw error;
800
+ }));
801
+
802
+ case 4:
803
+ case "end":
804
+ return _context4.stop();
805
+ }
806
+ }
807
+ }, _callee2);
808
+ }));
809
+ return _executeHttpClientRequest.apply(this, arguments);
810
+ }
811
+
812
+ function ownKeys$2(object, enumerableOnly) { var keys = _Object$keys(object); if (_Object$getOwnPropertySymbols) { var symbols = _Object$getOwnPropertySymbols(object); enumerableOnly && (symbols = _filterInstanceProperty(symbols).call(symbols, function (sym) { return _Object$getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
813
+
814
+ function _objectSpread$2(target) { for (var i = 1; i < arguments.length; i++) { var _context4, _context5; var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? _forEachInstanceProperty(_context4 = ownKeys$2(Object(source), !0)).call(_context4, function (key) { _defineProperty(target, key, source[key]); }) : _Object$getOwnPropertyDescriptors ? _Object$defineProperties(target, _Object$getOwnPropertyDescriptors(source)) : _forEachInstanceProperty(_context5 = ownKeys$2(Object(source))).call(_context5, function (key) { _Object$defineProperty(target, key, _Object$getOwnPropertyDescriptor(source, key)); }); } return target; }
815
+ var userAgent = createHttpUserAgent({
816
+ name: 'apollo-client',
817
+ // version: apolloVersion,
818
+ libraryName: [window.app.applicationName, 'application-shell'].join('/'),
819
+ libraryVersion: version,
820
+ contactUrl: 'https://git.io/fjuyC',
821
+ // points to the appkit repo issues
822
+ contactEmail: 'support@commercetools.com'
823
+ });
824
+
825
+ var isKnownGraphQlTarget = function isKnownGraphQlTarget(target) {
826
+ var _context;
827
+
828
+ return target ? _includesInstanceProperty(_context = _Object$values(GRAPHQL_TARGETS)).call(_context, target) : false;
660
829
  };
661
830
 
662
831
  var extractSessionTokenFromResponse = function extractSessionTokenFromResponse(context) {
@@ -687,12 +856,12 @@ var extractSessionTokenFromResponse = function extractSessionTokenFromResponse(c
687
856
 
688
857
 
689
858
  var headerLink = new ApolloLink(function (operation, forward) {
690
- var _context3, _objectSpread4, _context4;
859
+ var _context2, _objectSpread2, _context3;
691
860
 
692
861
  var apolloContext = operation.getContext();
693
862
  var variables = operation.variables;
694
863
  var graphQlTarget = apolloContext.target || variables.target;
695
- if (!apolloContext.skipGraphQlTargetCheck && !isKnownGraphQlTarget(graphQlTarget)) throw new Error(_concatInstanceProperty(_context3 = "GraphQL target \"".concat(graphQlTarget, "\" is missing (or is not supported) in operation \"")).call(_context3, operation.operationName, "\""));
864
+ if (!apolloContext.skipGraphQlTargetCheck && !isKnownGraphQlTarget(graphQlTarget)) throw new Error(_concatInstanceProperty(_context2 = "GraphQL target \"".concat(graphQlTarget, "\" is missing (or is not supported) in operation \"")).call(_context2, operation.operationName, "\""));
696
865
  /**
697
866
  * NOTE:
698
867
  * The project key is read from the url in a project related application context.
@@ -704,16 +873,14 @@ var headerLink = new ApolloLink(function (operation, forward) {
704
873
 
705
874
  var projectKey = apolloContext.projectKey || variables.projectKey || selectProjectKeyFromUrl();
706
875
  var teamId = apolloContext.teamId || variables.teamId || selectTeamIdFromLocalStorage();
707
- var userId = selectUserId();
708
876
  var featureFlag = apolloContext.featureFlag || variables.featureFlag;
709
- var sessionToken = getSessionToken();
710
- operation.setContext({
711
- credentials: 'include',
712
- headers: omitEmpty(_objectSpread$2(_objectSpread$2({}, apolloContext.headers), {}, (_objectSpread4 = {}, _defineProperty(_objectSpread4, SUPPORTED_HEADERS.AUTHORIZATION, sessionToken ? "Bearer ".concat(sessionToken) : undefined), _defineProperty(_objectSpread4, SUPPORTED_HEADERS.X_PROJECT_KEY, projectKey), _defineProperty(_objectSpread4, SUPPORTED_HEADERS.X_CORRELATION_ID, getCorrelationId({
713
- userId: userId
714
- })), _defineProperty(_objectSpread4, SUPPORTED_HEADERS.X_GRAPHQL_TARGET, graphQlTarget), _defineProperty(_objectSpread4, SUPPORTED_HEADERS.X_GRAPHQL_OPERATION_NAME, operation.operationName), _defineProperty(_objectSpread4, SUPPORTED_HEADERS.X_TEAM_ID, teamId), _defineProperty(_objectSpread4, SUPPORTED_HEADERS.X_APPLICATION_ID, window.app.applicationId), _defineProperty(_objectSpread4, SUPPORTED_HEADERS.X_FEATURE_FLAG, featureFlag), _objectSpread4), getAppliedForwardToHeaders(apolloContext)))
715
- });
716
- return _mapInstanceProperty(_context4 = forward(operation)).call(_context4, function (response) {
877
+ operation.setContext(createHttpClientOptions({
878
+ userAgent: userAgent,
879
+ headers: omitEmpty(_objectSpread$2(_objectSpread$2({}, apolloContext.headers), {}, (_objectSpread2 = {}, _defineProperty(_objectSpread2, SUPPORTED_HEADERS.X_GRAPHQL_TARGET, graphQlTarget), _defineProperty(_objectSpread2, SUPPORTED_HEADERS.X_GRAPHQL_OPERATION_NAME, operation.operationName), _defineProperty(_objectSpread2, SUPPORTED_HEADERS.X_TEAM_ID, teamId), _defineProperty(_objectSpread2, SUPPORTED_HEADERS.X_FEATURE_FLAG, featureFlag), _objectSpread2))),
880
+ forwardToConfig: apolloContext.forwardToConfig,
881
+ projectKey: projectKey
882
+ }));
883
+ return _mapInstanceProperty(_context3 = forward(operation)).call(_context3, function (response) {
717
884
  var context = operation.getContext();
718
885
  var refreshedSessionToken = extractSessionTokenFromResponse(context);
719
886
 
@@ -746,21 +913,8 @@ var tokenRetryLink = new RetryLink({
746
913
  function ownKeys$1(object, enumerableOnly) { var keys = _Object$keys(object); if (_Object$getOwnPropertySymbols) { var symbols = _Object$getOwnPropertySymbols(object); enumerableOnly && (symbols = _filterInstanceProperty(symbols).call(symbols, function (sym) { return _Object$getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
747
914
 
748
915
  function _objectSpread$1(target) { for (var i = 1; i < arguments.length; i++) { var _context4, _context5; var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? _forEachInstanceProperty(_context4 = ownKeys$1(Object(source), !0)).call(_context4, function (key) { _defineProperty(target, key, source[key]); }) : _Object$getOwnPropertyDescriptors ? _Object$defineProperties(target, _Object$getOwnPropertyDescriptors(source)) : _forEachInstanceProperty(_context5 = ownKeys$1(Object(source))).call(_context5, function (key) { _Object$defineProperty(target, key, _Object$getOwnPropertyDescriptor(source, key)); }); } return target; }
749
- var userAgent = createHttpUserAgent({
750
- name: 'apollo-client',
751
- // version: apolloVersion,
752
- libraryName: [window.app.applicationName, 'application-shell'].join('/'),
753
- libraryVersion: version,
754
- contactUrl: 'https://git.io/fjuyC',
755
- // points to the appkit repo issues
756
- contactEmail: 'support@commercetools.com'
757
- });
758
916
  var httpLink = createHttpLink({
759
917
  uri: "".concat(getMcApiUrl(), "/graphql"),
760
- headers: {
761
- accept: 'application/json',
762
- 'x-user-agent': userAgent
763
- },
764
918
  fetch: fetch
765
919
  });
766
920
 
@@ -1002,4 +1156,4 @@ ApplicationEntryPoint.propTypes = process.env.NODE_ENV !== "production" ? {
1002
1156
  children: _pt.node
1003
1157
  } : {};
1004
1158
 
1005
- export { ApplicationEntryPoint as A, REQUESTS_IN_FLIGHT_LOADER_DOM_ID as R, getActiveProjectKey as a, getSessionScope as b, location as c, getSessionState as d, setActiveSession as e, createApolloClient as f, getMcApiUrl as g, setCachedApolloClient as h, internalReduxStore as i, setSessionScope as j, setSessionState as k, logger as l, clearSession as m, selectProjectKeyFromUrl as n, RequestsInFlightLoader as o, RouteCatchAll as p, getSessionToken as q, removeActiveProjectKey as r, setActiveProjectKey as s, selectUserId as t, useIsServedByProxy as u, version as v, getCorrelationId as w, applyDefaultMiddlewares as x, createReduxStore as y };
1159
+ export { ApplicationEntryPoint as A, REQUESTS_IN_FLIGHT_LOADER_DOM_ID as R, getActiveProjectKey as a, getSessionScope as b, location as c, getSessionState as d, setActiveSession as e, createApolloClient as f, getMcApiUrl as g, setCachedApolloClient as h, internalReduxStore as i, setSessionScope as j, setSessionState as k, logger as l, clearSession as m, selectProjectKeyFromUrl as n, RequestsInFlightLoader as o, RouteCatchAll as p, applyDefaultMiddlewares as q, removeActiveProjectKey as r, setActiveProjectKey as s, selectUserId as t, useIsServedByProxy as u, version as v, buildApiUrl as w, createHttpClientOptions as x, executeHttpClientRequest as y, createReduxStore as z };