mirror of
https://github.com/actions/setup-python.git
synced 2025-01-26 00:05:16 +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;
|