github.com/useflyent/fhttp@v0.0.0-20211004035111-333f430cfbbf/CONTRIBUTING.md (about) 1 # Contributing 2 This serves as a todo list for the library, anybody can contribute. For a branch to be merged, first open a pull request. For issues not on this page, open an issue first to see if the issue is within scope of this library. 3 4 ## gzip, deflate, br 5 The `gzip, deflate, br` encoding should be implemented as an opt-in way for the client to use this instead of the standard gzip encoding. A helpful example can be found [here](https://play.golang.org/p/80HukFxfs4). 6 7 ## Writing better tests 8 * Test fingerprinting bypass with this [site](https://privacycheck.sec.lrz.de/passive/fp_h2/fp_http2.html#fpDemoHttp2) 9 * Test for ENABLE_PUSH implementation, from [here](https://go-review.googlesource.com/c/net/+/181497/) 10 * Test for all features mentioned in [README](README.md), such as header order and pheader order with httptrace 11 12 ## Create a server fingerprint implementation 13 Will be able to use library in order to check fingerprint of incoming requests, and see what http2 setting is missing or wrong 14 15 ## Fix push handler errors 16 The push handler has errors with reading responses, specifically, it will sometimes fail because it read to EOF, or `Client closed connection before receiving entire response`. Someone with knowledge of how pushed requests are sent and read should fix this issue, or see if something was copied wrong when implementing [the pull request](https://go-review.googlesource.com/c/net/+/181497/) 17 18 ## Merging upstream 19 When changes are made by the golang team on the [http]() or [http2](https://pkg.go.dev/golang.org/x/net/http2) library as a release branch, 20 ``` 21 git remote add -f golang git@github.com:golang/go.git 22 git checkout -b golang-upstream golang/master 23 git subtree split -P src/crypto/tls/ -b golang-tls-upstream 24 git checkout master 25 git merge --no-commit golang-<http or http2>-upstream 26 ```