api

package
v0.0.0-...-dead39a Latest Latest
Warning

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

Go to latest
Published: Aug 23, 2024 License: Unlicense Imports: 15 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func ErrInternalServerError

func ErrInternalServerError(err error) render.Renderer

func ErrInvalidRequest

func ErrInvalidRequest(err error) render.Renderer

func GetLogEntry

func GetLogEntry(r *http.Request) *slog.Logger

func LogEntrySetField

func LogEntrySetField(r *http.Request, key string, value interface{})

func LogEntrySetFields

func LogEntrySetFields(r *http.Request, fields map[string]interface{})

Types

type API

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

func New

func New(options Options) *API

func (*API) NewRequestLogger

func (api *API) NewRequestLogger() func(next http.Handler) http.Handler

func (*API) Start

func (api *API) Start() error

func (*API) Stop

func (api *API) Stop() error

type ErrResponse

type ErrResponse struct {
	Err            error `json:"-"` // low-level runtime error
	HTTPStatusCode int   `json:"-"` // http response status code

	StatusText string `json:"status"`          // user-level status message
	AppCode    int64  `json:"code,omitempty"`  // application-specific error code
	ErrorText  string `json:"error,omitempty"` // application-level error message, for debugging
}

func (*ErrResponse) Render

func (err *ErrResponse) Render(_ http.ResponseWriter, req *http.Request) error

type Options

type Options struct {
	Driver  *webdriver.Driver
	Log     *slog.Logger
	Checker health.Checker
}

type RenderRequest

type RenderRequest struct {
	Content string         `json:"content"`
	Options map[string]any `json:"options"`
}

func (*RenderRequest) Bind

func (body *RenderRequest) Bind(*http.Request) error

type StructuredLogger

type StructuredLogger struct {
	Logger slog.Handler
}

func (*StructuredLogger) NewLogEntry

func (l *StructuredLogger) NewLogEntry(r *http.Request) middleware.LogEntry

type StructuredLoggerEntry

type StructuredLoggerEntry struct {
	Logger *slog.Logger
}

func (*StructuredLoggerEntry) Panic

func (l *StructuredLoggerEntry) Panic(v interface{}, _ []byte)

func (*StructuredLoggerEntry) Write

func (l *StructuredLoggerEntry) Write(status, bytes int, header http.Header, elapsed time.Duration, extra interface{})

Jump to

Keyboard shortcuts

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