- Fix typings.
- Add support for
HTTP/3messages. - Fix
regexps.contentDispositionto support all unicode characters.
- 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
mandatoryHostis true, host header is validated.
- BREAKING: Request builder accepts
targetinstead ofpathandqueryParametersparameters. - BREAKING: Request/Response builders don't accept
cookiesparameter anymore (cookies must be present inheadersarray as the regular headers). - BREAKING: Request/Response parsers don't remove
Cookie/Set-Cookieheaders fromheadersarray anymore.
- Don't validate host header.
- Export the new
targetfield (request target) in request parser. - Don't omit
Hostheader in request parser, export it as a regular header. - Don't use
Hostfield to generate request message in builder, useHostheader fromheadersarray 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:
nameandvalue.
- Fix types defenitions.
- Integrate rollup and create client bundle (add browser support).
- Replace prefix
plaintoraw.
- Skip
set-cookieheaders in response builder, usecookiesobject from model.
- Remove
qsmodule, 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\nas line separator instead of\n. - BREAKING: Remove
messageSizefrom message model.
- Add support for new HTTP methods.
- Encode/decode url path and www-url-encoded body in builder and parser.
- Add ending
\nin multipart/formdata body.
- Fix cookies parser with value containing
=(equals) symbol.
- Filter out
hostandcookieheaders in request builder. They must be provided via own fields in model.
- Disallow
response.statusCodeequals zero.
- Allow
response.statusCodeequals zero.
- Add support for all known HTTP-methods .
- BREAKING: Merge
body.jsonandbody.plainand rename it tobody.text.
- Fix util method for url parsing.
- Add
messageSize,headersSize,bodySizeto request and response models. - Create type definitions file.
- Stabilize api.
- BREAKING: Rename
body.formDataParamstobody.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.eolin the parser automatically.
- BREAKING: Drop support for Node v6 and less.
- Throw
HttpZError. Don't extenderr.messageby error details, provide it aserr.detailsfield 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
paramstoqueryParams.
- BREAKING: Change
parsemethod 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.