- BREAKING: Drop support for Node versions prior v18.
- Convert codebase to TypeScript. Replace Mocha + Should to Jest.
- Delete Lodash dependency. Now http-z has zero dependencies!
- Fix building messages for
Transfer-Encoding: chunked
.
- Fix parsing messages for
Transfer-Encoding: chunked
, #67.
- Fix type definitions.
- Add support for
Transfer-Encoding: chunked
. - Fix bugs in type definitions.
- BREAKING: Drop support for Node versions prior v16.
- Create online demo.
- Fix bugs in type definitions.
- Fix bug in form params parser.
- Allow empty Set-Cookie header.
- Add options to request parser/builder, if
mandatoryHost
is true, host header is validated.
- BREAKING: Request builder accepts
target
instead ofpath
andqueryParameters
parameters. - BREAKING: Request/Response builders don't accept
cookies
parameter anymore (cookies must be present inheaders
array as the regular headers). - BREAKING: Request/Response parsers don't remove
Cookie
/Set-Cookie
headers fromheaders
array anymore.
- Don't validate host header.
- Export the new
target
field (request target) in request parser. - Don't omit
Host
header in request parser, export it as a regular header. - Don't use
Host
field to generate request message in builder, useHost
header fromheaders
array instead.
- BREAKING: Drop support for Node versions prior v12.
- Update dependencies.
- Url-decode url.host and url.path in parse action.
- Don't process empty arrays (with zero elements) in builder.
- Validate that header name is not empty in builder.
- BREAKING: Store header value as is (don't parse for values and params). Now header is an object with two string fields:
name
andvalue
.
- Fix types defenitions.
- Integrate rollup and create client bundle (add browser support).
- Replace prefix
plain
toraw
.
- Skip
set-cookie
headers in response builder, usecookies
object from model.
- Remove
qs
module, use the nativeURLSearchParams
.
- Fix typo:
pathch
=>patch
.
- Refactor codebase according to RFC 7230.
- Add full support for multipart/* body (except encoding stuff).
- Add optional parameters to message body model:
type
,contentType
,fileName
. - BREAKING: Use
\r\n
as line separator instead of\n
. - BREAKING: Remove
messageSize
from message model.
- Add support for new HTTP methods.
- Encode/decode url path and www-url-encoded body in builder and parser.
- Add ending
\n
in multipart/formdata body.
- Fix cookies parser with value containing
=
(equals) symbol.
- Filter out
host
andcookie
headers in request builder. They must be provided via own fields in model.
- Disallow
response.statusCode
equals zero.
- Allow
response.statusCode
equals zero.
- Add support for all known HTTP-methods .
- BREAKING: Merge
body.json
andbody.plain
and rename it tobody.text
.
- Fix util method for url parsing.
- Add
messageSize
,headersSize
,bodySize
to request and response models. - Create type definitions file.
- Stabilize api.
- BREAKING: Rename
body.formDataParams
tobody.params
.
- BREAKING: Drop support for Node v8 and less.
- Fix regexp for boundary.
- Allow empty values for queryParams, headers.
- Don't add field with null values for empty/missing values.
- Remove ending asterisks from http.contentType.any constants.
- Split HTTP contentType into groups.
- Add HTTP constants.
- Bug fixes.
- Determine
message.eol
in the parser automatically.
- BREAKING: Drop support for Node v6 and less.
- Throw
HttpZError
. Don't extenderr.message
by error details, provide it aserr.details
field instead.
- BREAKING: Convert queryParams to array of the format
[{ name, value }]
. - Add special processing for user-agent header.
- Bug fixes.
- Bug fixes.
- Add consts to export.
- BREAKING: Rename field
params
toqueryParams
.
- BREAKING: Change
parse
method declaration, now it accepts the arguments list instead of params object:parse('message', 'eol)
.
- Fix request startRow processing with empty path (in parser).
- Fix body processing with unsupported content-type (in builder).
- Update packages to the last versions.
- Bug fixes.
- Add logic for parsing/building multiple set-cookie headers in response parser/builder.
- Fix logic for parsing/building path and host.
- BREAKING: Remove HTTP Basic auth.
- Stabilize the builders api.
- Stabilize the parsers api.
- Release the first version.