session consumer query함수 리턴 값의 애매함을 제거

This commit is contained in:
2025-08-15 23:55:50 +09:00
parent c0ab2afcf4
commit c24d387761
6 changed files with 40 additions and 56 deletions

View File

@ -2,6 +2,7 @@ package session
import (
"context"
"errors"
"fmt"
"time"
@ -243,46 +244,49 @@ func (c *consumer_redis) query_internal(sk storagekey) (*sessionRedis, error) {
expireAt: time.Now().Add(ttl),
}
if auth.Invalidated() {
c.stages[0].deleted[sk] = si
} else {
if auth.Valid() {
c.add_internal(sk, si)
} else {
c.stages[0].deleted[sk] = si
}
return si, nil
}
func (c *consumer_redis) Query(pk string) (Authorization, error) {
var errRevoked = errors.New("session revoked")
var errExpired = errors.New("session expired")
func (c *consumer_redis) Query(pk string) Authorization {
c.lock.Lock()
defer c.lock.Unlock()
sk := publickey_to_storagekey(publickey(pk))
if _, deleted := c.stages[0].deleted[sk]; deleted {
return Authorization{}, nil
return Authorization{}
}
if _, deleted := c.stages[1].deleted[sk]; deleted {
return Authorization{}, nil
return Authorization{}
}
si, err := c.query_internal(sk)
if err != nil {
logger.Println("session consumer query :", pk, err)
return Authorization{}, err
return Authorization{}
}
if si == nil {
logger.Println("session consumer query(si nil) :", pk, nil)
return Authorization{}, nil
return Authorization{}
}
if time.Now().After(si.expireAt) {
logger.Println("session consumer query(expired):", pk, nil)
return Authorization{}, nil
return Authorization{}
}
return *si.Authorization, nil
return *si.Authorization
}
func (c *consumer_redis) Touch(pk string) (Authorization, error) {