# Feature catalog — gin-gonic/gin

> Canonical page: https://codevetter.com/unpack/gin/feature-catalog

# Feature catalog — gin-gonic/gin

Scanned commit 43fe48e8a0f44af783116cdb010725e6bb50255f (2026-09-29). Generated by codevetter codevetter 1.15.0 on 2026-10-02.

Source inspection; upstream code and tests were not executed.

The public surface centers on route registration, middleware, request binding, and response rendering. Applications can serve templates and files, accept uploads, stream events, and manage cookies. Authentication and observability helpers ship alongside the core routing API. These are framework capabilities; the inspected routes in documentation and tests are examples supplied by consumers.
- RouterGroup supports method shortcuts, custom uppercase methods through Handle, grouped prefixes and middleware, Any, and multi-method Match registration. — [routergroup.go#L31-L55](https://github.com/gin-gonic/gin/blob/43fe48e8a0f44af783116cdb010725e6bb50255f/routergroup.go#L31-L55) [routergroup.go#L88-L134](https://github.com/gin-gonic/gin/blob/43fe48e8a0f44af783116cdb010725e6bb50255f/routergroup.go#L88-L134) [routergroup.go#L194-L200](https://github.com/gin-gonic/gin/blob/43fe48e8a0f44af783116cdb010725e6bb50255f/routergroup.go#L194-L200)
- QUERY has a separate IQueryRoutes interface to preserve IRoutes compatibility; Any retains nine existing methods and excludes QUERY. — [routergroup.go#L14-L28](https://github.com/gin-gonic/gin/blob/43fe48e8a0f44af783116cdb010725e6bb50255f/routergroup.go#L14-L28) [routergroup.go#L58-L72](https://github.com/gin-gonic/gin/blob/43fe48e8a0f44af783116cdb010725e6bb50255f/routergroup.go#L58-L72) [routes_test.go#L113-L141](https://github.com/gin-gonic/gin/blob/43fe48e8a0f44af783116cdb010725e6bb50255f/routes_test.go#L113-L141)
- Input binding supports JSON, XML, forms, query, multipart, protobuf, MessagePack, YAML, URI, headers, plain bodies, TOML, and BSON, with automatic method/content-type selection. — [binding/binding.go#L74-L119](https://github.com/gin-gonic/gin/blob/43fe48e8a0f44af783116cdb010725e6bb50255f/binding/binding.go#L74-L119)
- Context offers JSON variants, XML, PDF byte responses, YAML, TOML, protobuf, BSON, strings, and redirects; MessagePack rendering is compiled only without nomsgpack. — [context.go#L1234-L1316](https://github.com/gin-gonic/gin/blob/43fe48e8a0f44af783116cdb010725e6bb50255f/context.go#L1234-L1316) [render/msgpack.go#L5-L42](https://github.com/gin-gonic/gin/blob/43fe48e8a0f44af783116cdb010725e6bb50255f/render/msgpack.go#L5-L42)
- HTML templates can load from globs, explicit files, or http.FileSystem patterns, with configurable delimiters and template functions. — [gin.go#L281-L284](https://github.com/gin-gonic/gin/blob/43fe48e8a0f44af783116cdb010725e6bb50255f/gin.go#L281-L284) [gin.go#L293-L345](https://github.com/gin-gonic/gin/blob/43fe48e8a0f44af783116cdb010725e6bb50255f/gin.go#L293-L345)
- StaticFile and StaticFS register GET and HEAD routes; Context additionally exposes uploaded-file extraction, multipart access, filesystem saving, and attachment responses. — [routergroup.go#L203-L253](https://github.com/gin-gonic/gin/blob/43fe48e8a0f44af783116cdb010725e6bb50255f/routergroup.go#L203-L253) [context.go#L707-L767](https://github.com/gin-gonic/gin/blob/43fe48e8a0f44af783116cdb010725e6bb50255f/context.go#L707-L767) [context.go#L1361-L1369](https://github.com/gin-gonic/gin/blob/43fe48e8a0f44af783116cdb010725e6bb50255f/context.go#L1361-L1369)
- SSEvent renders gin-contrib/sse events, Stream repeatedly invokes a callback and flushes, and Negotiate selects supported formats or aborts with 406. — [context.go#L1372-L1396](https://github.com/gin-gonic/gin/blob/43fe48e8a0f44af783116cdb010725e6bb50255f/context.go#L1372-L1396) [context.go#L1417-L1450](https://github.com/gin-gonic/gin/blob/43fe48e8a0f44af783116cdb010725e6bb50255f/context.go#L1417-L1450)
- Built-in helpers cover Basic and proxy authentication, configurable request logging, panic recovery, and cookie creation with caller-selected security attributes. — [auth.go#L44-L73](https://github.com/gin-gonic/gin/blob/43fe48e8a0f44af783116cdb010725e6bb50255f/auth.go#L44-L73) [auth.go#L96-L115](https://github.com/gin-gonic/gin/blob/43fe48e8a0f44af783116cdb010725e6bb50255f/auth.go#L96-L115) [logger.go#L39-L58](https://github.com/gin-gonic/gin/blob/43fe48e8a0f44af783116cdb010725e6bb50255f/logger.go#L39-L58) [recovery.go#L34-L49](https://github.com/gin-gonic/gin/blob/43fe48e8a0f44af783116cdb010725e6bb50255f/recovery.go#L34-L49) [context.go#L1151-L1184](https://github.com/gin-gonic/gin/blob/43fe48e8a0f44af783116cdb010725e6bb50255f/context.go#L1151-L1184)

Every claim links to its cited files at the pinned commit. Citations identify source evidence; they do not establish runtime correctness. Independent CodeVetter scan — not reviewed by upstream maintainers.

## Public product links

- [CodeVetter](https://codevetter.com/)
- [Download](https://codevetter.com/download)
- [Documentation](https://codevetter.com/docs/)
- [Source](https://github.com/Codevetter/codevetter)
