rest: improve handling of HTTP2 goaway

The HTTP client can only retry HTTP2 requests after receiving a GOAWAY
response if it can rewind the body. As we use a custom data type,
explicitly provide an implementation of `GetBody`.
This commit is contained in:
Michael Eischer
2024-08-26 15:32:43 +02:00
parent a8efaee03c
commit 36c4475ad9
2 changed files with 19 additions and 0 deletions

View File

@@ -0,0 +1,13 @@
Bugfix: Improve HTTP2 support for rest backend
If rest-server tried to gracefully shut down an HTTP2 connection still used by the client,
this could result in the following error.
```
http2: Transport: cannot retry err [http2: Transport received Server's graceful shutdown GOAWAY] after Request.Body was written; define Request.GetBody to avoid this error
```
This has been fixed.
https://github.com/restic/restic/pull/5018
https://forum.restic.net/t/receiving-http2-goaway-messages-with-windows-restic-v0-17-0/8367