mirror of
https://github.com/actions/setup-python.git
synced 2025-01-11 18:45:17 +00:00
36 lines
946 B
TypeScript
36 lines
946 B
TypeScript
import { URISchemeHandler, URIComponents, URIOptions } from "../uri";
|
|
|
|
const handler:URISchemeHandler = {
|
|
scheme : "http",
|
|
|
|
domainHost : true,
|
|
|
|
parse : function (components:URIComponents, options:URIOptions):URIComponents {
|
|
//report missing host
|
|
if (!components.host) {
|
|
components.error = components.error || "HTTP URIs must have a host.";
|
|
}
|
|
|
|
return components;
|
|
},
|
|
|
|
serialize : function (components:URIComponents, options:URIOptions):URIComponents {
|
|
//normalize the default port
|
|
if (components.port === (String(components.scheme).toLowerCase() !== "https" ? 80 : 443) || 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; |