http2: delete multipart form tempfiles after ServeHTTP returns
Do the same post-handler cleanup as the HTTP/1 server does.
No test here; test for HTTP/1 and HTTP/2 in CL 423194.
For golang/go#20253.
Change-Id: Iba54110ad2844571076c721d7ec19c39ba36de79
Reviewed-on: https://go-review.googlesource.com/c/net/+/423055
Reviewed-by: Robert Griesemer <gri@google.com>
Run-TryBot: Damien Neil <dneil@google.com>
TryBot-Result: Gopher Robot <gobot@golang.org>
Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
diff --git a/http2/server.go b/http2/server.go
index 2368499..aa3b086 100644
--- a/http2/server.go
+++ b/http2/server.go
@@ -2229,6 +2229,9 @@
didPanic := true
defer func() {
rw.rws.stream.cancelCtx()
+ if req.MultipartForm != nil {
+ req.MultipartForm.RemoveAll()
+ }
if didPanic {
e := recover()
sc.writeFrameFromHandler(FrameWriteRequest{