Add a feature flag for testing h2c:// performance.

This commit is contained in:
Catherine
2025-09-21 04:38:06 +00:00
parent a10e28210a
commit 5b471f6677
2 changed files with 24 additions and 5 deletions
+14 -1
View File
@@ -7,12 +7,23 @@ import (
"log/slog"
"net"
"net/http"
"os"
"runtime/debug"
"slices"
"strings"
"github.com/KimMachineGun/automemlimit/memlimit"
)
var features []string
func FeatureActive(feature string) bool {
if features == nil {
features = strings.Split(strings.ToLower(os.Getenv("FEATURES")), ",")
}
return slices.Contains(features, strings.ToLower(feature))
}
func listen(name string, listen string) net.Listener {
if listen == "" {
return nil
@@ -57,7 +68,9 @@ func serve(listener net.Listener, serve func(http.ResponseWriter, *http.Request)
server := http.Server{Handler: handler}
server.Protocols = new(http.Protocols)
server.Protocols.SetHTTP1(true)
server.Protocols.SetUnencryptedHTTP2(true)
if FeatureActive("h2c") {
server.Protocols.SetUnencryptedHTTP2(true)
}
log.Fatalln(server.Serve(listener))
}
}