Documentation

Overview

Package server provides an API gateway server which handles inbound requests

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Option

type Option func(o *Options)

func ACMEHosts

func ACMEHosts(hosts ...string) Option

func ACMEProvider

func ACMEProvider(p acme.Provider) Option

func EnableACME

func EnableACME(b bool) Option

func EnableCORS

func EnableCORS(b bool) Option

func EnableTLS

func EnableTLS(b bool) Option

func Resolver

func Resolver(r resolver.Resolver) Option

func TLSConfig

func TLSConfig(t *tls.Config) Option

func WrapHandler

func WrapHandler(w Wrapper) Option

type Options

type Options struct {
	EnableACME   bool
	EnableCORS   bool
	ACMEProvider acme.Provider
	EnableTLS    bool
	ACMEHosts    []string
	TLSConfig    *tls.Config
	Resolver     resolver.Resolver
	Wrappers     []Wrapper
}

type Server

type Server interface {
	Address() string
	Init(opts ...Option) error
	Handle(path string, handler http.Handler)
	Start() error
	Stop() error
}

Server serves api requests

type Wrapper

type Wrapper func(h http.Handler) http.Handler

Directories

Path Synopsis
acme Package acme abstracts away various ACME libraries
acme/autocert Package autocert is the ACME provider from golang.org/x/crypto/acme/autocert This provider does not take any config.
acme/certmagic Package certmagic is the ACME provider from github.com/caddyserver/certmagic
cors
http Package http provides a http server with features; acme, cors, etc