Skip to content

Does superagent support ALPN for http2 ? #1754

Description

@Louis-Tian

The documentation on http2 currently reads
https://github.com/visionmedia/superagent/blob/92b1435f4fd02193b12c6cf14f6ef4ca02b22bd6/docs/index.md?plain=1#L98
This sounds like the superagent will try to force the http2 only when the http2() method is called. When a request is made without the http2() method superagent will by default use the http2 and callbacks to http1 if the server does not support http2 (presumably using the ALNP?).

But at the moment (tested with superagent 8.0.0) when making a request using a superagent without the http2() to a server created by http2.createSecureServer without the 'allowHTTP1' options will result in an 'Unknown ALPN Protocol, expected h2 to be available' error on the server side.

According to https://nodejs.org/api/http2.html#event-unknownprotocol, this means the client

either does not send an ALPN extension or sends an ALPN extension that does not include HTTP/2 (h2).

Does this contradict what the superagent's documentation seems to be implying? Some clarification on the expected behavior will be very helpful. Thanks

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Fields

    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions