mirror of https://github.com/gofiber/fiber.git
chore: resolve conflicts
parent
98bbb40398
commit
41266f37f2
|
@ -1536,7 +1536,7 @@ func Test_NotGetTokenInSessionStorage(t *testing.T) {
|
|||
t.Parallel()
|
||||
|
||||
errHandler := func(c fiber.Ctx, err error) error {
|
||||
require.Equal(t, ErrNotGetStorage.Error(), err.Error())
|
||||
require.Equal(t, ErrStorageRetrievalFailed.Error(), err.Error())
|
||||
return c.Status(419).Send([]byte(err.Error()))
|
||||
}
|
||||
|
||||
|
|
|
@ -30,7 +30,7 @@ func newSessionManager(s *session.Store, k string) *sessionManager {
|
|||
func (m *sessionManager) getRaw(c fiber.Ctx, key string, raw []byte) ([]byte, error) {
|
||||
sess, err := m.session.Get(c)
|
||||
if err != nil {
|
||||
return nil, ErrNotGetStorage
|
||||
return nil, ErrStorageRetrievalFailed
|
||||
}
|
||||
|
||||
fmt.Println("key: ", sess)
|
||||
|
|
|
@ -50,13 +50,13 @@ func (m *storageManager) getRaw(key string) ([]byte, error) {
|
|||
if m.storage != nil {
|
||||
raw, err = m.storage.Get(key)
|
||||
if err != nil {
|
||||
return nil, fmt.Errorf("%w: %s", ErrNotGetStorage, err.Error())
|
||||
return nil, fmt.Errorf("%w: %s", ErrStorageRetrievalFailed, err.Error())
|
||||
}
|
||||
} else {
|
||||
var ok bool
|
||||
raw, ok = m.memory.Get(key).([]byte)
|
||||
if !ok {
|
||||
return nil, ErrNotGetStorage
|
||||
return nil, ErrStorageRetrievalFailed
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -86,26 +86,12 @@ func (s *Store) Get(c fiber.Ctx) (*Session, error) {
|
|||
sess.id = id
|
||||
sess.fresh = fresh
|
||||
|
||||
// Fetch existing data
|
||||
if loadData {
|
||||
raw, err := s.Storage.Get(id)
|
||||
// Unmarshal if we found data
|
||||
switch {
|
||||
case err != nil:
|
||||
return nil, err
|
||||
|
||||
case raw != nil:
|
||||
mux.Lock()
|
||||
defer mux.Unlock()
|
||||
sess.byteBuffer.Write(raw)
|
||||
encCache := gob.NewDecoder(sess.byteBuffer)
|
||||
err := encCache.Decode(&sess.data.Data)
|
||||
if err != nil {
|
||||
return nil, fmt.Errorf("failed to decode session data: %w", err)
|
||||
}
|
||||
default:
|
||||
// both raw and err is nil, which means id is not in the storage
|
||||
sess.fresh = true
|
||||
// Decode session data if found
|
||||
if rawData != nil {
|
||||
sess.data.Lock()
|
||||
defer sess.data.Unlock()
|
||||
if err := sess.decodeSessionData(rawData); err != nil {
|
||||
return nil, fmt.Errorf("failed to decode session data: %w", err)
|
||||
}
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue