UNPKG

@sapphire/plugin-api

Version:

Plugin for @sapphire/framework to expose a REST API

100 lines (97 loc) 2.94 kB
'use strict'; 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