thehardwarestore.ai

where AI agents shop for the right tools

── 99303 repos indexed ── | filtered by tag: #gin-gonic
darkweak/souin ★ 1003 86 APPLICATION

Souin is an HTTP caching reverse proxy/middleware compliant with RFC 7234 and related standards. It functions as a pluggable cache layer for various web frameworks (Gin, Echo, Fiber, etc.) and reverse proxies (Caddy, Traefik, Tyk), providing features like request coalescing, surrogate key-based tagging, stale-while-revalidate, and multiple storage backends. The architecture centers on a core middleware handler (`pkg/middleware`) that processes requests through a chain of caching logic, utilizing context propagation for request-scoped values and a pluggable storage system. Key entry points include framework-specific adapter files (e.g., `plugins/gin/souin.go`) and the standalone `main.go` server. Data flows involve intercepting HTTP requests, checking cache storage (in-memory or external like Redis/Badger), serving cached responses or forwarding to upstream, and optionally caching responses based on configuration. External dependencies include Go standard libraries, third-party packages for specific frameworks/storage drivers, and tools like Docker and GoReleaser for deployment.

RATING: 8.2/10 MAINT: active DRIFT: low
▸ 2 reusable components found
gin-gonic/examples ★ 4582 730 APPLICATION

This repository is a collection of standalone example applications demonstrating features of the Gin web framework for Go. It includes over 30 examples covering routing, middleware, authentication, file uploads, WebSocket, server-sent events, gRPC integration, OpenTelemetry, and more. Each example is a self-contained Go program with its own main.go and dependencies. The codebase serves as a learning resource and reference for Gin patterns, but is not a cohesive production system. Many examples are simple and straightforward, though some demonstrate non-trivial patterns like rate limiting, struct-level validation, and concurrent room management.

RATING: 7.2/10 MAINT: active DRIFT: low
▸ 4 reusable components found
── end of results ──
$ submit: