webserver

package
v0.0.0-...-a5a65f0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Dec 30, 2017 License: Apache-2.0 Imports: 17 Imported by: 161

Documentation

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

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

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.

func (*Server) ListenURL

func (s *Server) ListenURL() string

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.

Directories

Path Synopsis

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL