Temporary fix to prevent early token expiry

This commit is contained in:
Zed 2020-06-19 09:45:24 +02:00
parent 57f8417657
commit db100bbf17
2 changed files with 10 additions and 3 deletions

View file

@ -27,12 +27,17 @@ proc fetchToken(): Future[Token] {.async.} =
echo "token parse fail"
return Token()
let time = getTime()
result = Token(tok: resp[pos+3 .. pos+21], remaining: 187,
reset: getTime() + 15.minutes, init: getTime())
reset: time + 15.minutes, init: time, lastUse: time)
proc expired(token: Token): bool {.inline.} =
const expirationTime = 2.hours
result = token.init < getTime() - expirationTime
const
expirationTime = 2.hours
maxLastUse = 1.hours
let time = getTime()
result = token.init < time - expirationTime or
token.lastUse < time - maxLastUse
proc isLimited(token: Token): bool {.inline.} =
token == nil or (token.remaining <= 1 and token.reset > getTime()) or
@ -40,6 +45,7 @@ proc isLimited(token: Token): bool {.inline.} =
proc release*(token: Token) =
if token != nil and not token.expired:
token.lastUse = getTime()
tokenPool.insert(token)
proc getToken*(): Future[Token] {.async.} =

View file

@ -9,6 +9,7 @@ type
remaining*: int
reset*: Time
init*: Time
lastUse*: Time
Error* = enum
null = 0