Documentation
¶
Index ¶
- Variables
- func ClampIP(addr netip.Addr) (netip.Prefix, bool)
- func CustomRealIPHeader(customRealIPHeaderValue string, next http.Handler) http.Handler
- func FastHash(text string) string
- func GetFilteredHTTPLogger() *log.Logger
- func GetHealth(svc string) (healthv1.HealthCheckResponse_ServingStatus, bool)
- func GetRequestLogger(base *slog.Logger, r *http.Request) *slog.Logger
- func GzipMiddleware(level int, next http.Handler) http.Handler
- func InitSlog(level string, sink io.Writer) *slog.Logger
- func JA4H(next http.Handler) http.Handler
- func NoBrowsing(next http.Handler) http.Handler
- func NoStoreCache(next http.Handler) http.Handler
- func RealIP(r *http.Request) (netip.Addr, bool)
- func RemoteXRealIP(useRemoteAddress bool, bindNetwork string, next http.Handler) http.Handler
- func SHA256sum(text string) string
- func SetHealth(svc string, status healthv1.HealthCheckResponse_ServingStatus)
- func UnbreakDocker()
- func UnchangingCache(next http.Handler) http.Handler
- func XForwardedForToXRealIP(next http.Handler) http.Handler
- func XForwardedForUpdate(stripPrivate bool, next http.Handler) http.Handler
- type ErrorLogFilter
- type ListOr
- type XFFComputePreferences
Constants ¶
This section is empty.
Variables ¶
var ( ErrCantSplitHostParse = errors.New("internal: unable to net.SplitHostParse") ErrCantParseRemoteIP = errors.New("internal: unable to parse remote IP") )
var CGNat = netip.MustParsePrefix("100.64.0.0/10")
var HealthSrv = health.NewServer()
Functions ¶
func CustomRealIPHeader ¶ added in v1.23.0
CustomXRealIPHeader sets the X-Real-IP header to the value of a different header. Used in environments where the upstream proxy sets the request's origin IP in a custom header.
func FastHash ¶ added in v1.20.0
FastHash is a high-performance non-cryptographic hash function suitable for internal caching, policy rule identification, and other performance-critical use cases where cryptographic security is not required.
func GetFilteredHTTPLogger ¶ added in v1.18.0
func GetHealth ¶ added in v1.21.0
func GetHealth(svc string) (healthv1.HealthCheckResponse_ServingStatus, bool)
func GetRequestLogger ¶ added in v1.17.0
func GzipMiddleware ¶ added in v1.19.0
func NoBrowsing ¶ added in v1.16.0
NoBrowsing prevents directory browsing by returning a 404 for any request that ends with a "/".
func NoStoreCache ¶ added in v1.16.0
NoStoreCache sets the Cache-Control header to no-store for the response.
func RemoteXRealIP ¶ added in v1.16.0
RemoteXRealIP sets the X-Real-Ip header to the request's real IP if the setting is enabled by the user.
func SHA256sum ¶ added in v1.15.0
SHA256sum computes a cryptographic hash. Still used for proof-of-work challenges where we need the security properties of a cryptographic hash function.
func SetHealth ¶ added in v1.21.0
func SetHealth(svc string, status healthv1.HealthCheckResponse_ServingStatus)
func UnbreakDocker ¶ added in v1.21.0
func UnbreakDocker()
func UnchangingCache ¶
UnchangingCache sets the Cache-Control header to cache a response for 1 year if and only if the application is compiled in "release" mode by Docker.
func XForwardedForToXRealIP ¶ added in v1.14.1
XForwardedForToXRealIP sets the X-Real-Ip header based on the contents of the X-Forwarded-For header.
Types ¶
type ErrorLogFilter ¶ added in v1.18.0
ErrorLogFilter is used to suppress "context canceled" logs from the http server when a request is canceled (e.g., when a client disconnects).
type ListOr ¶ added in v1.24.0
type ListOr[T any] []T
ListOr[T any] is a slice that can contain either a single T or multiple T values. During JSON unmarshaling, it checks if the first character is '[' to determine whether to treat the JSON as an array or a single value.
func (*ListOr[T]) UnmarshalJSON ¶ added in v1.24.0
Source Files
¶
Directories
¶
| Path | Synopsis |
|---|---|
|
Package actorify lets you transform a parallel operation into a serialized operation via the Actor pattern[1].
|
Package actorify lets you transform a parallel operation into a serialized operation via the Actor pattern[1]. |
|
naive
templ: version: v0.3.960
|
templ: version: v0.3.960 |