parseCacheControlDirectives() — fiber Function Reference
Architecture documentation for the parseCacheControlDirectives() function in cache.go from the fiber codebase.
Entity Profile
Dependency Diagram
graph TD 7bb90993_ff5b_fab9_386a_48b814aa152a["parseCacheControlDirectives()"] af95e058_7e86_ec88_42f0_cd294e342508["cache.go"] 7bb90993_ff5b_fab9_386a_48b814aa152a -->|defined in| af95e058_7e86_ec88_42f0_cd294e342508 76f49f0c_927d_0294_f6e3_8860aa88da2e["parseResponseCacheControl()"] 76f49f0c_927d_0294_f6e3_8860aa88da2e -->|calls| 7bb90993_ff5b_fab9_386a_48b814aa152a 27f304b5_9285_92cb_4e9d_3057235a1733["parseRequestCacheControl()"] 27f304b5_9285_92cb_4e9d_3057235a1733 -->|calls| 7bb90993_ff5b_fab9_386a_48b814aa152a c66cadd8_8dfa_8564_6109_273f445a3b79["unquoteCacheDirective()"] 7bb90993_ff5b_fab9_386a_48b814aa152a -->|calls| c66cadd8_8dfa_8564_6109_273f445a3b79 style 7bb90993_ff5b_fab9_386a_48b814aa152a fill:#6366f1,stroke:#818cf8,color:#fff
Relationship Graph
Source Code
middleware/cache/cache.go lines 947–1007
func parseCacheControlDirectives(cc []byte, fn func(key, value []byte)) {
for i := 0; i < len(cc); {
// skip leading separators/spaces
for i < len(cc) && (cc[i] == ' ' || cc[i] == ',') {
i++
}
if i >= len(cc) {
break
}
start := i
for i < len(cc) && cc[i] != ',' {
i++
}
partEnd := i
for partEnd > start && cc[partEnd-1] == ' ' {
partEnd--
}
keyStart := start
for keyStart < partEnd && cc[keyStart] == ' ' {
keyStart++
}
if keyStart >= partEnd {
continue
}
keyEnd := keyStart
for keyEnd < partEnd && cc[keyEnd] != '=' {
keyEnd++
}
// Trim trailing spaces from key
keyEndTrimmed := keyEnd
for keyEndTrimmed > keyStart && cc[keyEndTrimmed-1] == ' ' {
keyEndTrimmed--
}
key := cc[keyStart:keyEndTrimmed]
var value []byte
if keyEnd < partEnd && cc[keyEnd] == '=' {
valueStart := keyEnd + 1
for valueStart < partEnd && cc[valueStart] == ' ' {
valueStart++
}
valueEnd := partEnd
for valueEnd > valueStart && cc[valueEnd-1] == ' ' {
valueEnd--
}
if valueStart <= valueEnd {
value = cc[valueStart:valueEnd]
// Handle quoted-string values per RFC 9111 Section 5.2
if len(value) >= 2 && value[0] == '"' && value[len(value)-1] == '"' {
value = unquoteCacheDirective(value)
}
}
}
fn(key, value)
i++ // skip comma
}
}
Domain
Subdomains
Defined In
Calls
Source
Frequently Asked Questions
What does parseCacheControlDirectives() do?
parseCacheControlDirectives() is a function in the fiber codebase, defined in middleware/cache/cache.go.
Where is parseCacheControlDirectives() defined?
parseCacheControlDirectives() is defined in middleware/cache/cache.go at line 947.
What does parseCacheControlDirectives() call?
parseCacheControlDirectives() calls 1 function(s): unquoteCacheDirective.
What calls parseCacheControlDirectives()?
parseCacheControlDirectives() is called by 2 function(s): parseRequestCacheControl, parseResponseCacheControl.
Analyze Your Own Codebase
Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.
Try Supermodel Free