Home / File/ config.go — fiber Source File

config.go — fiber Source File

Architecture documentation for config.go, a go file in the fiber codebase. 1 imports, 0 dependents.

File go FiberMiddleware Caching 1 imports 4 functions 1 classes

Entity Profile

Dependency Diagram

graph LR
  37e95407_448c_08f5_e0f2_e58bc4d8ec94["config.go"]
  d31b53b2_3d0c_f538_f920_e1ae643c437c["time"]
  37e95407_448c_08f5_e0f2_e58bc4d8ec94 --> d31b53b2_3d0c_f538_f920_e1ae643c437c
  style 37e95407_448c_08f5_e0f2_e58bc4d8ec94 fill:#6366f1,stroke:#818cf8,color:#fff

Relationship Graph

Source Code

package cache

import (
	"time"

	"github.com/gofiber/fiber/v3"
	"github.com/gofiber/utils/v2"
)

// Config defines the config for middleware.
type Config struct {
	// Storage is used to store the state of the middleware
	//
	// Default: an in-memory store for this process only
	Storage fiber.Storage

	// Next defines a function to skip this middleware when returned true.
	//
	// Optional. Default: nil
	Next func(c fiber.Ctx) bool

	// CacheInvalidator defines a function to invalidate the cache when returned true
	//
	// Optional. Default: nil
	CacheInvalidator func(fiber.Ctx) bool

	// Key allows you to generate custom keys, by default c.Path() is used
	//
	// Default: func(c fiber.Ctx) string {
	//   return utils.CopyString(c.Path())
	// }
	KeyGenerator func(fiber.Ctx) string

	// ExpirationGenerator allows you to generate a custom expiration per request.
	// If nil, the Expiration value is used.
	//
	// Default: nil
	ExpirationGenerator func(fiber.Ctx, *Config) time.Duration

	// CacheHeader header on response header, indicate cache status, with the following possible return value
	//
	// hit, miss, unreachable
	//
	// Optional. Default: X-Cache
	CacheHeader string

	// You can specify HTTP methods to cache.
	// The middleware just caches the routes of its methods in this slice.
	//
	// Default: []string{fiber.MethodGet, fiber.MethodHead}
	Methods []string

	// Expiration is the time that a cached response will live
	//
	// Optional. Default: 5 * time.Minute
	Expiration time.Duration

	// Max number of bytes of response bodies simultaneously stored in cache. When limit is reached,
	// entries with the nearest expiration are deleted to make room for new.
	// 0 means no limit
// ... (68 more lines)

Subdomains

Classes

Types

Dependencies

  • time

Frequently Asked Questions

What does config.go do?
config.go is a source file in the fiber codebase, written in go. It belongs to the FiberMiddleware domain, Caching subdomain.
What functions are defined in config.go?
config.go defines 4 function(s): Ctx, bool, configDefault, string.
What does config.go depend on?
config.go imports 1 module(s): time.
Where is config.go in the architecture?
config.go is located at middleware/cache/config.go (domain: FiberMiddleware, subdomain: Caching, directory: middleware/cache).

Analyze Your Own Codebase

Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.

Try Supermodel Free