getSessionID returns the session ID using the configured extractor. The extractor is provided by the shared extractors package. Parameters: - c: The Fiber context. Returns: - string: The session ID. Usage: id := store.getSessionID(c)
(c fiber.Ctx)
| 207 | // |
| 208 | // id := store.getSessionID(c) |
| 209 | func (s *Store) getSessionID(c fiber.Ctx) string { |
| 210 | extractor := s.Extractor |
| 211 | if len(extractor.Chain) > 0 { |
| 212 | for _, chainExtractor := range extractor.Chain { |
| 213 | sessionID, err := chainExtractor.Extract(c) |
| 214 | if err == nil && sessionID != "" { |
| 215 | c.Locals(sessionExtractorContextKey, chainExtractor) |
| 216 | return sessionID |
| 217 | } |
| 218 | } |
| 219 | return "" |
| 220 | } |
| 221 | |
| 222 | sessionID, err := extractor.Extract(c) |
| 223 | if err != nil { |
| 224 | // If extraction fails, return empty string to generate a new session |
| 225 | return "" |
| 226 | } |
| 227 | if sessionID != "" { |
| 228 | c.Locals(sessionExtractorContextKey, extractor) |
| 229 | } |
| 230 | return sessionID |
| 231 | } |
| 232 | |
| 233 | // Reset deletes all sessions from the storage. |
| 234 | // |