chaite
Version:
core for chatgpt-plugin and karin-plugin-chatgpt
311 lines (307 loc) • 10.1 kB
JavaScript
import { t as __commonJS } from "../../rolldown-runtime-DVriDoez.mjs";
//#region node_modules/.pnpm/vary@1.1.2/node_modules/vary/index.js
/*!
* vary
* Copyright(c) 2014-2017 Douglas Christopher Wilson
* MIT Licensed
*/
var require_vary = /* @__PURE__ */ __commonJS({ "node_modules/.pnpm/vary@1.1.2/node_modules/vary/index.js": ((exports, module) => {
/**
* Module exports.
*/
module.exports = vary;
module.exports.append = append;
/**
* RegExp to match field-name in RFC 7230 sec 3.2
*
* field-name = token
* token = 1*tchar
* tchar = "!" / "#" / "$" / "%" / "&" / "'" / "*"
* / "+" / "-" / "." / "^" / "_" / "`" / "|" / "~"
* / DIGIT / ALPHA
* ; any VCHAR, except delimiters
*/
var FIELD_NAME_REGEXP = /^[!#$%&'*+\-.^_`|~0-9A-Za-z]+$/;
/**
* Append a field to a vary header.
*
* @param {String} header
* @param {String|Array} field
* @return {String}
* @public
*/
function append(header, field) {
if (typeof header !== "string") throw new TypeError("header argument is required");
if (!field) throw new TypeError("field argument is required");
var fields = !Array.isArray(field) ? parse(String(field)) : field;
for (var j = 0; j < fields.length; j++) if (!FIELD_NAME_REGEXP.test(fields[j])) throw new TypeError("field argument contains an invalid header name");
if (header === "*") return header;
var val = header;
var vals = parse(header.toLowerCase());
if (fields.indexOf("*") !== -1 || vals.indexOf("*") !== -1) return "*";
for (var i = 0; i < fields.length; i++) {
var fld = fields[i].toLowerCase();
if (vals.indexOf(fld) === -1) {
vals.push(fld);
val = val ? val + ", " + fields[i] : fields[i];
}
}
return val;
}
/**
* Parse a vary header into an array.
*
* @param {String} header
* @return {Array}
* @private
*/
function parse(header) {
var end = 0;
var list = [];
var start = 0;
for (var i = 0, len = header.length; i < len; i++) switch (header.charCodeAt(i)) {
case 32:
if (start === end) start = end = i + 1;
break;
case 44:
list.push(header.substring(start, end));
start = end = i + 1;
break;
default:
end = i + 1;
break;
}
list.push(header.substring(start, end));
return list;
}
/**
* Mark that a request is varied on a header field.
*
* @param {Object} res
* @param {String|Array} field
* @public
*/
function vary(res, field) {
if (!res || !res.getHeader || !res.setHeader) throw new TypeError("res argument is required");
var val = res.getHeader("Vary") || "";
if (val = append(Array.isArray(val) ? val.join(", ") : String(val), field)) res.setHeader("Vary", val);
}
}) });
//#endregion
//#region node_modules/.pnpm/object-assign@4.1.1/node_modules/object-assign/index.js
/*
object-assign
(c) Sindre Sorhus
@license MIT
*/
var require_object_assign = /* @__PURE__ */ __commonJS({ "node_modules/.pnpm/object-assign@4.1.1/node_modules/object-assign/index.js": ((exports, module) => {
var getOwnPropertySymbols = Object.getOwnPropertySymbols;
var hasOwnProperty = Object.prototype.hasOwnProperty;
var propIsEnumerable = Object.prototype.propertyIsEnumerable;
function toObject(val) {
if (val === null || val === void 0) throw new TypeError("Object.assign cannot be called with null or undefined");
return Object(val);
}
function shouldUseNative() {
try {
if (!Object.assign) return false;
var test1 = /* @__PURE__ */ new String("abc");
test1[5] = "de";
if (Object.getOwnPropertyNames(test1)[0] === "5") return false;
var test2 = {};
for (var i = 0; i < 10; i++) test2["_" + String.fromCharCode(i)] = i;
if (Object.getOwnPropertyNames(test2).map(function(n) {
return test2[n];
}).join("") !== "0123456789") return false;
var test3 = {};
"abcdefghijklmnopqrst".split("").forEach(function(letter) {
test3[letter] = letter;
});
if (Object.keys(Object.assign({}, test3)).join("") !== "abcdefghijklmnopqrst") return false;
return true;
} catch (err) {
return false;
}
}
module.exports = shouldUseNative() ? Object.assign : function(target, source) {
var from;
var to = toObject(target);
var symbols;
for (var s = 1; s < arguments.length; s++) {
from = Object(arguments[s]);
for (var key in from) if (hasOwnProperty.call(from, key)) to[key] = from[key];
if (getOwnPropertySymbols) {
symbols = getOwnPropertySymbols(from);
for (var i = 0; i < symbols.length; i++) if (propIsEnumerable.call(from, symbols[i])) to[symbols[i]] = from[symbols[i]];
}
}
return to;
};
}) });
//#endregion
//#region node_modules/.pnpm/cors@2.8.5/node_modules/cors/lib/index.js
var require_lib = /* @__PURE__ */ __commonJS({ "node_modules/.pnpm/cors@2.8.5/node_modules/cors/lib/index.js": ((exports, module) => {
(function() {
var assign = require_object_assign();
var vary$1 = require_vary();
var defaults = {
origin: "*",
methods: "GET,HEAD,PUT,PATCH,POST,DELETE",
preflightContinue: false,
optionsSuccessStatus: 204
};
function isString(s) {
return typeof s === "string" || s instanceof String;
}
function isOriginAllowed(origin, allowedOrigin) {
if (Array.isArray(allowedOrigin)) {
for (var i = 0; i < allowedOrigin.length; ++i) if (isOriginAllowed(origin, allowedOrigin[i])) return true;
return false;
} else if (isString(allowedOrigin)) return origin === allowedOrigin;
else if (allowedOrigin instanceof RegExp) return allowedOrigin.test(origin);
else return !!allowedOrigin;
}
function configureOrigin(options, req) {
var requestOrigin = req.headers.origin, headers = [], isAllowed;
if (!options.origin || options.origin === "*") headers.push([{
key: "Access-Control-Allow-Origin",
value: "*"
}]);
else if (isString(options.origin)) {
headers.push([{
key: "Access-Control-Allow-Origin",
value: options.origin
}]);
headers.push([{
key: "Vary",
value: "Origin"
}]);
} else {
isAllowed = isOriginAllowed(requestOrigin, options.origin);
headers.push([{
key: "Access-Control-Allow-Origin",
value: isAllowed ? requestOrigin : false
}]);
headers.push([{
key: "Vary",
value: "Origin"
}]);
}
return headers;
}
function configureMethods(options) {
var methods = options.methods;
if (methods.join) methods = options.methods.join(",");
return {
key: "Access-Control-Allow-Methods",
value: methods
};
}
function configureCredentials(options) {
if (options.credentials === true) return {
key: "Access-Control-Allow-Credentials",
value: "true"
};
return null;
}
function configureAllowedHeaders(options, req) {
var allowedHeaders = options.allowedHeaders || options.headers;
var headers = [];
if (!allowedHeaders) {
allowedHeaders = req.headers["access-control-request-headers"];
headers.push([{
key: "Vary",
value: "Access-Control-Request-Headers"
}]);
} else if (allowedHeaders.join) allowedHeaders = allowedHeaders.join(",");
if (allowedHeaders && allowedHeaders.length) headers.push([{
key: "Access-Control-Allow-Headers",
value: allowedHeaders
}]);
return headers;
}
function configureExposedHeaders(options) {
var headers = options.exposedHeaders;
if (!headers) return null;
else if (headers.join) headers = headers.join(",");
if (headers && headers.length) return {
key: "Access-Control-Expose-Headers",
value: headers
};
return null;
}
function configureMaxAge(options) {
var maxAge = (typeof options.maxAge === "number" || options.maxAge) && options.maxAge.toString();
if (maxAge && maxAge.length) return {
key: "Access-Control-Max-Age",
value: maxAge
};
return null;
}
function applyHeaders(headers, res) {
for (var i = 0, n = headers.length; i < n; i++) {
var header = headers[i];
if (header) {
if (Array.isArray(header)) applyHeaders(header, res);
else if (header.key === "Vary" && header.value) vary$1(res, header.value);
else if (header.value) res.setHeader(header.key, header.value);
}
}
}
function cors(options, req, res, next) {
var headers = [];
if ((req.method && req.method.toUpperCase && req.method.toUpperCase()) === "OPTIONS") {
headers.push(configureOrigin(options, req));
headers.push(configureCredentials(options, req));
headers.push(configureMethods(options, req));
headers.push(configureAllowedHeaders(options, req));
headers.push(configureMaxAge(options, req));
headers.push(configureExposedHeaders(options, req));
applyHeaders(headers, res);
if (options.preflightContinue) next();
else {
res.statusCode = options.optionsSuccessStatus;
res.setHeader("Content-Length", "0");
res.end();
}
} else {
headers.push(configureOrigin(options, req));
headers.push(configureCredentials(options, req));
headers.push(configureExposedHeaders(options, req));
applyHeaders(headers, res);
next();
}
}
function middlewareWrapper(o) {
var optionsCallback = null;
if (typeof o === "function") optionsCallback = o;
else optionsCallback = function(req, cb) {
cb(null, o);
};
return function corsMiddleware(req, res, next) {
optionsCallback(req, function(err, options) {
if (err) next(err);
else {
var corsOptions = assign({}, defaults, options);
var originCallback = null;
if (corsOptions.origin && typeof corsOptions.origin === "function") originCallback = corsOptions.origin;
else if (corsOptions.origin) originCallback = function(origin, cb) {
cb(null, corsOptions.origin);
};
if (originCallback) originCallback(req.headers.origin, function(err2, origin) {
if (err2 || !origin) next(err2);
else {
corsOptions.origin = origin;
cors(corsOptions, req, res, next);
}
});
else next();
}
});
};
}
module.exports = middlewareWrapper;
})();
}) });
//#endregion
export { require_vary as n, require_lib as t };