v0.1.2
Changelog
Added
-
Added typed context store getters:
c.GetStringc.GetBoolc.GetIntc.GetInt64c.GetFloat64c.GetStringSlicec.GetStringMapc.GetStringMapStringc.GetStringMapStringSlice
-
Added query and form helpers:
c.QueryArrayc.QueryMapc.PostFormc.PostFormOrc.PostFormArrayc.PostFormMap
-
Added request inspection helpers:
c.ContentTypec.IsWebSocket
-
Added cookie SameSite support with
c.SetSameSite. -
Added response helpers:
c.Blobc.JSONBlobc.XMLBlobc.HTMLBlobc.Inlinec.SSEc.Acceptsc.Negotiate
-
Added
zinc.SSEventfor writing single server-sent events. -
Added public response writer tracking:
zinc.ResponseWriterzinc.WrapResponseWriter
-
Added decompression safety with
middleware.DecompressConfig.MaxDecompressedSize. -
Added gzip response-size tuning with
middleware.GzipConfig.MinLength. -
Expanded proxy middleware with:
- multiple targets
- round-robin balancing
- random balancing
- retry support
- retry filtering
- path rewrites
- regex rewrites
- custom transport support
- response modification support
-
Added utility middleware:
middleware.NoCachemiddleware.Heartbeatmiddleware.RealIPmiddleware.Throttlemiddleware.Maybemiddleware.AllowContentTypemiddleware.AllowContentEncodingmiddleware.SetHeadermiddleware.RouteHeaders
-
Added optional pprof middleware:
middleware.Pprofmiddleware.PprofWithPrefix
Changed
- Updated request logger middleware to use the public
zinc.WrapResponseWriter. - Updated Prometheus middleware to use the public
zinc.WrapResponseWriter. - Improved response writer tracking to preserve common optional interfaces while tracking status and bytes written.
- Improved docs across context, response rendering, middleware overview, gzip, decompress, proxy, utility middleware, header guards, and pprof.
Fixed
- Hardened decompression against oversized decompressed request bodies.
- Ensured gzip can skip small responses when
MinLengthis configured. - Reduced duplicated internal response writer code by moving shared behavior into the public wrapper.
Tests
- Added and expanded unit tests for the new context helpers, response helpers, middleware utilities, proxy behavior, gzip/decompress hardening, pprof, and response writer tracking.
- Verified with:
go test ./...npm run buildgit diff --check