28 lines
959 B
JavaScript
Executable File
28 lines
959 B
JavaScript
Executable File
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
|