makeBuildVaryKeyFunc() — fiber Function Reference
Architecture documentation for the makeBuildVaryKeyFunc() function in cache.go from the fiber codebase.
Entity Profile
Dependency Diagram
graph TD 94a0c0d9_758b_e1dd_a717_293b190ce2c3["makeBuildVaryKeyFunc()"] af95e058_7e86_ec88_42f0_cd294e342508["cache.go"] 94a0c0d9_758b_e1dd_a717_293b190ce2c3 -->|defined in| af95e058_7e86_ec88_42f0_cd294e342508 96447356_67b9_a364_148e_b703c487e1ba["New()"] 96447356_67b9_a364_148e_b703c487e1ba -->|calls| 94a0c0d9_758b_e1dd_a717_293b190ce2c3 style 94a0c0d9_758b_e1dd_a717_293b190ce2c3 fill:#6366f1,stroke:#818cf8,color:#fff
Relationship Graph
Source Code
middleware/cache/cache.go lines 1277–1312
func makeBuildVaryKeyFunc(hexBufPool *sync.Pool) func([]string, *fasthttp.RequestHeader) string {
return func(names []string, hdr *fasthttp.RequestHeader) string {
sum := sha256.New()
for _, name := range names {
_, _ = sum.Write(utils.UnsafeBytes(name)) //nolint:errcheck // hash.Hash.Write for std hashes never errors
_, _ = sum.Write([]byte{0}) //nolint:errcheck // hash.Hash.Write for std hashes never errors
_, _ = sum.Write(hdr.Peek(name)) //nolint:errcheck // hash.Hash.Write for std hashes never errors
_, _ = sum.Write([]byte{0}) //nolint:errcheck // hash.Hash.Write for std hashes never errors
}
var hashBytes [sha256.Size]byte
sum.Sum(hashBytes[:0])
v := hexBufPool.Get()
bufPtr, ok := v.(*[]byte)
if !ok || bufPtr == nil {
b := make([]byte, hexLen)
bufPtr = &b
}
buf := *bufPtr
// Defensive in case someone changed Pool.New or Put a different sized buffer.
if cap(buf) < hexLen {
buf = make([]byte, hexLen)
} else {
buf = buf[:hexLen]
}
*bufPtr = buf
hex.Encode(buf, hashBytes[:])
result := "|vary|" + string(buf)
hexBufPool.Put(bufPtr)
return result
}
}
Domain
Subdomains
Defined In
Called By
Source
Frequently Asked Questions
What does makeBuildVaryKeyFunc() do?
makeBuildVaryKeyFunc() is a function in the fiber codebase, defined in middleware/cache/cache.go.
Where is makeBuildVaryKeyFunc() defined?
makeBuildVaryKeyFunc() is defined in middleware/cache/cache.go at line 1277.
What calls makeBuildVaryKeyFunc()?
makeBuildVaryKeyFunc() is called by 1 function(s): New.
Analyze Your Own Codebase
Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.
Try Supermodel Free