create project
This commit is contained in:
100
kitabcitab/node_modules/next/dist/server/web/utils.js
generated
vendored
Normal file
100
kitabcitab/node_modules/next/dist/server/web/utils.js
generated
vendored
Normal file
@@ -0,0 +1,100 @@
|
||||
"use strict";
|
||||
Object.defineProperty(exports, "__esModule", {
|
||||
value: true
|
||||
});
|
||||
exports.fromNodeHeaders = fromNodeHeaders;
|
||||
exports.splitCookiesString = splitCookiesString;
|
||||
exports.toNodeHeaders = toNodeHeaders;
|
||||
exports.validateURL = validateURL;
|
||||
function fromNodeHeaders(object) {
|
||||
const headers = new Headers();
|
||||
for (let [key, value] of Object.entries(object)){
|
||||
const values = Array.isArray(value) ? value : [
|
||||
value
|
||||
];
|
||||
for (let v of values){
|
||||
if (v !== undefined) {
|
||||
headers.append(key, v);
|
||||
}
|
||||
}
|
||||
}
|
||||
return headers;
|
||||
}
|
||||
function splitCookiesString(cookiesString) {
|
||||
var cookiesStrings = [];
|
||||
var pos = 0;
|
||||
var start;
|
||||
var ch;
|
||||
var lastComma;
|
||||
var nextStart;
|
||||
var cookiesSeparatorFound;
|
||||
function skipWhitespace() {
|
||||
while(pos < cookiesString.length && /\s/.test(cookiesString.charAt(pos))){
|
||||
pos += 1;
|
||||
}
|
||||
return pos < cookiesString.length;
|
||||
}
|
||||
function notSpecialChar() {
|
||||
ch = cookiesString.charAt(pos);
|
||||
return ch !== "=" && ch !== ";" && ch !== ",";
|
||||
}
|
||||
while(pos < cookiesString.length){
|
||||
start = pos;
|
||||
cookiesSeparatorFound = false;
|
||||
while(skipWhitespace()){
|
||||
ch = cookiesString.charAt(pos);
|
||||
if (ch === ",") {
|
||||
// ',' is a cookie separator if we have later first '=', not ';' or ','
|
||||
lastComma = pos;
|
||||
pos += 1;
|
||||
skipWhitespace();
|
||||
nextStart = pos;
|
||||
while(pos < cookiesString.length && notSpecialChar()){
|
||||
pos += 1;
|
||||
}
|
||||
// currently special character
|
||||
if (pos < cookiesString.length && cookiesString.charAt(pos) === "=") {
|
||||
// we found cookies separator
|
||||
cookiesSeparatorFound = true;
|
||||
// pos is inside the next cookie, so back up and return it.
|
||||
pos = nextStart;
|
||||
cookiesStrings.push(cookiesString.substring(start, lastComma));
|
||||
start = pos;
|
||||
} else {
|
||||
// in param ',' or param separator ';',
|
||||
// we continue from that comma
|
||||
pos = lastComma + 1;
|
||||
}
|
||||
} else {
|
||||
pos += 1;
|
||||
}
|
||||
}
|
||||
if (!cookiesSeparatorFound || pos >= cookiesString.length) {
|
||||
cookiesStrings.push(cookiesString.substring(start, cookiesString.length));
|
||||
}
|
||||
}
|
||||
return cookiesStrings;
|
||||
}
|
||||
function toNodeHeaders(headers) {
|
||||
const result = {};
|
||||
if (headers) {
|
||||
for (const [key, value] of headers.entries()){
|
||||
result[key] = value;
|
||||
if (key.toLowerCase() === "set-cookie") {
|
||||
result[key] = splitCookiesString(value);
|
||||
}
|
||||
}
|
||||
}
|
||||
return result;
|
||||
}
|
||||
function validateURL(url) {
|
||||
try {
|
||||
return String(new URL(String(url)));
|
||||
} catch (error) {
|
||||
throw new Error(`URL is malformed "${String(url)}". Please use only absolute URLs - https://nextjs.org/docs/messages/middleware-relative-urls`, {
|
||||
cause: error
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
//# sourceMappingURL=utils.js.map
|
||||
Reference in New Issue
Block a user