@engjts/nexus 0.1.11 → 0.1.13
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.
|
@@ -41,12 +41,14 @@ export declare class MiddlewareExecutor {
|
|
|
41
41
|
export declare function logger(): Middleware;
|
|
42
42
|
/**
|
|
43
43
|
* CORS middleware
|
|
44
|
+
* Must be placed FIRST in middleware chain to handle preflight requests
|
|
44
45
|
*/
|
|
45
46
|
export declare function cors(options?: {
|
|
46
|
-
origin?: string | string[];
|
|
47
|
+
origin?: string | string[] | ((origin: string) => boolean);
|
|
47
48
|
methods?: string[];
|
|
48
49
|
credentials?: boolean;
|
|
49
50
|
maxAge?: number;
|
|
51
|
+
allowedHeaders?: string[];
|
|
50
52
|
}): Middleware;
|
|
51
53
|
/**
|
|
52
54
|
* Error handling middleware wrapper
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"middleware.d.ts","sourceRoot":"","sources":["../../src/core/middleware.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,QAAQ,EAAQ,cAAc,EAAE,MAAM,SAAS,CAAC;AAEvF;;;GAGG;AACH,qBAAa,kBAAkB;IAC3B;;;OAGG;IACG,OAAO,CACT,GAAG,EAAE,OAAO,EACZ,WAAW,EAAE,UAAU,EAAE,EACzB,OAAO,EAAE,OAAO,EAChB,IAAI,GAAE,GAAQ,GACf,OAAO,CAAC,QAAQ,CAAC;IA2BpB;;OAEG;YACW,cAAc;IAkB5B;;;;OAIG;IACG,gBAAgB,CAClB,GAAG,EAAE,OAAO,EACZ,WAAW,EAAE,UAAU,EAAE,EACzB,OAAO,EAAE,OAAO,EAChB,KAAK,EAAE,cAAc,EACrB,IAAI,GAAE,GAAQ,GACf,OAAO,CAAC,QAAQ,CAAC;IA+EpB;;OAEG;IACH,OAAO,CAAC,WAAW,EAAE,UAAU,EAAE,GAAG,UAAU;IAmB9C;;OAEG;IACH,OAAO,CAAC,UAAU;CASrB;AAED;;GAEG;AAEH;;GAEG;AACH,wBAAgB,MAAM,IAAI,UAAU,CAgBnC;AAED
|
|
1
|
+
{"version":3,"file":"middleware.d.ts","sourceRoot":"","sources":["../../src/core/middleware.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,QAAQ,EAAQ,cAAc,EAAE,MAAM,SAAS,CAAC;AAEvF;;;GAGG;AACH,qBAAa,kBAAkB;IAC3B;;;OAGG;IACG,OAAO,CACT,GAAG,EAAE,OAAO,EACZ,WAAW,EAAE,UAAU,EAAE,EACzB,OAAO,EAAE,OAAO,EAChB,IAAI,GAAE,GAAQ,GACf,OAAO,CAAC,QAAQ,CAAC;IA2BpB;;OAEG;YACW,cAAc;IAkB5B;;;;OAIG;IACG,gBAAgB,CAClB,GAAG,EAAE,OAAO,EACZ,WAAW,EAAE,UAAU,EAAE,EACzB,OAAO,EAAE,OAAO,EAChB,KAAK,EAAE,cAAc,EACrB,IAAI,GAAE,GAAQ,GACf,OAAO,CAAC,QAAQ,CAAC;IA+EpB;;OAEG;IACH,OAAO,CAAC,WAAW,EAAE,UAAU,EAAE,GAAG,UAAU;IAmB9C;;OAEG;IACH,OAAO,CAAC,UAAU;CASrB;AAED;;GAEG;AAEH;;GAEG;AACH,wBAAgB,MAAM,IAAI,UAAU,CAgBnC;AAED;;;GAGG;AACH,wBAAgB,IAAI,CAAC,OAAO,GAAE;IAC1B,MAAM,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,CAAC,CAAC,MAAM,EAAE,MAAM,KAAK,OAAO,CAAC,CAAC;IAC3D,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IACnB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC;CACxB,GAAG,UAAU,CAqElB;AAED;;GAEG;AACH,wBAAgB,YAAY,CACxB,OAAO,EAAE,CAAC,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE,OAAO,KAAK,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC,GACtE,UAAU,CAQZ"}
|
package/dist/core/middleware.js
CHANGED
|
@@ -178,23 +178,61 @@ function logger() {
|
|
|
178
178
|
}
|
|
179
179
|
/**
|
|
180
180
|
* CORS middleware
|
|
181
|
+
* Must be placed FIRST in middleware chain to handle preflight requests
|
|
181
182
|
*/
|
|
182
183
|
function cors(options = {}) {
|
|
183
|
-
const { origin = '*', methods = ['GET', 'POST', 'PUT', 'DELETE', 'PATCH', 'OPTIONS'], credentials = false, maxAge = 86400 } = options;
|
|
184
|
+
const { origin = '*', methods = ['GET', 'POST', 'PUT', 'DELETE', 'PATCH', 'OPTIONS'], credentials = false, maxAge = 86400, allowedHeaders = ['Content-Type', 'Authorization'] } = options;
|
|
185
|
+
// Determine origin type and create validator
|
|
186
|
+
const getOrigin = (requestOrigin) => {
|
|
187
|
+
const originValue = requestOrigin || '';
|
|
188
|
+
if (typeof origin === 'function') {
|
|
189
|
+
return origin(originValue) ? originValue : '';
|
|
190
|
+
}
|
|
191
|
+
else if (Array.isArray(origin)) {
|
|
192
|
+
return origin.includes('*') ? '*' : (origin.includes(originValue) ? originValue : '');
|
|
193
|
+
}
|
|
194
|
+
else {
|
|
195
|
+
return origin;
|
|
196
|
+
}
|
|
197
|
+
};
|
|
198
|
+
// Check if user tried to combine wildcard with credentials
|
|
199
|
+
const hasWildcard = (Array.isArray(origin) && origin.includes('*')) || origin === '*';
|
|
200
|
+
const shouldReflectOrigin = credentials && hasWildcard;
|
|
201
|
+
if (shouldReflectOrigin) {
|
|
202
|
+
console.warn('CORS: Wildcard origin with credentials detected. Will auto-reflect request origin for compatibility.');
|
|
203
|
+
}
|
|
184
204
|
return async (ctx, next, _deps) => {
|
|
185
|
-
const
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
if (credentials) {
|
|
191
|
-
response.headers['Access-Control-Allow-Credentials'] = 'true';
|
|
205
|
+
const requestOrigin = (ctx.headers.origin || ctx.headers.referer);
|
|
206
|
+
let allowOrigin = getOrigin(requestOrigin);
|
|
207
|
+
// Auto-reflect origin if credentials + wildcard (fallback for development)
|
|
208
|
+
if (shouldReflectOrigin && requestOrigin) {
|
|
209
|
+
allowOrigin = requestOrigin;
|
|
192
210
|
}
|
|
193
|
-
//
|
|
211
|
+
// Set CORS headers BEFORE calling next
|
|
212
|
+
const setCorsHeaders = (headers) => {
|
|
213
|
+
if (allowOrigin) {
|
|
214
|
+
headers['Access-Control-Allow-Origin'] = allowOrigin;
|
|
215
|
+
}
|
|
216
|
+
headers['Access-Control-Allow-Methods'] = methods.join(', ');
|
|
217
|
+
headers['Access-Control-Allow-Headers'] = allowedHeaders.join(', ');
|
|
218
|
+
headers['Access-Control-Max-Age'] = maxAge.toString();
|
|
219
|
+
if (credentials) {
|
|
220
|
+
headers['Access-Control-Allow-Credentials'] = 'true';
|
|
221
|
+
}
|
|
222
|
+
};
|
|
223
|
+
// Handle preflight OPTIONS request
|
|
194
224
|
if (ctx.method === 'OPTIONS') {
|
|
195
|
-
response
|
|
196
|
-
|
|
225
|
+
const response = {
|
|
226
|
+
statusCode: 204,
|
|
227
|
+
body: '',
|
|
228
|
+
headers: {}
|
|
229
|
+
};
|
|
230
|
+
setCorsHeaders(response.headers);
|
|
231
|
+
return response;
|
|
197
232
|
}
|
|
233
|
+
// Call next and add CORS headers to response
|
|
234
|
+
const response = await next(ctx);
|
|
235
|
+
setCorsHeaders(response.headers);
|
|
198
236
|
return response;
|
|
199
237
|
};
|
|
200
238
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"middleware.js","sourceRoot":"","sources":["../../src/core/middleware.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;AAuMH,wBAgBC;
|
|
1
|
+
{"version":3,"file":"middleware.js","sourceRoot":"","sources":["../../src/core/middleware.ts"],"names":[],"mappings":"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"}
|