You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
refactor(application): the HTTP base follows #2574's version= rule, with no default member #2628
Follow-up from #2574. The other versioned family bases now follow the owner's rules there: version= alone picks the member, there is no default member, and a base never selects from field values. HTTP's base (#2544) predates those rules and still differs in three ways:
With no version, HTTP._dispatch_fields picks HTTPv2 for an HTTPv2-only field and otherwise defaults to HTTPv1.
HTTP.make defaults to version=1.
from_data on a dict picks by its receipt or sid keys.
None of this is in a release. The latest tag is v1.5.1.
Plan:
Building from fields requires version= and raises without it.
Drop the field picking and the HTTPv1 default.
Keep the octet dispatch, since HTTP octets identify their own version.
from_data dispatches by data-model class and refuses a dict, as ICMP and LinuxSLL do.
Blocked: this unblocks once #2574's PR merges. That PR sets the shared mechanism and the conventions table HTTP must match.
#2639 has merged as e87eb83b1 and closed #2574, so the shared mechanism and the conventions table are on main. Unblocked. A worker is bringing HTTP's base in line, following the plan above.
Activity
JarryShaw commentedon Nov 2, 2026
#2639 has merged as
e87eb83b1and closed #2574, so the shared mechanism and the conventions table are onmain. Unblocked. A worker is bringing HTTP's base in line, following the plan above.JarryShaw commentedon Nov 2, 2026
The PR is #2651.
refactor(application)!: the HTTP base follows the versioned-family ru…