{
  "classes": [
    {
      "constants": [],
      "types": [],
      "name": "@eryx/http/util",
      "tags": [],
      "functions": [
        {
          "source": {
            "path": "",
            "line": 9
          },
          "is_method": false,
          "signature": "util.trim(value: string) → string",
          "owner": "util",
          "desc": "",
          "tags": [],
          "name": "trim",
          "return_str": "string",
          "function_type": "Function",
          "returns": [
            {
              "lua_type": "string",
              "desc": ""
            }
          ],
          "params": [
            {
              "lua_type": "string",
              "name": "value",
              "desc": ""
            }
          ]
        },
        {
          "source": {
            "path": "",
            "line": 14
          },
          "is_method": false,
          "signature": "util.parseUrl(url: string) → { scheme: string, host: string, port: number, path: string }",
          "owner": "util",
          "desc": "Parse a URL into (scheme, host, port, path)",
          "tags": [],
          "name": "parseUrl",
          "return_str": "{ scheme: string, host: string, port: number, path: string }",
          "function_type": "Function",
          "returns": [
            {
              "lua_type": "{ scheme: string, host: string, port: number, path: string }",
              "desc": ""
            }
          ],
          "params": [
            {
              "lua_type": "string",
              "name": "url",
              "desc": ""
            }
          ]
        },
        {
          "source": {
            "path": "",
            "line": 56
          },
          "is_method": false,
          "signature": "util.resolveRedirect(originalUrl: { scheme: string, host: string, port: number, path: string }, location: string) → string",
          "owner": "util",
          "desc": "Resolves a possibly-relative Location header against the original URL.",
          "tags": [],
          "name": "resolveRedirect",
          "return_str": "string",
          "function_type": "Function",
          "returns": [
            {
              "lua_type": "string",
              "desc": ""
            }
          ],
          "params": [
            {
              "lua_type": "{ scheme: string, host: string, port: number, path: string }",
              "name": "originalUrl",
              "desc": ""
            },
            {
              "lua_type": "string",
              "name": "location",
              "desc": ""
            }
          ]
        },
        {
          "source": {
            "path": "",
            "line": 118
          },
          "is_method": false,
          "signature": "util.encodeQuery(data: { [string]: QueryValue }) → string",
          "owner": "util",
          "desc": "Encodes a table as a URL query string without the leading `?`.",
          "tags": [],
          "name": "encodeQuery",
          "return_str": "string",
          "function_type": "Function",
          "returns": [
            {
              "lua_type": "string",
              "desc": ""
            }
          ],
          "params": [
            {
              "lua_type": "{ [string]: QueryValue }",
              "name": "data",
              "desc": ""
            }
          ]
        },
        {
          "source": {
            "path": "",
            "line": 123
          },
          "is_method": false,
          "signature": "util.appendQuery(url: string, query: { [string]: QueryValue }?) → string",
          "owner": "util",
          "desc": "Appends encoded query parameters to a URL.",
          "tags": [],
          "name": "appendQuery",
          "return_str": "string",
          "function_type": "Function",
          "returns": [
            {
              "lua_type": "string",
              "desc": ""
            }
          ],
          "params": [
            {
              "lua_type": "string",
              "name": "url",
              "desc": ""
            },
            {
              "lua_type": "{ [string]: QueryValue }?",
              "name": "query",
              "desc": ""
            }
          ]
        },
        {
          "source": {
            "path": "",
            "line": 138
          },
          "is_method": false,
          "signature": "util.encodeForm(data: { [string]: QueryValue }) → string",
          "owner": "util",
          "desc": "Encodes a table as `application/x-www-form-urlencoded`.",
          "tags": [],
          "name": "encodeForm",
          "return_str": "string",
          "function_type": "Function",
          "returns": [
            {
              "lua_type": "string",
              "desc": ""
            }
          ],
          "params": [
            {
              "lua_type": "{ [string]: QueryValue }",
              "name": "data",
              "desc": ""
            }
          ]
        },
        {
          "source": {
            "path": "",
            "line": 143
          },
          "is_method": false,
          "signature": "util.decodeForm(data: string) → QueryTable",
          "owner": "util",
          "desc": "Decodes a URL query string or x-www-form-urlencoded body.",
          "tags": [],
          "name": "decodeForm",
          "return_str": "QueryTable",
          "function_type": "Function",
          "returns": [
            {
              "lua_type": "QueryTable",
              "desc": ""
            }
          ],
          "params": [
            {
              "lua_type": "string",
              "name": "data",
              "desc": ""
            }
          ]
        },
        {
          "source": {
            "path": "",
            "line": 177
          },
          "is_method": false,
          "signature": "util.parseRequestTarget(target: string) → { path: string, queryString: string, query: QueryTable }",
          "owner": "util",
          "desc": "Splits a request target into pathname and decoded query parameters.",
          "tags": [],
          "name": "parseRequestTarget",
          "return_str": "{ path: string, queryString: string, query: QueryTable }",
          "function_type": "Function",
          "returns": [
            {
              "lua_type": "{ path: string, queryString: string, query: QueryTable }",
              "desc": ""
            }
          ],
          "params": [
            {
              "lua_type": "string",
              "name": "target",
              "desc": ""
            }
          ]
        },
        {
          "source": {
            "path": "",
            "line": 197
          },
          "is_method": false,
          "signature": "util.parseContentType(value: string?) → { mediaType: string?, params: { [string]: string } }",
          "owner": "util",
          "desc": "Parses a Content-Type header into its media type and lowercase parameters.",
          "tags": [],
          "name": "parseContentType",
          "return_str": "{ mediaType: string?, params: { [string]: string } }",
          "function_type": "Function",
          "returns": [
            {
              "lua_type": "{ mediaType: string?, params: { [string]: string } }",
              "desc": ""
            }
          ],
          "params": [
            {
              "lua_type": "string?",
              "name": "value",
              "desc": ""
            }
          ]
        },
        {
          "source": {
            "path": "",
            "line": 230
          },
          "is_method": false,
          "signature": "util.isJsonContentType(value: string?) → boolean",
          "owner": "util",
          "desc": "",
          "tags": [],
          "name": "isJsonContentType",
          "return_str": "boolean",
          "function_type": "Function",
          "returns": [
            {
              "lua_type": "boolean",
              "desc": ""
            }
          ],
          "params": [
            {
              "lua_type": "string?",
              "name": "value",
              "desc": ""
            }
          ]
        },
        {
          "source": {
            "path": "",
            "line": 239
          },
          "is_method": false,
          "signature": "util.getHeaderLines(value: string?) → { string }",
          "owner": "util",
          "desc": "",
          "tags": [],
          "name": "getHeaderLines",
          "return_str": "{ string }",
          "function_type": "Function",
          "returns": [
            {
              "lua_type": "{ string }",
              "desc": ""
            }
          ],
          "params": [
            {
              "lua_type": "string?",
              "name": "value",
              "desc": ""
            }
          ]
        },
        {
          "source": {
            "path": "",
            "line": 251
          },
          "is_method": false,
          "signature": "util.parseContentLength(value: string?) → number?",
          "owner": "util",
          "desc": "",
          "tags": [],
          "name": "parseContentLength",
          "return_str": "number?",
          "function_type": "Function",
          "returns": [
            {
              "lua_type": "number?",
              "desc": ""
            }
          ],
          "params": [
            {
              "lua_type": "string?",
              "name": "value",
              "desc": ""
            }
          ]
        },
        {
          "source": {
            "path": "",
            "line": 274
          },
          "is_method": false,
          "signature": "util.parseTransferEncoding(value: string?) → { string }",
          "owner": "util",
          "desc": "",
          "tags": [],
          "name": "parseTransferEncoding",
          "return_str": "{ string }",
          "function_type": "Function",
          "returns": [
            {
              "lua_type": "{ string }",
              "desc": ""
            }
          ],
          "params": [
            {
              "lua_type": "string?",
              "name": "value",
              "desc": ""
            }
          ]
        },
        {
          "source": {
            "path": "",
            "line": 286
          },
          "is_method": false,
          "signature": "util.parseHeaderTokens(value: string?) → { string }",
          "owner": "util",
          "desc": "",
          "tags": [],
          "name": "parseHeaderTokens",
          "return_str": "{ string }",
          "function_type": "Function",
          "returns": [
            {
              "lua_type": "{ string }",
              "desc": ""
            }
          ],
          "params": [
            {
              "lua_type": "string?",
              "name": "value",
              "desc": ""
            }
          ]
        },
        {
          "source": {
            "path": "",
            "line": 298
          },
          "is_method": false,
          "signature": "util.headerHasToken(value: string?, token: string) → boolean",
          "owner": "util",
          "desc": "",
          "tags": [],
          "name": "headerHasToken",
          "return_str": "boolean",
          "function_type": "Function",
          "returns": [
            {
              "lua_type": "boolean",
              "desc": ""
            }
          ],
          "params": [
            {
              "lua_type": "string?",
              "name": "value",
              "desc": ""
            },
            {
              "lua_type": "string",
              "name": "token",
              "desc": ""
            }
          ]
        },
        {
          "source": {
            "path": "",
            "line": 310
          },
          "is_method": false,
          "signature": "util.parseHeaders(raw: string) → { [string]: string }",
          "owner": "util",
          "desc": "Parse \"Header-Name: value\\r\\n\" lines into a table.\nHeader names are lowercased for easy lookup.",
          "tags": [],
          "name": "parseHeaders",
          "return_str": "{ [string]: string }",
          "function_type": "Function",
          "returns": [
            {
              "lua_type": "{ [string]: string }",
              "desc": ""
            }
          ],
          "params": [
            {
              "lua_type": "string",
              "name": "raw",
              "desc": ""
            }
          ]
        }
      ],
      "properties": [],
      "source": {
        "path": "",
        "line": 0
      },
      "desc": ""
    }
  ]
}