Comments (2)
The leaking of memcache.ErrCacheMiss
was a bug with the recently contributed memcached store. The Find
method should have been returning nil
in the event of a cache miss (not an error) as per the store interface documentation.
It's my fault for taking the tests at face-value, instead of checking the tests to make sure they were testing the right thing.
I've fixed the behaviour in commit a01923e so it now works as documented. In the event of a cache miss, Find()
will return nil, false, nil
instead of nil, false, memcache.ErrCacheMiss
and the session manager will create a new session as appropriate.
As for abstracting the other error types, I'm not sure if it's necessary. Generally these will be things that you would want to log and send the user a 500 Internal Server Error response for. For debugging purposes, my gut feeling is that it's better to pass through the precise, specific error so it can be logged. Having an abstraction layer, so that only scs.ErrBackendFailure
(or similar) gets logged, would make identifying and debugging the underlying problem more difficult.
from scs.
Oh, sorry, I missed that section of the docs. Didn't mean to dump the responsibility of fixing my storage backend onto you.
from scs.
Related Issues (20)
- Refreshing sessions for mobile app use HOT 2
- Add Firestore support HOT 11
- Performance of Find() HOT 1
- Action on cookie create/update HOT 1
- panic in getSessionDataFromContext makes this package hard to work with HOT 8
- Can't find BuntDB store HOT 2
- Get all active sessions HOT 1
- Gin middleware HOT 3
- http.Flusher compatiability HOT 20
- With fiber HOT 4
- Let's go examples HOT 1
- constant panicing with chi v5 and pgxpool HOT 1
- Add a method to modify the deadline of the sessionData HOT 6
- NATs HOT 1
- Ignore GobCodec.Decode errors? HOT 3
- Possible to tag a new version? HOT 2
- Manually Set Token / Session ID? HOT 4
- Add example using gin
- Expose CtxStore interface to allow custom implementation HOT 1
- How to recover from corrupt session data? (or how to Destroy without loading the session) HOT 2
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from scs.