Initial
This commit is contained in:
48
resources/app/node_modules/@smithy/protocol-http/dist-es/httpRequest.js
generated
vendored
Normal file
48
resources/app/node_modules/@smithy/protocol-http/dist-es/httpRequest.js
generated
vendored
Normal file
@@ -0,0 +1,48 @@
|
||||
export class HttpRequest {
|
||||
constructor(options) {
|
||||
this.method = options.method || "GET";
|
||||
this.hostname = options.hostname || "localhost";
|
||||
this.port = options.port;
|
||||
this.query = options.query || {};
|
||||
this.headers = options.headers || {};
|
||||
this.body = options.body;
|
||||
this.protocol = options.protocol
|
||||
? options.protocol.slice(-1) !== ":"
|
||||
? `${options.protocol}:`
|
||||
: options.protocol
|
||||
: "https:";
|
||||
this.path = options.path ? (options.path.charAt(0) !== "/" ? `/${options.path}` : options.path) : "/";
|
||||
this.username = options.username;
|
||||
this.password = options.password;
|
||||
this.fragment = options.fragment;
|
||||
}
|
||||
static isInstance(request) {
|
||||
if (!request)
|
||||
return false;
|
||||
const req = request;
|
||||
return ("method" in req &&
|
||||
"protocol" in req &&
|
||||
"hostname" in req &&
|
||||
"path" in req &&
|
||||
typeof req["query"] === "object" &&
|
||||
typeof req["headers"] === "object");
|
||||
}
|
||||
clone() {
|
||||
const cloned = new HttpRequest({
|
||||
...this,
|
||||
headers: { ...this.headers },
|
||||
});
|
||||
if (cloned.query)
|
||||
cloned.query = cloneQuery(cloned.query);
|
||||
return cloned;
|
||||
}
|
||||
}
|
||||
function cloneQuery(query) {
|
||||
return Object.keys(query).reduce((carry, paramName) => {
|
||||
const param = query[paramName];
|
||||
return {
|
||||
...carry,
|
||||
[paramName]: Array.isArray(param) ? [...param] : param,
|
||||
};
|
||||
}, {});
|
||||
}
|
||||
Reference in New Issue
Block a user