Skip to content

[FEATURE] Support Binary Framing Layer for HTTP2 #99

@gimlet2

Description

@gimlet2

Feature Description

Implement the binary framing layer as defined by the HTTP2 protocol to replace the text-based HTTP/1.x message framing.

Problem/Use Case

A binary framing layer is essential for HTTP2's improved performance and flexibility. It allows structured frames for data and control signals.

Proposed Solution

  • Parse and generate HTTP2 frames according to RFC 7540
  • Support frame types: DATA, HEADERS, SETTINGS, PRIORITY, RST_STREAM, PUSH_PROMISE, PING, GOAWAY, WINDOW_UPDATE, CONTINUATION
  • Ensure robust error handling for invalid frames

Code Example

val frame = Http2Frame(type = FrameType.DATA, payload = ...)
server.sendFrame(frame)

Alternatives Considered

  • Retaining HTTP/1.x framing (not compliant)

Additional Context

  • Would this be a breaking change? Yes
  • Priority: High
  • Related to HTTP2 support #3 HTTP2 support

Related Issues/PRs

Metadata

Metadata

Assignees

No one assigned

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions