spring-projects / spring-projects/spring-framework

Support for RFC 8941 / RFC 10008 Structured Field Values for HTTP

Open
#36,962 5 comments 7 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

in: web type: enhancement
Dominant language
Java
Stars
60.2k
Forks
38.8k
Avg merge
5d 2h
Merged PRs (30d)
27

Description

Summary

There is currently no support in spring-web for parsing or serializing
structured HTTP header fields as defined in RFC 8941 and the in-progress
RFC 10008 (https://datatracker.ietf.org/doc/rfc10008/).

We are working with headers like Priority, Accept-CH and Signature-Input
and currently have to parse them manually or rely on third-party libraries,
since HttpHeaders has no understanding of the RFC 8941 structured types
(Item, List, Dictionary, Token, Byte Sequence).

Proposed solution

Add parsing and serialization support for RFC 8941 structured field values
to spring-web, for example as a utility class StructuredFieldValues or
as typed accessors directly on HttpHeaders.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by reading the spring-web HttpHeaders API and the RFC 8941 and RFC 10008 definitions for Item, List, Dictionary, Token, and Byte Sequence. Compare the proposed StructuredFieldValues utility with typed accessors on HttpHeaders, then define the supported scope and verify that the chosen API can parse and serialize the example headers Priority, Accept-CH, and Signature-Input.

Written by the indexing model from the issue text.

Assessment

Tech stack
java, spring
Domain
api, backend-api-design
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Active
Clarity
Needs clarification
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.