http

package
v0.3.2 Latest Latest
Warning

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

Go to latest
Published: Nov 3, 2023 License: MIT Imports: 28 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func DocHandler

func DocHandler(assets Assets) http.HandlerFunc

func FileHandler

func FileHandler(cfg *config.Config, database db.DB, assets Assets) http.HandlerFunc

func HealthHandler

func HealthHandler(w http.ResponseWriter, _ *http.Request)

func MetaHandler

func MetaHandler(cfg *config.Config) http.HandlerFunc

func ShouldSendRaw

func ShouldSendRaw(r *http.Request) bool

func WithLogger

func WithLogger(next http.Handler) http.Handler

WithLogger adds a request scoped logger to the request context.

func WithMetrics added in v0.3.0

func WithMetrics(next http.Handler) http.Handler

WithMetrics will record metrics for the request.

func WithRecover

func WithRecover(next http.Handler) http.Handler

WithRecover will recover from any panics and log them.

func WithRequestID

func WithRequestID(next http.Handler) http.Handler

WithRequestID adds a unique request ID to the request context.

Types

type Assets

type Assets interface {
	Doc(filename string) ([]byte, error)
	Template() *template.Template
	ServeJS(w http.ResponseWriter, r *http.Request)
	ServeCSS(w http.ResponseWriter, r *http.Request)
}

type ContextKey

type ContextKey string
const (
	RequestIDContextKey ContextKey = "request_id"

	RequestIDHeader = "X-Request-ID"
)

type Service

type Service struct {
	*http.Server
	Router *chi.Mux
}

func New

func New(cfg *config.Config, database db.DB, assets Assets) (*Service, error)

type StaticAssets added in v0.3.0

type StaticAssets struct {
	// contains filtered or unexported fields
}

func NewAssets

func NewAssets(webFS fs.FS, docsFS fs.FS, readme []byte, extendHeadFile string) (*StaticAssets, error)

NewAssets holds the templates, static content and minifies accordingly.

func (*StaticAssets) CSS added in v0.3.0

func (a *StaticAssets) CSS() []byte

func (*StaticAssets) Doc added in v0.3.0

func (a *StaticAssets) Doc(filename string) ([]byte, error)

func (*StaticAssets) JS added in v0.3.0

func (a *StaticAssets) JS() []byte

func (*StaticAssets) README added in v0.3.0

func (a *StaticAssets) README() []byte

func (*StaticAssets) ServeCSS added in v0.3.0

func (a *StaticAssets) ServeCSS(w http.ResponseWriter, r *http.Request)

func (*StaticAssets) ServeJS added in v0.3.0

func (a *StaticAssets) ServeJS(w http.ResponseWriter, r *http.Request)

func (*StaticAssets) Template added in v0.3.0

func (a *StaticAssets) Template() *template.Template

Jump to

Keyboard shortcuts

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