httpserver

package module
v0.1.1 Latest Latest
Warning

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

Go to latest
Published: Feb 21, 2021 License: MIT Imports: 10 Imported by: 3

README

httpserver

HTTP server system

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func New

func New(config Config, handler http.Handler, shutdowner general.Shutdowner) general.DelayCloser

New creates and starts an http server returning a general.DelayCloser that will allow clean shutdown

Types

type Config

type Config interface {
	// Addr must return the address and port the server should listen on
	Addr() string
	HTTPS() bool
	CertFile() string
	KeyFile() string
}

Config must be implemented and provided to New

func NewConfig

func NewConfig(c general.Config) (Config, error)

NewConfig provides a Config based on general.Config

type Renderer

type Renderer interface {
	Error(w http.ResponseWriter, name string, err error)
	OK(w http.ResponseWriter, name string, data interface{})
	Status(s int, w http.ResponseWriter, name string, data interface{})
	JSON(rw http.ResponseWriter, data interface{})
	JSONStatus(status int, rw http.ResponseWriter, data interface{})
}

Renderer is an interface to wrap and support rendering of http responses

func NewRenderer

func NewRenderer(
	templateProvider []TemplateProvider,
	templateFSProvider []TemplateFSProvider,
) (Renderer, error)

NewRenderer provides an implementation of the Renderer interface

type RouteParams

type RouteParams interface {
	Get(req *http.Request) []string
}

RouteParams is an interface to abstract out getting route paramiters from httprouter

func NewRouteParams

func NewRouteParams() RouteParams

NewRouteParams provides a RouteParams interface

type Router

type Router interface {
	Handler(method, path string, handler http.Handler)
}

Router is an interface to support defining routes

func NewHandlerAndRouter

func NewHandlerAndRouter() (http.Handler, Router)

NewHandlerAndRouter returns a http.Handler and a Router

type TemplateFSProvider added in v0.1.1

type TemplateFSProvider interface {
	TemplateFS() (fs.FS, error)
}

TemplateFSProvider allows a template file system to be provided

type TemplateProvider

type TemplateProvider interface {
	Template() string
}

TemplateProvider allows templates to be provided

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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