@econneq/gql-auth 2.0.16 → 2.0.17

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.
package/dist/client.js CHANGED
@@ -86,13 +86,31 @@ export async function getApolloClient({ options, domain, config, }) {
86
86
  });
87
87
  }
88
88
  function cleanGraphQLUrl(duplicateUrl) {
89
- // 1. Fix the doubled protocol (http://http:// -> http://)
90
- let fixedProtocol = duplicateUrl.replace(/^(https?:\/\/)+/, '$1');
91
- // 2. Parse with the native URL object to easily manipulate the path
92
- const urlObj = new URL(fixedProtocol);
93
- // 3. Remove the duplicate trailing path segments
94
- // This replaces '//graphql/' or '/graphql/graphql/' with a single '/graphql'
95
- urlObj.pathname = urlObj.pathname.replace(/(\/graphql)+[^/]*$/, '/graphql/');
96
- return urlObj.toString();
89
+ if (!duplicateUrl)
90
+ return '';
91
+ // 1. Force down ANY multiple protocol stacks at the beginning to just 'http' or 'https'
92
+ // This completely wipes out "http://http://" or "https://http://" down to just the raw string
93
+ let cleanString = duplicateUrl.replace(/^(https?:\/\/)+/, '');
94
+ // Also wipe out any accidental internal protocol repeats left behind
95
+ cleanString = cleanString.replace(/(https?:\/\/)+/g, '');
96
+ // 2. Separate the domain authority from the path segments safely
97
+ // We split by the first single forward slash
98
+ const slashIndex = cleanString.indexOf('/');
99
+ let authority = cleanString;
100
+ let pathString = '';
101
+ if (slashIndex !== -1) {
102
+ authority = cleanString.substring(0, slashIndex);
103
+ pathString = cleanString.substring(slashIndex);
104
+ }
105
+ // 3. Clean the path blocks by dropping empty slots and removing duplicate 'graphql' instances
106
+ const cleanSegments = pathString
107
+ .split('/')
108
+ .filter(Boolean)
109
+ .filter(segment => segment.toLowerCase() !== 'graphql');
110
+ // 4. Rebuild the final clean URL structure safely
111
+ // We append a single protocol back to the cleared authority and attach a single trailing slash to graphql
112
+ const finalProtocol = duplicateUrl.toLowerCase().startsWith('https') ? 'https://' : 'http://';
113
+ const finalPath = cleanSegments.length > 0 ? `/${cleanSegments.join('/')}/graphql/` : '/graphql/';
114
+ return `${finalProtocol}${authority}${finalPath}`;
97
115
  }
98
116
  //# sourceMappingURL=client.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@econneq/gql-auth",
3
- "version": "2.0.16",
3
+ "version": "2.0.17",
4
4
  "description": "GraphQL auth utilities for multi-tenant and single-tenant Next.js projects.",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",