@sapphire/plugin-api
Version:
Plugin for @sapphire/framework to expose a REST API
100 lines (97 loc) • 2.94 kB
JavaScript
;
var utilities = require('@sapphire/utilities');
var cookieEs = require('cookie-es');
var constants_cjs = require('../constants.cjs');
var __defProp = Object.defineProperty;
var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
var __publicField = (obj, key, value) => __defNormalProp(obj, key + "" , value);
var _RequestHeadersProxy = class _RequestHeadersProxy {
constructor(request) {
__publicField(this, "request");
this.request = request;
}
append(name, value) {
const { headers } = this.request;
const current = headers[name];
if (current) {
if (Array.isArray(current)) {
current.push(value);
} else {
headers[name] = [current, value];
}
} else {
headers[name] = value;
}
}
delete(name) {
this.request.headers[name] = void 0;
}
get(name) {
return normalizeValue(this.request.headers[name]);
}
has(name) {
return !utilities.isNullishOrEmpty(this.request.headers[name]);
}
set(name, value) {
this.request.headers[name] = value;
}
getSetCookie() {
const setCookie = this.get("set-cookie");
return setCookie === null ? [] : cookieEs.splitSetCookieString(setCookie);
}
forEach(callbackfn, thisArg) {
for (const [key, value] of this.entries()) {
callbackfn.call(thisArg, value, key, this);
}
}
*keys() {
const { headers } = this.request;
for (const key of Object.keys(headers)) {
const value = headers[key];
if (!utilities.isNullishOrEmpty(value)) {
yield key;
}
}
}
*values() {
const { headers } = this.request;
for (const key of Object.keys(headers)) {
const value = headers[key];
if (!utilities.isNullishOrEmpty(value)) {
yield normalizeValue(value);
}
}
}
*entries() {
const { headers } = this.request;
for (const key of Object.keys(headers)) {
const value = headers[key];
if (!utilities.isNullishOrEmpty(value)) {
yield [key, normalizeValue(value)];
}
}
}
[Symbol.iterator]() {
return this.entries();
}
// eslint-disable-next-line @typescript-eslint/class-literal-property-style
get [Symbol.toStringTag]() {
return "Headers";
}
[constants_cjs.NodeUtilInspectSymbol]() {
return Object.fromEntries(this.entries());
}
};
__name(_RequestHeadersProxy, "RequestHeadersProxy");
var RequestHeadersProxy = _RequestHeadersProxy;
function normalizeValue(value) {
if (Array.isArray(value)) {
return value.join(", ");
}
return String(value ?? "");
}
__name(normalizeValue, "normalizeValue");
exports.RequestHeadersProxy = RequestHeadersProxy;
//# sourceMappingURL=RequestHeadersProxy.cjs.map
//# sourceMappingURL=RequestHeadersProxy.cjs.map