@eryx/http/util Module

Summary

Functions

util.trim(value: string) → string
util.parseUrl(url: string) → ParsedUrl
util.resolveRedirect(originalUrl: ParsedUrl, location: string) → string
util.encodeQuery(data: { [string]: QueryValue }) → string
util.appendQuery(url: string, query: { [string]: QueryValue }?) → string
util.encodeForm(data: { [string]: QueryValue }) → string
util.decodeForm(data: string) → QueryTable
util.parseRequestTarget(target: string) → { path: string, queryString: string, query: QueryTable }
util.parseContentType(value: string?) → { mediaType: string?, params: { [string]: string } }
util.isJsonContentType(value: string?) → boolean
util.getHeaderLines(value: string?) → { string }
util.parseContentLength(value: string?) → number?
util.parseTransferEncoding(value: string?) → { string }
util.parseHeaderTokens(value: string?) → { string }
util.headerHasToken(value: string?, token: string) → boolean
util.parseHeaders(raw: string) → { [string]: string }

API Reference

Functions

util.trim

util.trim(value: string) → string

util.parseUrl

Parse a URL into (scheme, host, port, path)

util.parseUrl(url: string) → ParsedUrl

util.resolveRedirect

Resolves a possibly-relative Location header against the original URL.

util.resolveRedirect(originalUrl: ParsedUrl, 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 }