Set host and port on address if specified via flag (fixes #888)

Also fixed a few typos and renamed caddyfile.ServerBlocks() to
caddyfile.Parse().
This commit is contained in:
Matthew Holt
2016-06-20 18:25:31 -06:00
parent 33aba7eb91
commit 937654d1e0
8 changed files with 54 additions and 15 deletions

View File

@@ -82,6 +82,16 @@ func (h *httpContext) InspectServerBlocks(sourceFile string, serverBlocks []cadd
if err != nil {
return serverBlocks, err
}
// Fill in address components from command line so that middleware
// have access to the correct information during setup
if addr.Host == "" && Host != DefaultHost {
addr.Host = Host
}
if addr.Port == "" && Port != DefaultPort {
addr.Port = Port
}
// Save the config to our master list, and key it for lookups
cfg := &SiteConfig{
Addr: addr,
@@ -222,7 +232,9 @@ func (sc *SiteConfig) AddMiddleware(m Middleware) {
// Address represents a site address. It contains
// the original input value, and the component
// parts of an address.
// parts of an address. The component parts may be
// updated to the correct values as setup proceeds,
// but the original value should never be changed.
type Address struct {
Original, Scheme, Host, Port, Path string
}