mirror of
https://github.com/caddyserver/caddy.git
synced 2025-02-02 14:17:01 +01:00
Defer loading directives until needed (fix for previous commit)
This change is still experimental.
This commit is contained in:
parent
5a691fbaf5
commit
17709a7d3f
3 changed files with 8 additions and 7 deletions
2
caddy.go
2
caddy.go
|
@ -455,7 +455,7 @@ func startWithListenerFds(cdyfile Input, inst *Instance, restartFds map[string]r
|
|||
return err
|
||||
}
|
||||
|
||||
err = executeDirectives(inst, cdyfile.Path(), stype.Directives, sblocks)
|
||||
err = executeDirectives(inst, cdyfile.Path(), stype.Directives(), sblocks)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
|
|
@ -26,7 +26,7 @@ func init() {
|
|||
flag.BoolVar(&QUIC, "quic", false, "Use experimental QUIC")
|
||||
|
||||
caddy.RegisterServerType(serverType, caddy.ServerType{
|
||||
Directives: directives,
|
||||
Directives: func() []string { return directives },
|
||||
DefaultInput: func() caddy.Input {
|
||||
if Port == DefaultPort && Host != "" {
|
||||
// by leaving the port blank in this case we give auto HTTPS
|
||||
|
|
11
plugins.go
11
plugins.go
|
@ -79,7 +79,7 @@ func ValidDirectives(serverType string) []string {
|
|||
if err != nil {
|
||||
return nil
|
||||
}
|
||||
return stype.Directives
|
||||
return stype.Directives()
|
||||
}
|
||||
|
||||
// ServerListener pairs a server to its listener and/or packetconn.
|
||||
|
@ -145,10 +145,11 @@ func RegisterServerType(typeName string, srv ServerType) {
|
|||
|
||||
// ServerType contains information about a server type.
|
||||
type ServerType struct {
|
||||
// List of directives, in execution order, that are
|
||||
// valid for this server type. Directives should be
|
||||
// one word if possible and lower-cased.
|
||||
Directives []string
|
||||
// Function that returns the list of directives, in
|
||||
// execution order, that are valid for this server
|
||||
// type. Directives should be one word if possible
|
||||
// and lower-cased.
|
||||
Directives func() []string
|
||||
|
||||
// DefaultInput returns a default config input if none
|
||||
// is otherwise loaded. This is optional, but highly
|
||||
|
|
Loading…
Reference in a new issue