From cd486c25d168caf58f4b6fe5d3252df9432901ec Mon Sep 17 00:00:00 2001 From: Francis Lavoie Date: Wed, 2 Aug 2023 16:03:26 -0400 Subject: caddyhttp: Make use of `http.ResponseController` (#5654) * caddyhttp: Make use of http.ResponseController Also syncs the reverseproxy implementation with stdlib's which now uses ResponseController as well https://github.com/golang/go/commit/2449bbb5e614954ce9e99c8a481ea2ee73d72d61 * Enable full-duplex for HTTP/1.1 * Appease linter * Add warning for builds with Go 1.20, so it's less surprising to users * Improved godoc for EnableFullDuplex, copied text from stdlib * Only wrap in encode if not already wrapped --- modules/caddyhttp/duplex_go121.go | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) create mode 100644 modules/caddyhttp/duplex_go121.go (limited to 'modules/caddyhttp/duplex_go121.go') diff --git a/modules/caddyhttp/duplex_go121.go b/modules/caddyhttp/duplex_go121.go new file mode 100644 index 0000000..4f3851c --- /dev/null +++ b/modules/caddyhttp/duplex_go121.go @@ -0,0 +1,25 @@ +// Copyright 2015 Matthew Holt and The Caddy Authors +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +//go:build go1.21 + +package caddyhttp + +import ( + "net/http" +) + +func enableFullDuplex(w http.ResponseWriter) { + http.NewResponseController(w).EnableFullDuplex() +} -- cgit v1.2.3 From 6cdcc2a78208b1d30b37fb06780160fcad48aab4 Mon Sep 17 00:00:00 2001 From: Matt Holt Date: Wed, 9 Aug 2023 10:34:28 -0600 Subject: ci: Update to Go 1.21 (#5719) * ci: Update to Go 1.21 * Bump quic-go to v0.37.4 * Check EnableFullDuplex err * Linter bug suppression See https://github.com/timakin/bodyclose/issues/52 --------- Co-authored-by: Francis Lavoie --- modules/caddyhttp/duplex_go121.go | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) (limited to 'modules/caddyhttp/duplex_go121.go') diff --git a/modules/caddyhttp/duplex_go121.go b/modules/caddyhttp/duplex_go121.go index 4f3851c..a17d3af 100644 --- a/modules/caddyhttp/duplex_go121.go +++ b/modules/caddyhttp/duplex_go121.go @@ -20,6 +20,7 @@ import ( "net/http" ) -func enableFullDuplex(w http.ResponseWriter) { - http.NewResponseController(w).EnableFullDuplex() +func enableFullDuplex(w http.ResponseWriter) error { + //nolint:bodyclose + return http.NewResponseController(w).EnableFullDuplex() } -- cgit v1.2.3