You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
28 lines
959 B
28 lines
959 B
4 years ago
|
const handler = {
|
||
|
scheme: "http",
|
||
|
domainHost: true,
|
||
|
parse: function (components, options) {
|
||
|
//report missing host
|
||
|
if (!components.host) {
|
||
|
components.error = components.error || "HTTP URIs must have a host.";
|
||
|
}
|
||
|
return components;
|
||
|
},
|
||
|
serialize: function (components, options) {
|
||
|
const secure = String(components.scheme).toLowerCase() === "https";
|
||
|
//normalize the default port
|
||
|
if (components.port === (secure ? 443 : 80) || components.port === "") {
|
||
|
components.port = undefined;
|
||
|
}
|
||
|
//normalize the empty path
|
||
|
if (!components.path) {
|
||
|
components.path = "/";
|
||
|
}
|
||
|
//NOTE: We do not parse query strings for HTTP URIs
|
||
|
//as WWW Form Url Encoded query strings are part of the HTML4+ spec,
|
||
|
//and not the HTTP spec.
|
||
|
return components;
|
||
|
}
|
||
|
};
|
||
|
export default handler;
|
||
|
//# sourceMappingURL=http.js.map
|