{"repo":"lrstanley/chix","free":true,"listed":false,"github":"https://github.com/lrstanley/chix","clone":"git clone https://github.com/lrstanley/chix.git","description":"helper middleware and functionality for go-chi/chi","language":"Go","stars":43,"topics":["go","authentication","go-chi","golang","helper","http","middleware"],"license":"MIT","category":"auth-billing-email","readme_excerpt":":link: Table of Contents - Usage - Features - Related Libraries - Example Projects - Support &amp; Assistance - Contributing - License :gear: Usage :sparkles: Features - http.Server helpers ( Run , RunTLS ) for starting and gracefully shutting down the server, with optional background jobs alongside HTTP via lrstanley/x/sync/scheduler . - Per-request Config middleware: API base path, JSON encode/decode hooks, request decode/validate, slog.Logger , error resolvers, and masking of non-public 5xx errors. - RealIP middleware (trusted proxy chain parsing; not \"trust any X-Forwarded-For \"). - Private IP middleware for internal-only routes. - Request ID middleware (client header or generated ID; header name configurable on Config ). - Rendering helpers: JSON, XML, CSV, and streaming CSV via iterators -- all support ?pretty=true where applicable. - Optional subpackage xmetrics : Prometheus HTTP request metrics (duration, count, bytes) keyed by chi route pattern. - Auth ( xauth subpackage): - markbates/goth OAuth with many providers, plus a separate basic-auth flow. - Cookie-backed sessions (gorilla/sessions); encrypted store helpers so you can avoid server-side session storage. - Generics for user identity type and ID -- no hand-rolled type assertions for your models. - Optional auth context, required-auth middleware, and OverrideContextAuth for tests or impersonation. - API key and API version validation middleware (configurable headers). - Struct binding from query, form, JSON, and","default_branch":null,"files":null,"tree":[],"storefront":"/r/lrstanley","claimed":false,"request_supported":{"post":"https://gitbuyer.com/r/lrstanley/chix/request-supported","requests":0},"note":"indexed from public GitHub; nothing is for sale on this page. Clone it from GitHub. Paid listings live at /search."}