httpreloader

package module
v0.0.1 Latest Latest
Warning

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

Go to latest
Published: Mar 16, 2021 License: MIT Imports: 5 Imported by: 0

Documentation

Index

Examples

Constants

This section is empty.

Variables

View Source
var (
	ErrCertificateNotLoaded = errors.New("certificates is not loaded")
	ErrCertificateNotFound  = errors.New("certificate for domain is not found")
)

Functions

func NewReloader

func NewReloader(certFile, keyFile string) (*reloader, error)

NewReloader return new reloader

Types

type Server

type Server struct {
	*http.Server
	Reloader *reloader
}

Server custom http server with Reloader functions

func NewServer

func NewServer(addr, certFile, keyFile string, handler http.Handler) (*Server, error)

NewServer return new server with Reloader

Example
addr := ":4443"
certFile := "./test_data/cert1.pem"
keyFile := "./test_data/key1.pem"

server, err := NewServer(addr, certFile, keyFile, nil)
if err != nil {
	log.Fatal(err)
}

go func() {
	c := make(chan os.Signal, 1)
	signal.Notify(c, syscall.SIGHUP)
	for range c {
		err := server.Reloader.UpdateCertificate(certFile, keyFile)
		if err != nil {
			log.Print(err)
		}
	}
}()

fmt.Println("Listen on:", addr)
log.Fatal(server.ListenAndServeTLS())
Output:

func (*Server) ListenAndServeTLS

func (srv *Server) ListenAndServeTLS() error

ListenAndServeTLS replace function http.ListenAndServeTLS

Jump to

Keyboard shortcuts

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