Documentation ¶
Overview ¶
Package api contains API-related concerns: endpoint definitions, middlewares and all resource representations.
Index ¶
- Variables
- func LoggingErrorEncoder(logger *slog.Logger, enc kithttp.ErrorEncoder) kithttp.ErrorEncoder
- func LoggingMiddleware(svc callhome.Service, logger *slog.Logger) callhome.Service
- func MakeHandler(svc callhome.Service, tp trace.TracerProvider, logger *slog.Logger) http.Handler
- func MetricsMiddleware(svc callhome.Service, counter metrics.Counter, latency metrics.Histogram) callhome.Service
- func ReadStringQuery(r *http.Request, key string, def string) (string, error)
- func ReadUintQuery(r *http.Request, key string, def uint64) (uint64, error)
- type ErrorRes
Constants ¶
This section is empty.
Variables ¶
View Source
var ( // ErrLimitSize indicates that an invalid limit. ErrLimitSize = errors.New("invalid limit size") // ErrOffsetSize indicates an invalid offset. ErrOffsetSize = errors.New("invalid offset size") // ErrInvalidDateRange indicates date from and to are invalid. ErrInvalidDateRange = errors.New("invalid date range") )
View Source
var ErrInvalidQueryParams = errors.New("invalid query params")
Functions ¶
func LoggingErrorEncoder ¶
func LoggingErrorEncoder(logger *slog.Logger, enc kithttp.ErrorEncoder) kithttp.ErrorEncoder
LoggingErrorEncoder is a go-kit error encoder logging decorator.
func LoggingMiddleware ¶
LoggingMiddleware is a middleware that adds logging facilities to the core homing service.
func MakeHandler ¶
MakeHandler returns a HTTP handler for API endpoints.
func MetricsMiddleware ¶
func MetricsMiddleware(svc callhome.Service, counter metrics.Counter, latency metrics.Histogram) callhome.Service
MetricsMiddleware instruments core service by tracking request count and latency.
func ReadStringQuery ¶
ReadStringQuery reads the value of string http query parameters for a given key
Types ¶
Click to show internal directories.
Click to hide internal directories.