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;