Parse a URL into (scheme, host, port, path)
@eryx/http/util Module
JSON
Summary
Functions
util.resolveRedirect(originalUrl: { scheme: string, host: string, port: number, path: string }, location: string) → string
API Reference
Functions
util.trim
util.trim(value: string) → string
util.parseUrl
util.parseUrl(url: string) → { scheme: string, host: string, port: number, path: string }
util.resolveRedirect
Resolves a possibly-relative Location header against the original URL.
util.resolveRedirect(originalUrl: { scheme: string, host: string, port: number, path: string }, location: string) → string
util.encodeQuery
Encodes a table as a URL query string without the leading ?.
util.encodeQuery(data: { [string]: QueryValue }) → string
util.appendQuery
Appends encoded query parameters to a URL.
util.appendQuery(url: string, query: { [string]: QueryValue }?) → string
util.encodeForm
Encodes a table as application/x-www-form-urlencoded.
util.encodeForm(data: { [string]: QueryValue }) → string
util.decodeForm
Decodes a URL query string or x-www-form-urlencoded body.
util.decodeForm(data: string) → QueryTable
util.parseRequestTarget
Splits a request target into pathname and decoded query parameters.
util.parseRequestTarget(target: string) → { path: string, queryString: string, query: QueryTable }
util.parseContentType
Parses a Content-Type header into its media type and lowercase parameters.
util.parseContentType(value: string?) → { mediaType: string?, params: { [string]: string } }
util.isJsonContentType
util.isJsonContentType(value: string?) → boolean
util.getHeaderLines
util.getHeaderLines(value: string?) → { string }
util.parseContentLength
util.parseContentLength(value: string?) → number?
util.parseTransferEncoding
util.parseTransferEncoding(value: string?) → { string }
util.parseHeaderTokens
util.parseHeaderTokens(value: string?) → { string }
util.headerHasToken
util.headerHasToken(value: string?, token: string) → boolean
util.parseHeaders
Parse "Header-Name: value\r\n" lines into a table. Header names are lowercased for easy lookup.
util.parseHeaders(raw: string) → { [string]: string }