Home / File/ store.go — fiber Source File

store.go — fiber Source File

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

File go FiberMiddleware Session 1 imports 1 functions 3 classes

Entity Profile

Dependency Diagram

graph LR
  d04697ca_7431_82a2_1c72_83f530dec2f4["store.go"]
  cc7104af_aece_1fe5_3985_791c7f34910c["context"]
  d04697ca_7431_82a2_1c72_83f530dec2f4 --> cc7104af_aece_1fe5_3985_791c7f34910c
  style d04697ca_7431_82a2_1c72_83f530dec2f4 fill:#6366f1,stroke:#818cf8,color:#fff

Relationship Graph

Source Code

package session

import (
	"context"
	"encoding/gob"
	"errors"
	"fmt"
	"time"

	"github.com/gofiber/fiber/v3"
	"github.com/gofiber/fiber/v3/internal/storage/memory"
	"github.com/gofiber/fiber/v3/log"
)

// ErrEmptySessionID is an error that occurs when the session ID is empty.
var (
	ErrEmptySessionID                   = errors.New("session ID cannot be empty")
	ErrSessionAlreadyLoadedByMiddleware = errors.New("session already loaded by middleware")
	ErrSessionIDNotFoundInStore         = errors.New("session ID not found in session store")
)

// sessionIDKey is the local key type used to store and retrieve the session ID in context.
type sessionIDKey int

const (
	// sessionIDContextKey is the key used to store the session ID in the context locals.
	sessionIDContextKey sessionIDKey = iota
)

// Store manages session data using the configured storage backend.
type Store struct {
	Config
}

// NewStore creates a new session store with the provided configuration.
//
// Parameters:
//   - config: Variadic parameter to override default config.
//
// Returns:
//   - *Store: The session store.
//
// Usage:
//
//	store := session.NewStore()
func NewStore(config ...Config) *Store {
	// Set default config
	cfg := configDefault(config...)

	if cfg.Storage == nil {
		cfg.Storage = memory.New()
	}

	store := &Store{
		Config: cfg,
	}

	if cfg.AbsoluteTimeout > 0 {
		store.RegisterType(absExpirationKey)
		store.RegisterType(time.Time{})
// ... (260 more lines)

Subdomains

Functions

Dependencies

  • context

Frequently Asked Questions

What does store.go do?
store.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 store.go?
store.go defines 1 function(s): NewStore.
What does store.go depend on?
store.go imports 1 module(s): context.
Where is store.go in the architecture?
store.go is located at middleware/session/store.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