web

package
v0.9.1 Latest Latest
Warning

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

Go to latest
Published: Feb 16, 2026 License: MIT Imports: 35 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

Functions

func AcceptsMarkdown added in v0.9.0

func AcceptsMarkdown(r *http.Request) bool

func DocHandler

func DocHandler(cfg *config.Config, assets Assets) http.HandlerFunc

func DocOGImageHandler added in v0.9.0

func DocOGImageHandler(cfg *config.Config, assets Assets) http.HandlerFunc

func DocToMarkdown added in v0.9.0

func DocToMarkdown(cfg *config.Config, name string, content []byte) []byte

func FileHandler

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

func FileToMarkdown added in v0.9.0

func FileToMarkdown(cfg *config.Config, file *snips.File, content []byte) []byte

func HealthHandler

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

func MetaHandler

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

func OGImageHandler added in v0.9.0

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

func Pattern

func Pattern(r *http.Request) string

func ProfileHandler

func ProfileHandler(w http.ResponseWriter, r *http.Request)

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

func WithMetrics(next http.Handler) http.Handler

WithMetrics will record metrics for the request.

func WithMiddleware

func WithMiddleware(handler http.Handler, middlewares ...Middleware) http.Handler

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)
	StaticFile(name string) ([]byte, bool)
	Template() *template.Template
	Serve(w http.ResponseWriter, r *http.Request)
}

type ContextKey

type ContextKey string
const (
	RequestIDContextKey ContextKey = "request_id"

	RequestIDHeader = "X-Request-ID"
)

type Middleware

type Middleware func(next http.Handler) http.Handler

type Service

type Service struct {
	*http.Server
}

func New

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

type StaticAssets

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) AssetPath added in v0.8.0

func (a *StaticAssets) AssetPath(name string) string

AssetPath returns the hashed asset path for a given logical name (e.g. "index.css" → "/assets/index.a1b2c3d4.css").

func (*StaticAssets) CSS

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

func (*StaticAssets) Doc

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

func (*StaticAssets) JS

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

func (*StaticAssets) README

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

func (*StaticAssets) Serve

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

func (*StaticAssets) StaticFile added in v0.9.0

func (a *StaticAssets) StaticFile(name string) ([]byte, bool)

func (*StaticAssets) Template

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

Jump to

Keyboard shortcuts

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