From 53bbdf17665a34831b32154a2ab7d33ba065743f Mon Sep 17 00:00:00 2001 From: Matthew Holt Date: Wed, 11 Sep 2019 17:16:21 -0600 Subject: httpcaddyfile: Add 'experimental_http3' option --- caddyconfig/httpcaddyfile/httptype.go | 9 +++++++++ 1 file changed, 9 insertions(+) (limited to 'caddyconfig/httpcaddyfile/httptype.go') diff --git a/caddyconfig/httpcaddyfile/httptype.go b/caddyconfig/httpcaddyfile/httptype.go index 63cbf8d..ce719dd 100644 --- a/caddyconfig/httpcaddyfile/httptype.go +++ b/caddyconfig/httpcaddyfile/httptype.go @@ -64,6 +64,8 @@ func (st ServerType) Setup(originalServerBlocks []caddyfile.ServerBlock, val, err = parseHTTPSPort(caddyfile.NewDispenser(segment)) case "handler_order": val, err = parseHandlerOrder(caddyfile.NewDispenser(segment)) + case "experimental_http3": + val, err = parseExperimentalHTTP3(caddyfile.NewDispenser(segment)) default: return nil, warnings, fmt.Errorf("unrecognized parameter name: %s", dir) } @@ -190,6 +192,13 @@ func (st ServerType) Setup(originalServerBlocks []caddyfile.ServerBlock, // consolidate automation policies that are the exact same tlsApp.Automation.Policies = consolidateAutomationPolicies(tlsApp.Automation.Policies) + // if experimental HTTP/3 is enabled, enable it on each server + if enableH3, ok := options["experimental_http3"].(bool); ok && enableH3 { + for _, srv := range httpApp.Servers { + srv.ExperimentalHTTP3 = true + } + } + // annnd the top-level config, then we're done! cfg := &caddy.Config{AppsRaw: make(map[string]json.RawMessage)} if !reflect.DeepEqual(httpApp, caddyhttp.App{}) { -- cgit v1.2.3