52 lines
1.5 KiB
JavaScript
52 lines
1.5 KiB
JavaScript
|
import { NEXT_RSC_UNION_QUERY } from "../client/components/app-router-headers";
|
||
|
const INTERNAL_QUERY_NAMES = [
|
||
|
"__nextFallback",
|
||
|
"__nextLocale",
|
||
|
"__nextInferredLocaleFromDefault",
|
||
|
"__nextDefaultLocale",
|
||
|
"__nextIsNotFound",
|
||
|
NEXT_RSC_UNION_QUERY
|
||
|
];
|
||
|
const EDGE_EXTENDED_INTERNAL_QUERY_NAMES = [
|
||
|
"__nextDataReq"
|
||
|
];
|
||
|
export function stripInternalQueries(query) {
|
||
|
for (const name of INTERNAL_QUERY_NAMES){
|
||
|
delete query[name];
|
||
|
}
|
||
|
}
|
||
|
export function stripInternalSearchParams(url, isEdge) {
|
||
|
const isStringUrl = typeof url === "string";
|
||
|
const instance = isStringUrl ? new URL(url) : url;
|
||
|
for (const name of INTERNAL_QUERY_NAMES){
|
||
|
instance.searchParams.delete(name);
|
||
|
}
|
||
|
if (isEdge) {
|
||
|
for (const name of EDGE_EXTENDED_INTERNAL_QUERY_NAMES){
|
||
|
instance.searchParams.delete(name);
|
||
|
}
|
||
|
}
|
||
|
return isStringUrl ? instance.toString() : instance;
|
||
|
}
|
||
|
/**
|
||
|
* Headers that are set by the Next.js server and should be stripped from the
|
||
|
* request headers going to the user's application.
|
||
|
*/ const INTERNAL_HEADERS = [
|
||
|
"x-invoke-path",
|
||
|
"x-invoke-status",
|
||
|
"x-invoke-error",
|
||
|
"x-invoke-query",
|
||
|
"x-invoke-output",
|
||
|
"x-middleware-invoke"
|
||
|
];
|
||
|
/**
|
||
|
* Strip internal headers from the request headers.
|
||
|
*
|
||
|
* @param headers the headers to strip of internal headers
|
||
|
*/ export function stripInternalHeaders(headers) {
|
||
|
for (const key of INTERNAL_HEADERS){
|
||
|
delete headers[key];
|
||
|
}
|
||
|
}
|
||
|
|
||
|
//# sourceMappingURL=internal-utils.js.map
|