sessions
by
gorilla

Description: Package gorilla/sessions provides cookie and filesystem sessions and infrastructure for custom session backends.

View on GitHub ↗

Summary Information

Updated 17 minutes ago
Added to GitGenius on April 8th, 2021
Created on October 2nd, 2012
Open Issues & Pull Requests: 10 (+0)
Number of forks: 373
Total Stargazers: 3,147 (+0)
Total Subscribers: 52 (+0)

Issue Activity (beta)

Open issues: 4
New in 7 days: 0
Closed in 7 days: 0
Avg open age: 439 days
Stale 30+ days: 4
Stale 90+ days: 4

Recent activity

Opened in 7 days: 0
Closed in 7 days: 0
Comments in 7 days: 0
Events in 7 days: 0

Top labels

  • question (49)
  • stale (37)
  • bug (21)
  • documentation (16)
  • enhancement (11)
  • help wanted (7)
  • proposal (4)
  • breaking change (2)

Most active issues this week

No issue events were indexed in the last 7 days.

Repository Insights (GitGenius)

Median issue/PR response: 316.0 days
Mean response time: 645.3 days
90th percentile: 1447.4 days
Tracked items: 17

Most active contributors

Detailed Description

Gorilla/sessions is a Go package that provides session management infrastructure for web applications, offering both built-in and extensible session storage backends. The package is part of the Gorilla web toolkit and serves as a foundational component for handling user sessions in HTTP applications.

The package provides two primary built-in session storage implementations: cookie-based sessions and filesystem-based sessions. Cookie sessions store session data directly in signed and optionally encrypted cookies sent to the client, while filesystem sessions persist session data on the server. Beyond these core implementations, gorilla/sessions defines a Store interface that enables developers to create custom session backends for virtually any data storage system, from traditional databases to cloud services.

Key features of the package include a simple API for setting and retrieving session values through a map-based interface, support for flash messages that persist only until they are read, and mechanisms for rotating authentication and encryption keys to maintain security. The package allows multiple sessions per request using different backends simultaneously, providing flexibility for complex application architectures. Session persistence can be toggled conveniently through a "remember me" pattern, and developers can set various session attributes to control behavior.

The repository demonstrates significant adoption and extensibility, with the README documenting over twenty community-maintained Store implementations targeting diverse backends including ArangoDB, MongoDB, MySQL, PostgreSQL, Redis, DynamoDB, Memcache, SQLite, and Cloud Firestore. This ecosystem indicates the package serves as a standard abstraction layer for session management across the Go web development community.

According to GitGenius activity tracking, the repository has experienced moderate but sustained engagement with a median issue and pull request response latency of approximately 7584 hours and a mean of 15487.5 hours. Bug reports represent the most common issue type with twelve tracked instances, followed by general questions and stale items. The primary contributor tracked is jaitaiwan with 24 recorded events, indicating consistent maintenance activity.

The package requires Go 1.23 or later in its current version due to support for the new partitioned cookie attribute, though version 1.3.0 remains available for applications using older Go versions. The repository maintains active testing infrastructure with continuous integration workflows and code coverage tracking through Codecov. The package is BSD licensed and hosted at gorilla.github.io, positioning it as a mature, production-ready component within the broader Gorilla toolkit ecosystem for Go web development.

sessions
by
gorillagorilla/sessions

Repository Details

Fetching additional details & charts...