Browse Source
httpcaddyfile: Add 'experimental_http3' option
master
Matthew Holt
6 years ago
No known key found for this signature in database
GPG Key ID: 2A349DD577D586A5
2 changed files with
13 additions and
0 deletions
-
caddyconfig/httpcaddyfile/httptype.go
-
caddyconfig/httpcaddyfile/options.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{}) { |
|
|
|
|
|
@ -52,6 +52,10 @@ func parseHTTPSPort(d *caddyfile.Dispenser) (int, error) { |
|
|
|
return httpsPort, nil |
|
|
|
} |
|
|
|
|
|
|
|
func parseExperimentalHTTP3(d *caddyfile.Dispenser) (bool, error) { |
|
|
|
return true, nil |
|
|
|
} |
|
|
|
|
|
|
|
func parseHandlerOrder(d *caddyfile.Dispenser) ([]string, error) { |
|
|
|
if !d.Next() { |
|
|
|
return nil, d.ArgErr() |
|
|
|