Skip to content

refactor(application): the HTTP base follows #2574's version= rule, with no default member #2628

Closed

Description

@JarryShaw

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.

Activity

  1. added this to the PyPCAPKit v1.6 milestone on Nov 2, 2026
  2. added
    refactorRestructuring for its own sake — neither a fix nor a new capability (refactor: prefix)
    blockedDeferred pending another issue or decision; see the last comment for what unblocks it
    on Nov 2, 2026
  3. moved this to Blocked in PyPCAPKiton Nov 2, 2026
  4. JarryShaw commented on Nov 2, 2026

    @JarryShaw
    OwnerAuthor

    #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.

  5. added
    wipWork in flight - a covering PR is open or an agent is actively on it
    and removed
    blockedDeferred pending another issue or decision; see the last comment for what unblocks it
    on Nov 2, 2026
  6. moved this from Blocked to WIP in PyPCAPKiton Nov 2, 2026
  7. JarryShaw commented on Nov 2, 2026

    @JarryShaw
    OwnerAuthor

    The PR is #2651.

  8. removed
    wipWork in flight - a covering PR is open or an agent is actively on it
    on Nov 2, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    refactorRestructuring for its own sake — neither a fix nor a new capability (refactor: prefix)

    Projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions