federation: don't close body when not reading it

Closes #431
This commit is contained in:
Tulir Asokan 2025-11-06 16:37:27 +01:00
commit 36d4e1f99c
2 changed files with 4 additions and 3 deletions

View file

@ -707,6 +707,7 @@ const ErrorResponseSizeLimit = 512 * 1024
var DefaultResponseSizeLimit int64 = 512 * 1024 * 1024
func ParseErrorResponse(req *http.Request, res *http.Response) ([]byte, error) {
defer res.Body.Close()
contents, err := readResponseBody(req, res, ErrorResponseSizeLimit)
if err != nil {
return contents, err

View file

@ -314,9 +314,9 @@ func (c *Client) MakeFullRequest(ctx context.Context, params RequestParams) ([]b
WrappedError: err,
}
}
defer func() {
_ = resp.Body.Close()
}()
if !params.DontReadBody {
defer resp.Body.Close()
}
var body []byte
if resp.StatusCode >= 300 {
body, err = mautrix.ParseErrorResponse(req, resp)