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
var addr = ":4443"
server, err := NewServer(addr, "./test_data/cert1.pem", "./test_data/key1.pem", nil)
if err != nil {
	log.Fatal(err)
}
go func() {
	s := 1
	timer := time.NewTimer(5 * time.Second)
	for {
		<-timer.C
		s++
		if s > 2 {
			s = 1
		}
		fmt.Println("Loading certificate number", s)
		err = server.Reloader.UpdateCertificate(fmt.Sprintf("./test_data/cert%d.pem", s), fmt.Sprintf("./test_data/key%d.pem", s))
		if err != nil {
			fmt.Println(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