The "Structured Field Values" was updated in RFC9651. This new specification added the 'Date' and 'Display String' field types. The former encodes unix timestamp, the latter a Unicode string.
Perfect time to update this package as well! This new major release supports the new standard.
- #66: We now convert from/to
ArrayBuffer
instead of a custom ByteSequence object. This is a breaking change. - Add support for
Date
andDisplayString
from RFC9651. - Switched to ESM, but we're still bundling a CommonJS build.
- No longer shipping a minified build.
- Dropped Chai and now using
node:assert
. - Dropped Mocha and now using
node:test
.
- Fixed
exports
value inpackage.json
. (@CxRes)
- Support for a new
Date
andDisplay String
types, from the new draft draft-ietf-httpbis-sfbis. - Simplified serializing Dictionaries and Items. The existing signatures still work, but the new API is a bit more natural and doesn't require wrapping everything in arrays and Maps.
- Now requires Node 18.
- Converted to ESM.
- No longer providing a Webpack build. Most frontend applications already do their own bundling. Please let us know if you need this, so we can redo this with modern tools.
- This library emitted
TypeError
or a plainError
in a few places in the parser, where it should have beenParseError
this is corrected everywhere now.
- This is mainly a re-release of 0.5.0. The package is stable and dependencies have been updated.
- Dropped support for Node 12. The minimum Node version is now 14.
- All the serializer functions are now exported. (@adrianhopebailie)
- Added an
isByteSequence
helper function (@adrianhopebailie) - Bring all dependencies up to date.
- Corrected the 'main' property in
package.json
.
- Fully up to date with RFC8941.
- This is a complete rewrite, all APIs have changed and return the structures that are recommended by the actual RFC document.
- Passing almost all tests from the HTTP WG test suite. See the readme for the exceptions.
- Fully up to date with draft-ietf-httpbis-header-structure-13.
- Parameterized Lists and List of Lists are gone, their feautures are merged into List and Dictionaries.
- Both lists and dictionaries now require an object such as
{value: x, parameters: y}
. This is a breaking change, but was required to support parameters correctly everywhere. - Stricter float parsing.
- Fully up to date with draft-ietf-httpbis-header-structure-10.
- True and False are now encoded as
?1
and?0
. - Added serializing support.
- Integers with more than 15 digits now error as per the new draft.
- Updated all dependencies.
- Fully up to date with draft-ietf-httpbis-header-structure-09.
- Package renamed to 'structured-headers'.
- Conversion to typescript.
- The
parseBinary
function is renamed toparseByteSequence
, to match the rename in draft-ietf-httpbis-header-structure-08. - Support for Booleans.
- The
parseIdentifier
function is renamed toparseToken
, to match the rename in draft-ietf-httpbis-header-structure-09. - Renamed
parseParameterizedList
toparseParamList
. It's shorter.
- Added minified webpacked version.
- Added readme.
- Fixed a small bug in identifier parsing.
- 100% unittest coverage.
- First version!
- Parses all of the 04 draft of the specification.