Skip to content

Add basic HTTP/2 frame metadata#19

Open
keilogic wants to merge 1 commit into
SuperCowPowers:masterfrom
keilogic:http2-flow-metadata
Open

Add basic HTTP/2 frame metadata#19
keilogic wants to merge 1 commit into
SuperCowPowers:masterfrom
keilogic:http2-flow-metadata

Conversation

@keilogic

@keilogic keilogic commented Jun 1, 2026

Copy link
Copy Markdown

Summary

  • add basic cleartext HTTP/2 metadata detection when HTTP/1 parsing fails
  • recognize the HTTP/2 client connection preface and complete frame headers
  • report frame type, flags, stream id, length, and frame count while keeping the existing HTTP/1 behavior intact
  • add focused tests for client preface + SETTINGS, server SETTINGS on an HTTP port, and non-HTTP/2 payloads

Fixes #13.

Scope note: this PR does not decrypt HTTPS/TLS traffic. It covers cleartext HTTP/2 (h2c) or already-decrypted HTTP/2 payloads in the existing flow metadata path. TLS keylog decryption is a separate larger feature tracked by #11.

Verification

  • py -m py_compile chains\links\http_meta.py chains\links\http_meta_http2_test.py
  • py -m pytest chains\links\http_meta_http2_test.py -q
  • py -m flake8 chains\links\http_meta.py chains\links\http_meta_http2_test.py
  • git diff --check

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Is HTTP2 supported?

1 participant