fastify / fastify/light-my-request
Support HTTP/2 (including Cleartext)
- Dominant language
- JavaScript
- Stars
- 420
- Forks
- 55
- Avg merge
- 13d 14h
- Merged PRs (30d)
- 1
Description
### Prerequisites
- [X] I have written a descriptive issue title
- [X] I have searched existing issues to ensure the feature has not already been requested
### 🚀 Feature Proposal
Add options to `inject()` to send HTTP/2 requests instead of HTTP/1.1. My proposal would be `app.inject({ http2: true })...` or `app.inject({ httpVersion: 2 })...` but automatic detection could work too.
### Motivation
When I add `http2: true` to Fastify options, all requests made with `inject()` receive 505 status code. For secure servers, adding `https: { allowHttp1: true }` works, but
1. the user may not want to allow HTTP/1.1;
2. the server may behave differently depending on the protocol version and it's desired to test HTTP/2 in particular.
As a workaround for 1, you could have `https: { allowHttp1: process.env.JEST_WORKER_ID !== undefined }`, but I don't like server code knowing about tests like that.
And of course, if the server wants to use H2C, there's no `allowHttp1` option.
### Example
_No response_
Contributor guide
Assessment
This issue has not been assessed yet.