import "perkeep/pkg/webserver"
Overview ▹
Overview ▾
Package webserver implements a superset wrapper of http.Server.
Among other things, it can throttle its connections, inherit its listening socket from a file descriptor in the environment, and log all activity.
Index
- type Server
- func New() *Server
- func (s *Server) Handle(pattern string, handler http.Handler)
- func (s *Server) HandleFunc(pattern string, fn func(http.ResponseWriter, *http.Request))
- func (s *Server) Listen(addr string) error
- func (s *Server) ListenURL() string
- func (s *Server) Serve()
- func (s *Server) ServeHTTP(rw http.ResponseWriter, req *http.Request)
- func (s *Server) SetTLS(setup TLSSetup)
- type TLSSetup
Package files
type Server
type Server struct { Logger *log.Logger // or nil. // H2Server is the HTTP/2 server config. H2Server http2.Server // contains filtered or unexported fields }
func New
func New() *Server
func (*Server) Handle
func (s *Server) Handle(pattern string, handler http.Handler)
func (*Server) HandleFunc
func (s *Server) HandleFunc(pattern string, fn func(http.ResponseWriter, *http.Request))
func (*Server) Listen
func (s *Server) Listen(addr string) error
Listen starts listening on the given host:port addr.
If the "host" part is "tailscale", it goes into Tailscale tsnet mode, and the "port" is instead an optional state directory path or a bare name for the instance name.
func (*Server) ListenURL
func (s *Server) ListenURL() string
ListenURL returns the base URL of the server, including its scheme and authority, but without a trailing slash or any path.
func (*Server) Serve
func (s *Server) Serve()
func (*Server) ServeHTTP
func (s *Server) ServeHTTP(rw http.ResponseWriter, req *http.Request)
func (*Server) SetTLS
func (s *Server) SetTLS(setup TLSSetup)
type TLSSetup
type TLSSetup struct { // Certfile is the path to the TLS certificate file. It takes precedence over CertManager. CertFile string // KeyFile is the path to the TLS key file. KeyFile string // CertManager is the tls.GetCertificate of the tls Config. But CertFile takes precedence. CertManager func(clientHello *tls.ClientHelloInfo) (*tls.Certificate, error) }
TLSSetup specifies how the server gets its TLS certificate.
Subdirectories
Name | Synopsis | |
---|---|---|
.. | ||
listen |