https://github.com/pschichtel/rfc5988
Library to parse RFC 5988 and RFC 8288 Link headers
https://github.com/pschichtel/rfc5988
gradle kotlin kotlin-library link-header parser parser-combinators rfc-5646 rfc-5988 rfc-8288
Last synced: 4 months ago
JSON representation
Library to parse RFC 5988 and RFC 8288 Link headers
- Host: GitHub
- URL: https://github.com/pschichtel/rfc5988
- Owner: pschichtel
- License: mit
- Created: 2021-12-29T03:26:13.000Z (over 4 years ago)
- Default Branch: main
- Last Pushed: 2024-11-29T00:08:49.000Z (over 1 year ago)
- Last Synced: 2025-04-10T06:07:08.995Z (about 1 year ago)
- Topics: gradle, kotlin, kotlin-library, link-header, parser, parser-combinators, rfc-5646, rfc-5988, rfc-8288
- Language: Kotlin
- Homepage: https://schich.tel
- Size: 159 KB
- Stars: 1
- Watchers: 2
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# rfc5988
This is a simple library that parses `Link` headers in accordance to [RFC 5988](https://datatracker.ietf.org/doc/html/rfc5988). The parser should also be compatible with the newer [RFC 8288](https://datatracker.ietf.org/doc/html/rfc8288) (see [Appendix C](https://datatracker.ietf.org/doc/html/rfc8288#appendix-C)).
This RFC references several other standards as per [Section 1](https://datatracker.ietf.org/doc/html/rfc5988#section-1):
* [RFC 2616](https://datatracker.ietf.org/doc/html/rfc2616): Several ABNF definitions have been implemented
* [RFC 3986](https://datatracker.ietf.org/doc/html/rfc3986): `URI` and `URI-Reference` defintions, neither of which have been implemented in this library
* [RFC 4288](https://datatracker.ietf.org/doc/html/rfc4288): type-name and subtype-name have been implemented
* [W3C HTML 4.01](https://www.w3.org/TR/html401/): `MediaDesc` is referenced, but not implemented in this libary
* [RFC 5646](https://datatracker.ietf.org/doc/html/rfc5646): `Language-Tag` is referenced and fully implemented here including a test suite based on the RFC examples
* [RFC 5987](https://datatracker.ietf.org/doc/html/rfc5987): `ext-value` and `parmname` are referenced and fully implemented here
The library uses parser combinators to create a parser that is very close the grammars found in the RFCs.