mirror of
https://github.com/caddyserver/caddy.git
synced 2024-11-26 10:13:39 +08:00
51 lines
1.2 KiB
Go
51 lines
1.2 KiB
Go
|
package server
|
||
|
|
||
|
import (
|
||
|
"net"
|
||
|
|
||
|
"github.com/mholt/caddy/middleware"
|
||
|
)
|
||
|
|
||
|
// Config configuration for a single server.
|
||
|
type Config struct {
|
||
|
// The hostname or IP on which to serve
|
||
|
Host string
|
||
|
|
||
|
// The port to listen on
|
||
|
Port string
|
||
|
|
||
|
// The directory from which to serve files
|
||
|
Root string
|
||
|
|
||
|
// HTTPS configuration
|
||
|
TLS TLSConfig
|
||
|
|
||
|
// Middleware stack; map of path scope to middleware -- TODO: Support path scope?
|
||
|
Middleware map[string][]middleware.Middleware
|
||
|
|
||
|
// Functions (or methods) to execute at server start; these
|
||
|
// are executed before any parts of the server are configured,
|
||
|
// and the functions are blocking
|
||
|
Startup []func() error
|
||
|
|
||
|
// Functions (or methods) to execute when the server quits;
|
||
|
// these are executed in response to SIGINT and are blocking
|
||
|
Shutdown []func() error
|
||
|
|
||
|
// The path to the configuration file from which this was loaded
|
||
|
ConfigFile string
|
||
|
}
|
||
|
|
||
|
// Address returns the host:port of c as a string.
|
||
|
func (c Config) Address() string {
|
||
|
return net.JoinHostPort(c.Host, c.Port)
|
||
|
}
|
||
|
|
||
|
// TLSConfig describes how TLS should be configured and used,
|
||
|
// if at all. A certificate and key are both required.
|
||
|
type TLSConfig struct {
|
||
|
Enabled bool
|
||
|
Certificate string
|
||
|
Key string
|
||
|
}
|