Home / File/ middleware.go — fiber Source File

middleware.go — fiber Source File

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

File go FiberMiddleware Session 1 imports 5 functions 1 classes

Entity Profile

Dependency Diagram

graph LR
  0143cc23_e253_89cb_11f1_2a3dba10c223["middleware.go"]
  fcef1725_af89_d6cd_36cd_b228cdcc5acd["errors"]
  0143cc23_e253_89cb_11f1_2a3dba10c223 --> fcef1725_af89_d6cd_36cd_b228cdcc5acd
  style 0143cc23_e253_89cb_11f1_2a3dba10c223 fill:#6366f1,stroke:#818cf8,color:#fff

Relationship Graph

Source Code

// Package session provides session management middleware for Fiber.
// This middleware handles user sessions, including storing session data in the store.
package session

import (
	"errors"
	"sync"

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

// Middleware holds session data and configuration.
type Middleware struct {
	Session   *Session
	ctx       fiber.Ctx
	config    Config
	mu        sync.RWMutex
	destroyed bool
}

// Context key for session middleware lookup.
type middlewareKey int

const (
	// middlewareContextKey is the key used to store the *Middleware in the context locals.
	middlewareContextKey middlewareKey = iota
)

var (
	// ErrTypeAssertionFailed occurs when a type assertion fails.
	ErrTypeAssertionFailed = errors.New("failed to type-assert to *Middleware")

	// Pool for reusing middleware instances.
	middlewarePool = &sync.Pool{
		New: func() any {
			return &Middleware{}
		},
	}
)

// New initializes session middleware with optional configuration.
//
// Parameters:
//   - config: Variadic parameter to override default config.
//
// Returns:
//   - fiber.Handler: The Fiber handler for the session middleware.
//
// Usage:
//
//	app.Use(session.New())
//
// Usage:
//
//	app.Use(session.New())
func New(config ...Config) fiber.Handler {
	if len(config) > 0 {
		handler, _ := NewWithStore(config[0])
		return handler
	}
// ... (275 more lines)

Subdomains

Dependencies

  • errors

Frequently Asked Questions

What does middleware.go do?
middleware.go is a source file in the fiber codebase, written in go. It belongs to the FiberMiddleware domain, Session subdomain.
What functions are defined in middleware.go?
middleware.go defines 5 function(s): FromContext, New, NewWithStore, acquireMiddleware, releaseMiddleware.
What does middleware.go depend on?
middleware.go imports 1 module(s): errors.
Where is middleware.go in the architecture?
middleware.go is located at middleware/session/middleware.go (domain: FiberMiddleware, subdomain: Session, directory: middleware/session).

Analyze Your Own Codebase

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

Try Supermodel Free