openportal 0.1.1 → 0.1.3
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/README.md +113 -0
- package/package.json +1 -1
- package/web/.next/static/{A7pW-dtFIbPCSkvE8uenX → Im7EdK1Q3oOmTznohTOr5}/_buildManifest.js +4 -9
- package/web/.next/static/chunks/{2e7bfb90c343ca96.js → 35cc9dbdc670c73c.js} +4 -4
- package/web/.next/static/chunks/4147ffc67a7b837c.css +1 -0
- package/web/.next/static/chunks/{21ab2574b84ad2d1.js → 52b90bc1740162c2.js} +2 -2
- package/web/.next/static/chunks/{9b265e2198b5525f.js → 8644d68bf325ff24.js} +3 -3
- package/web/.next/static/chunks/{03e1846335a31354.js → 9865709466b09f79.js} +3 -3
- package/web/.next/static/chunks/{c20ae04df8cc28be.js → 9ba9a5774c9421bd.js} +3 -3
- package/web/.next/static/chunks/{967a1e0002fe9ae6.js → b5caad256518cb33.js} +3 -3
- package/web/.next/static/chunks/{turbopack-27558c851386934e.js → turbopack-26af71e419c11487.js} +1 -1
- package/web/.next/static/chunks/{turbopack-f4c0881f9723f5a5.js → turbopack-4ad0df7330c00c8d.js} +1 -1
- package/web/.next/static/chunks/{turbopack-26688626142ac58f.js → turbopack-8e653f3ad3a8ed18.js} +1 -1
- package/web/.next/static/chunks/{turbopack-c40ec6674624f1d7.js → turbopack-d5098189d63fd7b8.js} +1 -1
- package/web/apps/web/.next/BUILD_ID +1 -1
- package/web/apps/web/.next/build-manifest.json +14 -24
- package/web/apps/web/.next/routes-manifest.json +0 -12
- package/web/apps/web/.next/server/chunks/[root-of-the-server]__f366ca98._.js +358 -0
- package/web/apps/web/.next/server/chunks/ssr/{[root-of-the-server]__dfeaf8cf._.js → [root-of-the-server]__1a54ba1e._.js} +3 -3
- package/web/apps/web/.next/server/middleware-build-manifest.js +12 -22
- package/web/apps/web/.next/server/next-font-manifest.js +1 -1
- package/web/apps/web/.next/server/next-font-manifest.json +0 -4
- package/web/apps/web/.next/server/pages/404.html +1 -1
- package/web/apps/web/.next/server/pages/500.html +1 -1
- package/web/apps/web/.next/server/pages/_app/build-manifest.json +3 -3
- package/web/apps/web/.next/server/pages/_app/client-build-manifest.json +1 -1
- package/web/apps/web/.next/server/pages/api/[[...slugs]].js +1 -2
- package/web/apps/web/.next/server/pages/api/[[...slugs]].js.nft.json +1 -1
- package/web/apps/web/.next/server/pages/index/build-manifest.json +3 -3
- package/web/apps/web/.next/server/pages/index/client-build-manifest.json +1 -1
- package/web/apps/web/.next/server/pages/index.html +1 -1
- package/web/apps/web/.next/server/pages/index.js.nft.json +1 -1
- package/web/apps/web/.next/server/pages/session/[id]/build-manifest.json +4 -4
- package/web/apps/web/.next/server/pages/session/[id]/client-build-manifest.json +1 -1
- package/web/apps/web/.next/server/pages/session/[id].html +1 -1
- package/web/apps/web/.next/server/pages/session/[id].js.nft.json +1 -1
- package/web/apps/web/.next/server/pages/settings/build-manifest.json +3 -3
- package/web/apps/web/.next/server/pages/settings/client-build-manifest.json +1 -1
- package/web/apps/web/.next/server/pages/settings.html +1 -1
- package/web/apps/web/.next/server/pages/settings.js.nft.json +1 -1
- package/web/apps/web/.next/server/pages-manifest.json +0 -2
- package/web/apps/web/package.json +1 -9
- package/web/.next/static/chunks/04d4692d75696297.css +0 -1
- package/web/.next/static/chunks/553710f60e2f2b11.js +0 -1
- package/web/.next/static/chunks/58acbbb4090e3362.js +0 -3
- package/web/.next/static/chunks/6ce1e2f08f961db5.js +0 -2
- package/web/.next/static/chunks/d316d63225992c76.js +0 -10
- package/web/.next/static/chunks/e0c97552ba7a9e3d.js +0 -1
- package/web/.next/static/chunks/fc9c4f2dabfb4e0e.css +0 -1
- package/web/.next/static/chunks/turbopack-1837909a677d116b.js +0 -3
- package/web/apps/web/.next/server/chunks/[root-of-the-server]__0f75905d._.js +0 -3
- package/web/apps/web/.next/server/chunks/[root-of-the-server]__89e85365._.js +0 -358
- package/web/apps/web/.next/server/chunks/[root-of-the-server]__ae1361d0._.js +0 -3
- package/web/apps/web/.next/server/pages/api/terminal/ws/pages-manifest.json +0 -3
- package/web/apps/web/.next/server/pages/api/terminal/ws.js +0 -5
- package/web/apps/web/.next/server/pages/api/terminal/ws.js.map +0 -5
- package/web/apps/web/.next/server/pages/api/terminal/ws.js.nft.json +0 -1
- package/web/apps/web/.next/server/pages/terminal/build-manifest.json +0 -20
- package/web/apps/web/.next/server/pages/terminal/client-build-manifest.json +0 -5
- package/web/apps/web/.next/server/pages/terminal/next-font-manifest.json +0 -11
- package/web/apps/web/.next/server/pages/terminal/pages-manifest.json +0 -3
- package/web/apps/web/.next/server/pages/terminal/react-loadable-manifest.json +0 -1
- package/web/apps/web/.next/server/pages/terminal.html +0 -1
- package/web/apps/web/.next/server/pages/terminal.js.map +0 -5
- package/web/apps/web/.next/server/pages/terminal.js.nft.json +0 -1
- package/web/node_modules/.bun/@socket.io+component-emitter@3.1.2/node_modules/@socket.io/component-emitter/lib/cjs/index.js +0 -176
- package/web/node_modules/.bun/@socket.io+component-emitter@3.1.2/node_modules/@socket.io/component-emitter/lib/cjs/package.json +0 -4
- package/web/node_modules/.bun/@socket.io+component-emitter@3.1.2/node_modules/@socket.io/component-emitter/package.json +0 -28
- package/web/node_modules/.bun/accepts@1.3.8/node_modules/accepts/index.js +0 -238
- package/web/node_modules/.bun/accepts@1.3.8/node_modules/accepts/package.json +0 -47
- package/web/node_modules/.bun/base64id@2.0.0/node_modules/base64id/lib/base64id.js +0 -103
- package/web/node_modules/.bun/base64id@2.0.0/node_modules/base64id/package.json +0 -13
- package/web/node_modules/.bun/cookie@0.7.2/node_modules/cookie/index.js +0 -335
- package/web/node_modules/.bun/cookie@0.7.2/node_modules/cookie/package.json +0 -44
- package/web/node_modules/.bun/cookie@1.1.1/node_modules/cookie/package.json +0 -47
- package/web/node_modules/.bun/cors@2.8.5/node_modules/cors/lib/index.js +0 -238
- package/web/node_modules/.bun/cors@2.8.5/node_modules/cors/package.json +0 -41
- package/web/node_modules/.bun/debug@4.3.7/node_modules/debug/package.json +0 -60
- package/web/node_modules/.bun/debug@4.3.7/node_modules/debug/src/browser.js +0 -271
- package/web/node_modules/.bun/debug@4.3.7/node_modules/debug/src/common.js +0 -274
- package/web/node_modules/.bun/debug@4.3.7/node_modules/debug/src/index.js +0 -10
- package/web/node_modules/.bun/debug@4.3.7/node_modules/debug/src/node.js +0 -263
- package/web/node_modules/.bun/engine.io-parser@5.2.3/node_modules/engine.io-parser/build/cjs/commons.js +0 -19
- package/web/node_modules/.bun/engine.io-parser@5.2.3/node_modules/engine.io-parser/build/cjs/decodePacket.js +0 -59
- package/web/node_modules/.bun/engine.io-parser@5.2.3/node_modules/engine.io-parser/build/cjs/encodePacket.js +0 -38
- package/web/node_modules/.bun/engine.io-parser@5.2.3/node_modules/engine.io-parser/build/cjs/index.js +0 -164
- package/web/node_modules/.bun/engine.io-parser@5.2.3/node_modules/engine.io-parser/build/cjs/package.json +0 -8
- package/web/node_modules/.bun/engine.io-parser@5.2.3/node_modules/engine.io-parser/package.json +0 -46
- package/web/node_modules/.bun/engine.io@6.6.4/node_modules/engine.io/build/engine.io.js +0 -54
- package/web/node_modules/.bun/engine.io@6.6.4/node_modules/engine.io/build/parser-v3/index.js +0 -424
- package/web/node_modules/.bun/engine.io@6.6.4/node_modules/engine.io/build/parser-v3/utf8.js +0 -187
- package/web/node_modules/.bun/engine.io@6.6.4/node_modules/engine.io/build/server.js +0 -786
- package/web/node_modules/.bun/engine.io@6.6.4/node_modules/engine.io/build/socket.js +0 -460
- package/web/node_modules/.bun/engine.io@6.6.4/node_modules/engine.io/build/transport.js +0 -117
- package/web/node_modules/.bun/engine.io@6.6.4/node_modules/engine.io/build/transports/index.js +0 -23
- package/web/node_modules/.bun/engine.io@6.6.4/node_modules/engine.io/build/transports/polling-jsonp.js +0 -41
- package/web/node_modules/.bun/engine.io@6.6.4/node_modules/engine.io/build/transports/polling.js +0 -332
- package/web/node_modules/.bun/engine.io@6.6.4/node_modules/engine.io/build/transports/websocket.js +0 -94
- package/web/node_modules/.bun/engine.io@6.6.4/node_modules/engine.io/build/transports/webtransport.js +0 -63
- package/web/node_modules/.bun/engine.io@6.6.4/node_modules/engine.io/build/transports-uws/index.js +0 -8
- package/web/node_modules/.bun/engine.io@6.6.4/node_modules/engine.io/build/transports-uws/polling.js +0 -364
- package/web/node_modules/.bun/engine.io@6.6.4/node_modules/engine.io/build/transports-uws/websocket.js +0 -73
- package/web/node_modules/.bun/engine.io@6.6.4/node_modules/engine.io/build/userver.js +0 -279
- package/web/node_modules/.bun/engine.io@6.6.4/node_modules/engine.io/package.json +0 -70
- package/web/node_modules/.bun/has-flag@4.0.0/node_modules/has-flag/index.js +0 -8
- package/web/node_modules/.bun/has-flag@4.0.0/node_modules/has-flag/package.json +0 -46
- package/web/node_modules/.bun/mime-db@1.52.0/node_modules/mime-db/db.json +0 -8519
- package/web/node_modules/.bun/mime-db@1.52.0/node_modules/mime-db/index.js +0 -12
- package/web/node_modules/.bun/mime-db@1.52.0/node_modules/mime-db/package.json +0 -60
- package/web/node_modules/.bun/mime-types@2.1.35/node_modules/mime-types/index.js +0 -188
- package/web/node_modules/.bun/mime-types@2.1.35/node_modules/mime-types/package.json +0 -44
- package/web/node_modules/.bun/ms@2.1.3/node_modules/ms/index.js +0 -162
- package/web/node_modules/.bun/ms@2.1.3/node_modules/ms/package.json +0 -38
- package/web/node_modules/.bun/negotiator@0.6.3/node_modules/negotiator/index.js +0 -82
- package/web/node_modules/.bun/negotiator@0.6.3/node_modules/negotiator/lib/charset.js +0 -169
- package/web/node_modules/.bun/negotiator@0.6.3/node_modules/negotiator/lib/encoding.js +0 -184
- package/web/node_modules/.bun/negotiator@0.6.3/node_modules/negotiator/lib/language.js +0 -179
- package/web/node_modules/.bun/negotiator@0.6.3/node_modules/negotiator/lib/mediaType.js +0 -294
- package/web/node_modules/.bun/negotiator@0.6.3/node_modules/negotiator/package.json +0 -42
- package/web/node_modules/.bun/object-assign@4.1.1/node_modules/object-assign/index.js +0 -90
- package/web/node_modules/.bun/object-assign@4.1.1/node_modules/object-assign/package.json +0 -42
- package/web/node_modules/.bun/socket.io-adapter@2.5.5/node_modules/socket.io-adapter/dist/cluster-adapter.js +0 -674
- package/web/node_modules/.bun/socket.io-adapter@2.5.5/node_modules/socket.io-adapter/dist/contrib/yeast.js +0 -55
- package/web/node_modules/.bun/socket.io-adapter@2.5.5/node_modules/socket.io-adapter/dist/in-memory-adapter.js +0 -394
- package/web/node_modules/.bun/socket.io-adapter@2.5.5/node_modules/socket.io-adapter/dist/index.js +0 -10
- package/web/node_modules/.bun/socket.io-adapter@2.5.5/node_modules/socket.io-adapter/package.json +0 -39
- package/web/node_modules/.bun/socket.io-parser@4.2.4/node_modules/socket.io-parser/build/cjs/binary.js +0 -88
- package/web/node_modules/.bun/socket.io-parser@4.2.4/node_modules/socket.io-parser/build/cjs/index.js +0 -321
- package/web/node_modules/.bun/socket.io-parser@4.2.4/node_modules/socket.io-parser/build/cjs/is-binary.js +0 -55
- package/web/node_modules/.bun/socket.io-parser@4.2.4/node_modules/socket.io-parser/build/cjs/package.json +0 -3
- package/web/node_modules/.bun/socket.io-parser@4.2.4/node_modules/socket.io-parser/package.json +0 -58
- package/web/node_modules/.bun/socket.io@4.8.1/node_modules/socket.io/client-dist/socket.io.esm.min.js +0 -7
- package/web/node_modules/.bun/socket.io@4.8.1/node_modules/socket.io/client-dist/socket.io.js +0 -4908
- package/web/node_modules/.bun/socket.io@4.8.1/node_modules/socket.io/client-dist/socket.io.min.js +0 -7
- package/web/node_modules/.bun/socket.io@4.8.1/node_modules/socket.io/client-dist/socket.io.msgpack.min.js +0 -7
- package/web/node_modules/.bun/socket.io@4.8.1/node_modules/socket.io/dist/broadcast-operator.js +0 -436
- package/web/node_modules/.bun/socket.io@4.8.1/node_modules/socket.io/dist/client.js +0 -268
- package/web/node_modules/.bun/socket.io@4.8.1/node_modules/socket.io/dist/index.js +0 -804
- package/web/node_modules/.bun/socket.io@4.8.1/node_modules/socket.io/dist/namespace.js +0 -581
- package/web/node_modules/.bun/socket.io@4.8.1/node_modules/socket.io/dist/parent-namespace.js +0 -88
- package/web/node_modules/.bun/socket.io@4.8.1/node_modules/socket.io/dist/socket-types.js +0 -11
- package/web/node_modules/.bun/socket.io@4.8.1/node_modules/socket.io/dist/socket.js +0 -977
- package/web/node_modules/.bun/socket.io@4.8.1/node_modules/socket.io/dist/typed-events.js +0 -81
- package/web/node_modules/.bun/socket.io@4.8.1/node_modules/socket.io/dist/uws.js +0 -136
- package/web/node_modules/.bun/socket.io@4.8.1/node_modules/socket.io/package.json +0 -85
- package/web/node_modules/.bun/socket.io@4.8.1/node_modules/socket.io/wrapper.mjs +0 -3
- package/web/node_modules/.bun/supports-color@7.2.0/node_modules/supports-color/index.js +0 -135
- package/web/node_modules/.bun/supports-color@7.2.0/node_modules/supports-color/package.json +0 -53
- package/web/node_modules/.bun/vary@1.1.2/node_modules/vary/index.js +0 -149
- package/web/node_modules/.bun/vary@1.1.2/node_modules/vary/package.json +0 -43
- package/web/node_modules/.bun/ws@8.17.1/node_modules/ws/index.js +0 -13
- package/web/node_modules/.bun/ws@8.17.1/node_modules/ws/lib/buffer-util.js +0 -131
- package/web/node_modules/.bun/ws@8.17.1/node_modules/ws/lib/constants.js +0 -12
- package/web/node_modules/.bun/ws@8.17.1/node_modules/ws/lib/event-target.js +0 -292
- package/web/node_modules/.bun/ws@8.17.1/node_modules/ws/lib/extension.js +0 -203
- package/web/node_modules/.bun/ws@8.17.1/node_modules/ws/lib/limiter.js +0 -55
- package/web/node_modules/.bun/ws@8.17.1/node_modules/ws/lib/permessage-deflate.js +0 -514
- package/web/node_modules/.bun/ws@8.17.1/node_modules/ws/lib/receiver.js +0 -704
- package/web/node_modules/.bun/ws@8.17.1/node_modules/ws/lib/sender.js +0 -497
- package/web/node_modules/.bun/ws@8.17.1/node_modules/ws/lib/stream.js +0 -159
- package/web/node_modules/.bun/ws@8.17.1/node_modules/ws/lib/subprotocol.js +0 -62
- package/web/node_modules/.bun/ws@8.17.1/node_modules/ws/lib/validation.js +0 -130
- package/web/node_modules/.bun/ws@8.17.1/node_modules/ws/lib/websocket-server.js +0 -540
- package/web/node_modules/.bun/ws@8.17.1/node_modules/ws/lib/websocket.js +0 -1338
- package/web/node_modules/.bun/ws@8.17.1/node_modules/ws/package.json +0 -69
- package/web/node_modules/.bun/ws@8.18.3/node_modules/ws/lib/buffer-util.js +0 -131
- package/web/node_modules/.bun/ws@8.18.3/node_modules/ws/lib/constants.js +0 -18
- package/web/node_modules/.bun/ws@8.18.3/node_modules/ws/lib/event-target.js +0 -292
- package/web/node_modules/.bun/ws@8.18.3/node_modules/ws/lib/extension.js +0 -203
- package/web/node_modules/.bun/ws@8.18.3/node_modules/ws/lib/limiter.js +0 -55
- package/web/node_modules/.bun/ws@8.18.3/node_modules/ws/lib/permessage-deflate.js +0 -528
- package/web/node_modules/.bun/ws@8.18.3/node_modules/ws/lib/receiver.js +0 -706
- package/web/node_modules/.bun/ws@8.18.3/node_modules/ws/lib/sender.js +0 -602
- package/web/node_modules/.bun/ws@8.18.3/node_modules/ws/lib/stream.js +0 -161
- package/web/node_modules/.bun/ws@8.18.3/node_modules/ws/lib/subprotocol.js +0 -62
- package/web/node_modules/.bun/ws@8.18.3/node_modules/ws/lib/validation.js +0 -152
- package/web/node_modules/.bun/ws@8.18.3/node_modules/ws/lib/websocket-server.js +0 -550
- package/web/node_modules/.bun/ws@8.18.3/node_modules/ws/lib/websocket.js +0 -1388
- package/web/node_modules/.bun/ws@8.18.3/node_modules/ws/package.json +0 -69
- package/web/node_modules/.bun/ws@8.18.3/node_modules/ws/wrapper.mjs +0 -8
- /package/web/.next/static/{A7pW-dtFIbPCSkvE8uenX → Im7EdK1Q3oOmTznohTOr5}/_clientMiddlewareManifest.json +0 -0
- /package/web/.next/static/{A7pW-dtFIbPCSkvE8uenX → Im7EdK1Q3oOmTznohTOr5}/_ssgManifest.js +0 -0
|
@@ -1,335 +0,0 @@
|
|
|
1
|
-
/*!
|
|
2
|
-
* cookie
|
|
3
|
-
* Copyright(c) 2012-2014 Roman Shtylman
|
|
4
|
-
* Copyright(c) 2015 Douglas Christopher Wilson
|
|
5
|
-
* MIT Licensed
|
|
6
|
-
*/
|
|
7
|
-
|
|
8
|
-
'use strict';
|
|
9
|
-
|
|
10
|
-
/**
|
|
11
|
-
* Module exports.
|
|
12
|
-
* @public
|
|
13
|
-
*/
|
|
14
|
-
|
|
15
|
-
exports.parse = parse;
|
|
16
|
-
exports.serialize = serialize;
|
|
17
|
-
|
|
18
|
-
/**
|
|
19
|
-
* Module variables.
|
|
20
|
-
* @private
|
|
21
|
-
*/
|
|
22
|
-
|
|
23
|
-
var __toString = Object.prototype.toString
|
|
24
|
-
var __hasOwnProperty = Object.prototype.hasOwnProperty
|
|
25
|
-
|
|
26
|
-
/**
|
|
27
|
-
* RegExp to match cookie-name in RFC 6265 sec 4.1.1
|
|
28
|
-
* This refers out to the obsoleted definition of token in RFC 2616 sec 2.2
|
|
29
|
-
* which has been replaced by the token definition in RFC 7230 appendix B.
|
|
30
|
-
*
|
|
31
|
-
* cookie-name = token
|
|
32
|
-
* token = 1*tchar
|
|
33
|
-
* tchar = "!" / "#" / "$" / "%" / "&" / "'" /
|
|
34
|
-
* "*" / "+" / "-" / "." / "^" / "_" /
|
|
35
|
-
* "`" / "|" / "~" / DIGIT / ALPHA
|
|
36
|
-
*/
|
|
37
|
-
|
|
38
|
-
var cookieNameRegExp = /^[!#$%&'*+\-.^_`|~0-9A-Za-z]+$/;
|
|
39
|
-
|
|
40
|
-
/**
|
|
41
|
-
* RegExp to match cookie-value in RFC 6265 sec 4.1.1
|
|
42
|
-
*
|
|
43
|
-
* cookie-value = *cookie-octet / ( DQUOTE *cookie-octet DQUOTE )
|
|
44
|
-
* cookie-octet = %x21 / %x23-2B / %x2D-3A / %x3C-5B / %x5D-7E
|
|
45
|
-
* ; US-ASCII characters excluding CTLs,
|
|
46
|
-
* ; whitespace DQUOTE, comma, semicolon,
|
|
47
|
-
* ; and backslash
|
|
48
|
-
*/
|
|
49
|
-
|
|
50
|
-
var cookieValueRegExp = /^("?)[\u0021\u0023-\u002B\u002D-\u003A\u003C-\u005B\u005D-\u007E]*\1$/;
|
|
51
|
-
|
|
52
|
-
/**
|
|
53
|
-
* RegExp to match domain-value in RFC 6265 sec 4.1.1
|
|
54
|
-
*
|
|
55
|
-
* domain-value = <subdomain>
|
|
56
|
-
* ; defined in [RFC1034], Section 3.5, as
|
|
57
|
-
* ; enhanced by [RFC1123], Section 2.1
|
|
58
|
-
* <subdomain> = <label> | <subdomain> "." <label>
|
|
59
|
-
* <label> = <let-dig> [ [ <ldh-str> ] <let-dig> ]
|
|
60
|
-
* Labels must be 63 characters or less.
|
|
61
|
-
* 'let-dig' not 'letter' in the first char, per RFC1123
|
|
62
|
-
* <ldh-str> = <let-dig-hyp> | <let-dig-hyp> <ldh-str>
|
|
63
|
-
* <let-dig-hyp> = <let-dig> | "-"
|
|
64
|
-
* <let-dig> = <letter> | <digit>
|
|
65
|
-
* <letter> = any one of the 52 alphabetic characters A through Z in
|
|
66
|
-
* upper case and a through z in lower case
|
|
67
|
-
* <digit> = any one of the ten digits 0 through 9
|
|
68
|
-
*
|
|
69
|
-
* Keep support for leading dot: https://github.com/jshttp/cookie/issues/173
|
|
70
|
-
*
|
|
71
|
-
* > (Note that a leading %x2E ("."), if present, is ignored even though that
|
|
72
|
-
* character is not permitted, but a trailing %x2E ("."), if present, will
|
|
73
|
-
* cause the user agent to ignore the attribute.)
|
|
74
|
-
*/
|
|
75
|
-
|
|
76
|
-
var domainValueRegExp = /^([.]?[a-z0-9]([a-z0-9-]{0,61}[a-z0-9])?)([.][a-z0-9]([a-z0-9-]{0,61}[a-z0-9])?)*$/i;
|
|
77
|
-
|
|
78
|
-
/**
|
|
79
|
-
* RegExp to match path-value in RFC 6265 sec 4.1.1
|
|
80
|
-
*
|
|
81
|
-
* path-value = <any CHAR except CTLs or ";">
|
|
82
|
-
* CHAR = %x01-7F
|
|
83
|
-
* ; defined in RFC 5234 appendix B.1
|
|
84
|
-
*/
|
|
85
|
-
|
|
86
|
-
var pathValueRegExp = /^[\u0020-\u003A\u003D-\u007E]*$/;
|
|
87
|
-
|
|
88
|
-
/**
|
|
89
|
-
* Parse a cookie header.
|
|
90
|
-
*
|
|
91
|
-
* Parse the given cookie header string into an object
|
|
92
|
-
* The object has the various cookies as keys(names) => values
|
|
93
|
-
*
|
|
94
|
-
* @param {string} str
|
|
95
|
-
* @param {object} [opt]
|
|
96
|
-
* @return {object}
|
|
97
|
-
* @public
|
|
98
|
-
*/
|
|
99
|
-
|
|
100
|
-
function parse(str, opt) {
|
|
101
|
-
if (typeof str !== 'string') {
|
|
102
|
-
throw new TypeError('argument str must be a string');
|
|
103
|
-
}
|
|
104
|
-
|
|
105
|
-
var obj = {};
|
|
106
|
-
var len = str.length;
|
|
107
|
-
// RFC 6265 sec 4.1.1, RFC 2616 2.2 defines a cookie name consists of one char minimum, plus '='.
|
|
108
|
-
if (len < 2) return obj;
|
|
109
|
-
|
|
110
|
-
var dec = (opt && opt.decode) || decode;
|
|
111
|
-
var index = 0;
|
|
112
|
-
var eqIdx = 0;
|
|
113
|
-
var endIdx = 0;
|
|
114
|
-
|
|
115
|
-
do {
|
|
116
|
-
eqIdx = str.indexOf('=', index);
|
|
117
|
-
if (eqIdx === -1) break; // No more cookie pairs.
|
|
118
|
-
|
|
119
|
-
endIdx = str.indexOf(';', index);
|
|
120
|
-
|
|
121
|
-
if (endIdx === -1) {
|
|
122
|
-
endIdx = len;
|
|
123
|
-
} else if (eqIdx > endIdx) {
|
|
124
|
-
// backtrack on prior semicolon
|
|
125
|
-
index = str.lastIndexOf(';', eqIdx - 1) + 1;
|
|
126
|
-
continue;
|
|
127
|
-
}
|
|
128
|
-
|
|
129
|
-
var keyStartIdx = startIndex(str, index, eqIdx);
|
|
130
|
-
var keyEndIdx = endIndex(str, eqIdx, keyStartIdx);
|
|
131
|
-
var key = str.slice(keyStartIdx, keyEndIdx);
|
|
132
|
-
|
|
133
|
-
// only assign once
|
|
134
|
-
if (!__hasOwnProperty.call(obj, key)) {
|
|
135
|
-
var valStartIdx = startIndex(str, eqIdx + 1, endIdx);
|
|
136
|
-
var valEndIdx = endIndex(str, endIdx, valStartIdx);
|
|
137
|
-
|
|
138
|
-
if (str.charCodeAt(valStartIdx) === 0x22 /* " */ && str.charCodeAt(valEndIdx - 1) === 0x22 /* " */) {
|
|
139
|
-
valStartIdx++;
|
|
140
|
-
valEndIdx--;
|
|
141
|
-
}
|
|
142
|
-
|
|
143
|
-
var val = str.slice(valStartIdx, valEndIdx);
|
|
144
|
-
obj[key] = tryDecode(val, dec);
|
|
145
|
-
}
|
|
146
|
-
|
|
147
|
-
index = endIdx + 1
|
|
148
|
-
} while (index < len);
|
|
149
|
-
|
|
150
|
-
return obj;
|
|
151
|
-
}
|
|
152
|
-
|
|
153
|
-
function startIndex(str, index, max) {
|
|
154
|
-
do {
|
|
155
|
-
var code = str.charCodeAt(index);
|
|
156
|
-
if (code !== 0x20 /* */ && code !== 0x09 /* \t */) return index;
|
|
157
|
-
} while (++index < max);
|
|
158
|
-
return max;
|
|
159
|
-
}
|
|
160
|
-
|
|
161
|
-
function endIndex(str, index, min) {
|
|
162
|
-
while (index > min) {
|
|
163
|
-
var code = str.charCodeAt(--index);
|
|
164
|
-
if (code !== 0x20 /* */ && code !== 0x09 /* \t */) return index + 1;
|
|
165
|
-
}
|
|
166
|
-
return min;
|
|
167
|
-
}
|
|
168
|
-
|
|
169
|
-
/**
|
|
170
|
-
* Serialize data into a cookie header.
|
|
171
|
-
*
|
|
172
|
-
* Serialize a name value pair into a cookie string suitable for
|
|
173
|
-
* http headers. An optional options object specifies cookie parameters.
|
|
174
|
-
*
|
|
175
|
-
* serialize('foo', 'bar', { httpOnly: true })
|
|
176
|
-
* => "foo=bar; httpOnly"
|
|
177
|
-
*
|
|
178
|
-
* @param {string} name
|
|
179
|
-
* @param {string} val
|
|
180
|
-
* @param {object} [opt]
|
|
181
|
-
* @return {string}
|
|
182
|
-
* @public
|
|
183
|
-
*/
|
|
184
|
-
|
|
185
|
-
function serialize(name, val, opt) {
|
|
186
|
-
var enc = (opt && opt.encode) || encodeURIComponent;
|
|
187
|
-
|
|
188
|
-
if (typeof enc !== 'function') {
|
|
189
|
-
throw new TypeError('option encode is invalid');
|
|
190
|
-
}
|
|
191
|
-
|
|
192
|
-
if (!cookieNameRegExp.test(name)) {
|
|
193
|
-
throw new TypeError('argument name is invalid');
|
|
194
|
-
}
|
|
195
|
-
|
|
196
|
-
var value = enc(val);
|
|
197
|
-
|
|
198
|
-
if (!cookieValueRegExp.test(value)) {
|
|
199
|
-
throw new TypeError('argument val is invalid');
|
|
200
|
-
}
|
|
201
|
-
|
|
202
|
-
var str = name + '=' + value;
|
|
203
|
-
if (!opt) return str;
|
|
204
|
-
|
|
205
|
-
if (null != opt.maxAge) {
|
|
206
|
-
var maxAge = Math.floor(opt.maxAge);
|
|
207
|
-
|
|
208
|
-
if (!isFinite(maxAge)) {
|
|
209
|
-
throw new TypeError('option maxAge is invalid')
|
|
210
|
-
}
|
|
211
|
-
|
|
212
|
-
str += '; Max-Age=' + maxAge;
|
|
213
|
-
}
|
|
214
|
-
|
|
215
|
-
if (opt.domain) {
|
|
216
|
-
if (!domainValueRegExp.test(opt.domain)) {
|
|
217
|
-
throw new TypeError('option domain is invalid');
|
|
218
|
-
}
|
|
219
|
-
|
|
220
|
-
str += '; Domain=' + opt.domain;
|
|
221
|
-
}
|
|
222
|
-
|
|
223
|
-
if (opt.path) {
|
|
224
|
-
if (!pathValueRegExp.test(opt.path)) {
|
|
225
|
-
throw new TypeError('option path is invalid');
|
|
226
|
-
}
|
|
227
|
-
|
|
228
|
-
str += '; Path=' + opt.path;
|
|
229
|
-
}
|
|
230
|
-
|
|
231
|
-
if (opt.expires) {
|
|
232
|
-
var expires = opt.expires
|
|
233
|
-
|
|
234
|
-
if (!isDate(expires) || isNaN(expires.valueOf())) {
|
|
235
|
-
throw new TypeError('option expires is invalid');
|
|
236
|
-
}
|
|
237
|
-
|
|
238
|
-
str += '; Expires=' + expires.toUTCString()
|
|
239
|
-
}
|
|
240
|
-
|
|
241
|
-
if (opt.httpOnly) {
|
|
242
|
-
str += '; HttpOnly';
|
|
243
|
-
}
|
|
244
|
-
|
|
245
|
-
if (opt.secure) {
|
|
246
|
-
str += '; Secure';
|
|
247
|
-
}
|
|
248
|
-
|
|
249
|
-
if (opt.partitioned) {
|
|
250
|
-
str += '; Partitioned'
|
|
251
|
-
}
|
|
252
|
-
|
|
253
|
-
if (opt.priority) {
|
|
254
|
-
var priority = typeof opt.priority === 'string'
|
|
255
|
-
? opt.priority.toLowerCase() : opt.priority;
|
|
256
|
-
|
|
257
|
-
switch (priority) {
|
|
258
|
-
case 'low':
|
|
259
|
-
str += '; Priority=Low'
|
|
260
|
-
break
|
|
261
|
-
case 'medium':
|
|
262
|
-
str += '; Priority=Medium'
|
|
263
|
-
break
|
|
264
|
-
case 'high':
|
|
265
|
-
str += '; Priority=High'
|
|
266
|
-
break
|
|
267
|
-
default:
|
|
268
|
-
throw new TypeError('option priority is invalid')
|
|
269
|
-
}
|
|
270
|
-
}
|
|
271
|
-
|
|
272
|
-
if (opt.sameSite) {
|
|
273
|
-
var sameSite = typeof opt.sameSite === 'string'
|
|
274
|
-
? opt.sameSite.toLowerCase() : opt.sameSite;
|
|
275
|
-
|
|
276
|
-
switch (sameSite) {
|
|
277
|
-
case true:
|
|
278
|
-
str += '; SameSite=Strict';
|
|
279
|
-
break;
|
|
280
|
-
case 'lax':
|
|
281
|
-
str += '; SameSite=Lax';
|
|
282
|
-
break;
|
|
283
|
-
case 'strict':
|
|
284
|
-
str += '; SameSite=Strict';
|
|
285
|
-
break;
|
|
286
|
-
case 'none':
|
|
287
|
-
str += '; SameSite=None';
|
|
288
|
-
break;
|
|
289
|
-
default:
|
|
290
|
-
throw new TypeError('option sameSite is invalid');
|
|
291
|
-
}
|
|
292
|
-
}
|
|
293
|
-
|
|
294
|
-
return str;
|
|
295
|
-
}
|
|
296
|
-
|
|
297
|
-
/**
|
|
298
|
-
* URL-decode string value. Optimized to skip native call when no %.
|
|
299
|
-
*
|
|
300
|
-
* @param {string} str
|
|
301
|
-
* @returns {string}
|
|
302
|
-
*/
|
|
303
|
-
|
|
304
|
-
function decode (str) {
|
|
305
|
-
return str.indexOf('%') !== -1
|
|
306
|
-
? decodeURIComponent(str)
|
|
307
|
-
: str
|
|
308
|
-
}
|
|
309
|
-
|
|
310
|
-
/**
|
|
311
|
-
* Determine if value is a Date.
|
|
312
|
-
*
|
|
313
|
-
* @param {*} val
|
|
314
|
-
* @private
|
|
315
|
-
*/
|
|
316
|
-
|
|
317
|
-
function isDate (val) {
|
|
318
|
-
return __toString.call(val) === '[object Date]';
|
|
319
|
-
}
|
|
320
|
-
|
|
321
|
-
/**
|
|
322
|
-
* Try decoding a string using a decoding function.
|
|
323
|
-
*
|
|
324
|
-
* @param {string} str
|
|
325
|
-
* @param {function} decode
|
|
326
|
-
* @private
|
|
327
|
-
*/
|
|
328
|
-
|
|
329
|
-
function tryDecode(str, decode) {
|
|
330
|
-
try {
|
|
331
|
-
return decode(str);
|
|
332
|
-
} catch (e) {
|
|
333
|
-
return str;
|
|
334
|
-
}
|
|
335
|
-
}
|
|
@@ -1,44 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"name": "cookie",
|
|
3
|
-
"description": "HTTP server cookie parsing and serialization",
|
|
4
|
-
"version": "0.7.2",
|
|
5
|
-
"author": "Roman Shtylman <shtylman@gmail.com>",
|
|
6
|
-
"contributors": [
|
|
7
|
-
"Douglas Christopher Wilson <doug@somethingdoug.com>"
|
|
8
|
-
],
|
|
9
|
-
"license": "MIT",
|
|
10
|
-
"keywords": [
|
|
11
|
-
"cookie",
|
|
12
|
-
"cookies"
|
|
13
|
-
],
|
|
14
|
-
"repository": "jshttp/cookie",
|
|
15
|
-
"devDependencies": {
|
|
16
|
-
"beautify-benchmark": "0.2.4",
|
|
17
|
-
"benchmark": "2.1.4",
|
|
18
|
-
"eslint": "8.53.0",
|
|
19
|
-
"eslint-plugin-markdown": "3.0.1",
|
|
20
|
-
"mocha": "10.2.0",
|
|
21
|
-
"nyc": "15.1.0",
|
|
22
|
-
"safe-buffer": "5.2.1",
|
|
23
|
-
"top-sites": "1.1.194"
|
|
24
|
-
},
|
|
25
|
-
"files": [
|
|
26
|
-
"HISTORY.md",
|
|
27
|
-
"LICENSE",
|
|
28
|
-
"README.md",
|
|
29
|
-
"SECURITY.md",
|
|
30
|
-
"index.js"
|
|
31
|
-
],
|
|
32
|
-
"main": "index.js",
|
|
33
|
-
"engines": {
|
|
34
|
-
"node": ">= 0.6"
|
|
35
|
-
},
|
|
36
|
-
"scripts": {
|
|
37
|
-
"bench": "node benchmark/index.js",
|
|
38
|
-
"lint": "eslint .",
|
|
39
|
-
"test": "mocha --reporter spec --bail --check-leaks test/",
|
|
40
|
-
"test-ci": "nyc --reporter=lcov --reporter=text npm test",
|
|
41
|
-
"test-cov": "nyc --reporter=html --reporter=text npm test",
|
|
42
|
-
"update-bench": "node scripts/update-benchmark.js"
|
|
43
|
-
}
|
|
44
|
-
}
|
|
@@ -1,47 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"name": "cookie",
|
|
3
|
-
"version": "1.1.1",
|
|
4
|
-
"description": "HTTP server cookie parsing and serialization",
|
|
5
|
-
"keywords": [
|
|
6
|
-
"cookie",
|
|
7
|
-
"cookies"
|
|
8
|
-
],
|
|
9
|
-
"repository": "jshttp/cookie",
|
|
10
|
-
"funding": {
|
|
11
|
-
"type": "opencollective",
|
|
12
|
-
"url": "https://opencollective.com/express"
|
|
13
|
-
},
|
|
14
|
-
"license": "MIT",
|
|
15
|
-
"author": "Roman Shtylman <shtylman@gmail.com>",
|
|
16
|
-
"contributors": [
|
|
17
|
-
"Douglas Christopher Wilson <doug@somethingdoug.com>"
|
|
18
|
-
],
|
|
19
|
-
"sideEffects": false,
|
|
20
|
-
"main": "dist/index.js",
|
|
21
|
-
"types": "dist/index.d.ts",
|
|
22
|
-
"files": [
|
|
23
|
-
"dist/"
|
|
24
|
-
],
|
|
25
|
-
"scripts": {
|
|
26
|
-
"bench": "vitest bench",
|
|
27
|
-
"build": "ts-scripts build",
|
|
28
|
-
"format": "ts-scripts format",
|
|
29
|
-
"prepare": "ts-scripts install",
|
|
30
|
-
"prepublishOnly": "npm run build",
|
|
31
|
-
"specs": "ts-scripts specs",
|
|
32
|
-
"test": "ts-scripts test"
|
|
33
|
-
},
|
|
34
|
-
"devDependencies": {
|
|
35
|
-
"@borderless/ts-scripts": "^0.15.0",
|
|
36
|
-
"@vitest/coverage-v8": "^3.2.4",
|
|
37
|
-
"top-sites": "1.1.194",
|
|
38
|
-
"typescript": "^5.6.2",
|
|
39
|
-
"vitest": "^3.2.4"
|
|
40
|
-
},
|
|
41
|
-
"engines": {
|
|
42
|
-
"node": ">=18"
|
|
43
|
-
},
|
|
44
|
-
"ts-scripts": {
|
|
45
|
-
"project": "tsconfig.build.json"
|
|
46
|
-
}
|
|
47
|
-
}
|
|
@@ -1,238 +0,0 @@
|
|
|
1
|
-
(function () {
|
|
2
|
-
|
|
3
|
-
'use strict';
|
|
4
|
-
|
|
5
|
-
var assign = require('object-assign');
|
|
6
|
-
var vary = require('vary');
|
|
7
|
-
|
|
8
|
-
var defaults = {
|
|
9
|
-
origin: '*',
|
|
10
|
-
methods: 'GET,HEAD,PUT,PATCH,POST,DELETE',
|
|
11
|
-
preflightContinue: false,
|
|
12
|
-
optionsSuccessStatus: 204
|
|
13
|
-
};
|
|
14
|
-
|
|
15
|
-
function isString(s) {
|
|
16
|
-
return typeof s === 'string' || s instanceof String;
|
|
17
|
-
}
|
|
18
|
-
|
|
19
|
-
function isOriginAllowed(origin, allowedOrigin) {
|
|
20
|
-
if (Array.isArray(allowedOrigin)) {
|
|
21
|
-
for (var i = 0; i < allowedOrigin.length; ++i) {
|
|
22
|
-
if (isOriginAllowed(origin, allowedOrigin[i])) {
|
|
23
|
-
return true;
|
|
24
|
-
}
|
|
25
|
-
}
|
|
26
|
-
return false;
|
|
27
|
-
} else if (isString(allowedOrigin)) {
|
|
28
|
-
return origin === allowedOrigin;
|
|
29
|
-
} else if (allowedOrigin instanceof RegExp) {
|
|
30
|
-
return allowedOrigin.test(origin);
|
|
31
|
-
} else {
|
|
32
|
-
return !!allowedOrigin;
|
|
33
|
-
}
|
|
34
|
-
}
|
|
35
|
-
|
|
36
|
-
function configureOrigin(options, req) {
|
|
37
|
-
var requestOrigin = req.headers.origin,
|
|
38
|
-
headers = [],
|
|
39
|
-
isAllowed;
|
|
40
|
-
|
|
41
|
-
if (!options.origin || options.origin === '*') {
|
|
42
|
-
// allow any origin
|
|
43
|
-
headers.push([{
|
|
44
|
-
key: 'Access-Control-Allow-Origin',
|
|
45
|
-
value: '*'
|
|
46
|
-
}]);
|
|
47
|
-
} else if (isString(options.origin)) {
|
|
48
|
-
// fixed origin
|
|
49
|
-
headers.push([{
|
|
50
|
-
key: 'Access-Control-Allow-Origin',
|
|
51
|
-
value: options.origin
|
|
52
|
-
}]);
|
|
53
|
-
headers.push([{
|
|
54
|
-
key: 'Vary',
|
|
55
|
-
value: 'Origin'
|
|
56
|
-
}]);
|
|
57
|
-
} else {
|
|
58
|
-
isAllowed = isOriginAllowed(requestOrigin, options.origin);
|
|
59
|
-
// reflect origin
|
|
60
|
-
headers.push([{
|
|
61
|
-
key: 'Access-Control-Allow-Origin',
|
|
62
|
-
value: isAllowed ? requestOrigin : false
|
|
63
|
-
}]);
|
|
64
|
-
headers.push([{
|
|
65
|
-
key: 'Vary',
|
|
66
|
-
value: 'Origin'
|
|
67
|
-
}]);
|
|
68
|
-
}
|
|
69
|
-
|
|
70
|
-
return headers;
|
|
71
|
-
}
|
|
72
|
-
|
|
73
|
-
function configureMethods(options) {
|
|
74
|
-
var methods = options.methods;
|
|
75
|
-
if (methods.join) {
|
|
76
|
-
methods = options.methods.join(','); // .methods is an array, so turn it into a string
|
|
77
|
-
}
|
|
78
|
-
return {
|
|
79
|
-
key: 'Access-Control-Allow-Methods',
|
|
80
|
-
value: methods
|
|
81
|
-
};
|
|
82
|
-
}
|
|
83
|
-
|
|
84
|
-
function configureCredentials(options) {
|
|
85
|
-
if (options.credentials === true) {
|
|
86
|
-
return {
|
|
87
|
-
key: 'Access-Control-Allow-Credentials',
|
|
88
|
-
value: 'true'
|
|
89
|
-
};
|
|
90
|
-
}
|
|
91
|
-
return null;
|
|
92
|
-
}
|
|
93
|
-
|
|
94
|
-
function configureAllowedHeaders(options, req) {
|
|
95
|
-
var allowedHeaders = options.allowedHeaders || options.headers;
|
|
96
|
-
var headers = [];
|
|
97
|
-
|
|
98
|
-
if (!allowedHeaders) {
|
|
99
|
-
allowedHeaders = req.headers['access-control-request-headers']; // .headers wasn't specified, so reflect the request headers
|
|
100
|
-
headers.push([{
|
|
101
|
-
key: 'Vary',
|
|
102
|
-
value: 'Access-Control-Request-Headers'
|
|
103
|
-
}]);
|
|
104
|
-
} else if (allowedHeaders.join) {
|
|
105
|
-
allowedHeaders = allowedHeaders.join(','); // .headers is an array, so turn it into a string
|
|
106
|
-
}
|
|
107
|
-
if (allowedHeaders && allowedHeaders.length) {
|
|
108
|
-
headers.push([{
|
|
109
|
-
key: 'Access-Control-Allow-Headers',
|
|
110
|
-
value: allowedHeaders
|
|
111
|
-
}]);
|
|
112
|
-
}
|
|
113
|
-
|
|
114
|
-
return headers;
|
|
115
|
-
}
|
|
116
|
-
|
|
117
|
-
function configureExposedHeaders(options) {
|
|
118
|
-
var headers = options.exposedHeaders;
|
|
119
|
-
if (!headers) {
|
|
120
|
-
return null;
|
|
121
|
-
} else if (headers.join) {
|
|
122
|
-
headers = headers.join(','); // .headers is an array, so turn it into a string
|
|
123
|
-
}
|
|
124
|
-
if (headers && headers.length) {
|
|
125
|
-
return {
|
|
126
|
-
key: 'Access-Control-Expose-Headers',
|
|
127
|
-
value: headers
|
|
128
|
-
};
|
|
129
|
-
}
|
|
130
|
-
return null;
|
|
131
|
-
}
|
|
132
|
-
|
|
133
|
-
function configureMaxAge(options) {
|
|
134
|
-
var maxAge = (typeof options.maxAge === 'number' || options.maxAge) && options.maxAge.toString()
|
|
135
|
-
if (maxAge && maxAge.length) {
|
|
136
|
-
return {
|
|
137
|
-
key: 'Access-Control-Max-Age',
|
|
138
|
-
value: maxAge
|
|
139
|
-
};
|
|
140
|
-
}
|
|
141
|
-
return null;
|
|
142
|
-
}
|
|
143
|
-
|
|
144
|
-
function applyHeaders(headers, res) {
|
|
145
|
-
for (var i = 0, n = headers.length; i < n; i++) {
|
|
146
|
-
var header = headers[i];
|
|
147
|
-
if (header) {
|
|
148
|
-
if (Array.isArray(header)) {
|
|
149
|
-
applyHeaders(header, res);
|
|
150
|
-
} else if (header.key === 'Vary' && header.value) {
|
|
151
|
-
vary(res, header.value);
|
|
152
|
-
} else if (header.value) {
|
|
153
|
-
res.setHeader(header.key, header.value);
|
|
154
|
-
}
|
|
155
|
-
}
|
|
156
|
-
}
|
|
157
|
-
}
|
|
158
|
-
|
|
159
|
-
function cors(options, req, res, next) {
|
|
160
|
-
var headers = [],
|
|
161
|
-
method = req.method && req.method.toUpperCase && req.method.toUpperCase();
|
|
162
|
-
|
|
163
|
-
if (method === 'OPTIONS') {
|
|
164
|
-
// preflight
|
|
165
|
-
headers.push(configureOrigin(options, req));
|
|
166
|
-
headers.push(configureCredentials(options, req));
|
|
167
|
-
headers.push(configureMethods(options, req));
|
|
168
|
-
headers.push(configureAllowedHeaders(options, req));
|
|
169
|
-
headers.push(configureMaxAge(options, req));
|
|
170
|
-
headers.push(configureExposedHeaders(options, req));
|
|
171
|
-
applyHeaders(headers, res);
|
|
172
|
-
|
|
173
|
-
if (options.preflightContinue) {
|
|
174
|
-
next();
|
|
175
|
-
} else {
|
|
176
|
-
// Safari (and potentially other browsers) need content-length 0,
|
|
177
|
-
// for 204 or they just hang waiting for a body
|
|
178
|
-
res.statusCode = options.optionsSuccessStatus;
|
|
179
|
-
res.setHeader('Content-Length', '0');
|
|
180
|
-
res.end();
|
|
181
|
-
}
|
|
182
|
-
} else {
|
|
183
|
-
// actual response
|
|
184
|
-
headers.push(configureOrigin(options, req));
|
|
185
|
-
headers.push(configureCredentials(options, req));
|
|
186
|
-
headers.push(configureExposedHeaders(options, req));
|
|
187
|
-
applyHeaders(headers, res);
|
|
188
|
-
next();
|
|
189
|
-
}
|
|
190
|
-
}
|
|
191
|
-
|
|
192
|
-
function middlewareWrapper(o) {
|
|
193
|
-
// if options are static (either via defaults or custom options passed in), wrap in a function
|
|
194
|
-
var optionsCallback = null;
|
|
195
|
-
if (typeof o === 'function') {
|
|
196
|
-
optionsCallback = o;
|
|
197
|
-
} else {
|
|
198
|
-
optionsCallback = function (req, cb) {
|
|
199
|
-
cb(null, o);
|
|
200
|
-
};
|
|
201
|
-
}
|
|
202
|
-
|
|
203
|
-
return function corsMiddleware(req, res, next) {
|
|
204
|
-
optionsCallback(req, function (err, options) {
|
|
205
|
-
if (err) {
|
|
206
|
-
next(err);
|
|
207
|
-
} else {
|
|
208
|
-
var corsOptions = assign({}, defaults, options);
|
|
209
|
-
var originCallback = null;
|
|
210
|
-
if (corsOptions.origin && typeof corsOptions.origin === 'function') {
|
|
211
|
-
originCallback = corsOptions.origin;
|
|
212
|
-
} else if (corsOptions.origin) {
|
|
213
|
-
originCallback = function (origin, cb) {
|
|
214
|
-
cb(null, corsOptions.origin);
|
|
215
|
-
};
|
|
216
|
-
}
|
|
217
|
-
|
|
218
|
-
if (originCallback) {
|
|
219
|
-
originCallback(req.headers.origin, function (err2, origin) {
|
|
220
|
-
if (err2 || !origin) {
|
|
221
|
-
next(err2);
|
|
222
|
-
} else {
|
|
223
|
-
corsOptions.origin = origin;
|
|
224
|
-
cors(corsOptions, req, res, next);
|
|
225
|
-
}
|
|
226
|
-
});
|
|
227
|
-
} else {
|
|
228
|
-
next();
|
|
229
|
-
}
|
|
230
|
-
}
|
|
231
|
-
});
|
|
232
|
-
};
|
|
233
|
-
}
|
|
234
|
-
|
|
235
|
-
// can pass either an options hash, an options delegate, or nothing
|
|
236
|
-
module.exports = middlewareWrapper;
|
|
237
|
-
|
|
238
|
-
}());
|
|
@@ -1,41 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"name": "cors",
|
|
3
|
-
"description": "Node.js CORS middleware",
|
|
4
|
-
"version": "2.8.5",
|
|
5
|
-
"author": "Troy Goode <troygoode@gmail.com> (https://github.com/troygoode/)",
|
|
6
|
-
"license": "MIT",
|
|
7
|
-
"keywords": [
|
|
8
|
-
"cors",
|
|
9
|
-
"express",
|
|
10
|
-
"connect",
|
|
11
|
-
"middleware"
|
|
12
|
-
],
|
|
13
|
-
"repository": "expressjs/cors",
|
|
14
|
-
"main": "./lib/index.js",
|
|
15
|
-
"dependencies": {
|
|
16
|
-
"object-assign": "^4",
|
|
17
|
-
"vary": "^1"
|
|
18
|
-
},
|
|
19
|
-
"devDependencies": {
|
|
20
|
-
"after": "0.8.2",
|
|
21
|
-
"eslint": "2.13.1",
|
|
22
|
-
"express": "4.16.3",
|
|
23
|
-
"mocha": "5.2.0",
|
|
24
|
-
"nyc": "13.1.0",
|
|
25
|
-
"supertest": "3.3.0"
|
|
26
|
-
},
|
|
27
|
-
"files": [
|
|
28
|
-
"lib/index.js",
|
|
29
|
-
"CONTRIBUTING.md",
|
|
30
|
-
"HISTORY.md",
|
|
31
|
-
"LICENSE",
|
|
32
|
-
"README.md"
|
|
33
|
-
],
|
|
34
|
-
"engines": {
|
|
35
|
-
"node": ">= 0.10"
|
|
36
|
-
},
|
|
37
|
-
"scripts": {
|
|
38
|
-
"test": "npm run lint && nyc --reporter=html --reporter=text mocha --require test/support/env",
|
|
39
|
-
"lint": "eslint lib test"
|
|
40
|
-
}
|
|
41
|
-
}
|