mirror of
https://github.com/fosrl/pangolin.git
synced 2026-10-22 12:39:05 +02:00
Kebab case the request and response headers
This commit is contained in:
@@ -444,14 +444,18 @@ export async function buildPublicResourceBlueprintConfig(
|
|||||||
}
|
}
|
||||||
if (resource.requestHeaders) {
|
if (resource.requestHeaders) {
|
||||||
try {
|
try {
|
||||||
resourceConfig.requestHeaders = JSON.parse(resource.requestHeaders);
|
resourceConfig["request-headers"] = JSON.parse(
|
||||||
|
resource.requestHeaders
|
||||||
|
);
|
||||||
} catch {
|
} catch {
|
||||||
// ignore malformed stored headers
|
// ignore malformed stored headers
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (resource.responseHeaders) {
|
if (resource.responseHeaders) {
|
||||||
try {
|
try {
|
||||||
resourceConfig.responseHeaders = JSON.parse(resource.responseHeaders);
|
resourceConfig["response-headers"] = JSON.parse(
|
||||||
|
resource.responseHeaders
|
||||||
|
);
|
||||||
} catch {
|
} catch {
|
||||||
// ignore malformed stored headers
|
// ignore malformed stored headers
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -267,18 +267,25 @@ export async function updatePublicResources(
|
|||||||
resourceData.ssl == undefined || resourceData.ssl == null
|
resourceData.ssl == undefined || resourceData.ssl == null
|
||||||
? true
|
? true
|
||||||
: resourceData.ssl;
|
: resourceData.ssl;
|
||||||
// `headers` is a deprecated alias for `requestHeaders`
|
// `headers` and `requestHeaders` are deprecated aliases for
|
||||||
|
// `request-headers`; `responseHeaders` for `response-headers`
|
||||||
const mergedRequestHeaders = [
|
const mergedRequestHeaders = [
|
||||||
...(resourceData.headers ?? []),
|
...(resourceData.headers ?? []),
|
||||||
...(resourceData.requestHeaders ?? [])
|
...(resourceData.requestHeaders ?? []),
|
||||||
|
...(resourceData["request-headers"] ?? [])
|
||||||
];
|
];
|
||||||
const requestHeaders =
|
const requestHeaders =
|
||||||
mergedRequestHeaders.length > 0
|
mergedRequestHeaders.length > 0
|
||||||
? JSON.stringify(mergedRequestHeaders)
|
? JSON.stringify(mergedRequestHeaders)
|
||||||
: null;
|
: null;
|
||||||
const responseHeaders = resourceData.responseHeaders?.length
|
const mergedResponseHeaders = [
|
||||||
? JSON.stringify(resourceData.responseHeaders)
|
...(resourceData.responseHeaders ?? []),
|
||||||
: null;
|
...(resourceData["response-headers"] ?? [])
|
||||||
|
];
|
||||||
|
const responseHeaders =
|
||||||
|
mergedResponseHeaders.length > 0
|
||||||
|
? JSON.stringify(mergedResponseHeaders)
|
||||||
|
: null;
|
||||||
|
|
||||||
if (resourceData.policy) {
|
if (resourceData.policy) {
|
||||||
const isLicensed = await isLicensedOrSubscribed(
|
const isLicensed = await isLicensedOrSubscribed(
|
||||||
|
|||||||
@@ -350,9 +350,11 @@ export const PublicResourceSchema = z
|
|||||||
"load-balancing-strategy": z
|
"load-balancing-strategy": z
|
||||||
.enum(["wrr", "p2c", "hrw", "leasttime"])
|
.enum(["wrr", "p2c", "hrw", "leasttime"])
|
||||||
.optional(),
|
.optional(),
|
||||||
headers: z.array(HeaderSchema).optional(), // deprecated alias for requestHeaders
|
"request-headers": z.array(HeaderSchema).optional(),
|
||||||
requestHeaders: z.array(HeaderSchema).optional(),
|
"response-headers": z.array(HeaderSchema).optional(),
|
||||||
responseHeaders: z.array(HeaderSchema).optional(),
|
headers: z.array(HeaderSchema).optional(), // deprecated alias for request-headers
|
||||||
|
requestHeaders: z.array(HeaderSchema).optional(), // deprecated alias for request-headers
|
||||||
|
responseHeaders: z.array(HeaderSchema).optional(), // deprecated alias for response-headers
|
||||||
rules: z.array(RuleSchema).optional(),
|
rules: z.array(RuleSchema).optional(),
|
||||||
maintenance: MaintenanceSchema.optional(),
|
maintenance: MaintenanceSchema.optional(),
|
||||||
mtls: MtlsSchema.optional(), // deprecated alias for auth.mtls
|
mtls: MtlsSchema.optional(), // deprecated alias for auth.mtls
|
||||||
|
|||||||
Reference in New Issue
Block a user