Capture "account locked" API error
This commit is contained in:
@@ -76,8 +76,8 @@ template fetchImpl(result, fetchBody) {.dirty.} =
|
|||||||
|
|
||||||
if result.startsWith("{\"errors"):
|
if result.startsWith("{\"errors"):
|
||||||
let errors = result.fromJson(Errors)
|
let errors = result.fromJson(Errors)
|
||||||
if errors in {expiredToken, badToken}:
|
echo "Fetch error, API: ", api, ", errors: ", errors
|
||||||
echo "fetch error: ", errors
|
if errors in {expiredToken, badToken, locked}:
|
||||||
invalidate(account)
|
invalidate(account)
|
||||||
raise rateLimitError()
|
raise rateLimitError()
|
||||||
elif errors in {rateLimited}:
|
elif errors in {rateLimited}:
|
||||||
@@ -93,6 +93,7 @@ template fetchImpl(result, fetchBody) {.dirty.} =
|
|||||||
fetchBody
|
fetchBody
|
||||||
|
|
||||||
if resp.status == $Http400:
|
if resp.status == $Http400:
|
||||||
|
echo "ERROR 400, ", api, ": ", result
|
||||||
raise newException(InternalError, $url)
|
raise newException(InternalError, $url)
|
||||||
except InternalError as e:
|
except InternalError as e:
|
||||||
raise e
|
raise e
|
||||||
@@ -125,8 +126,8 @@ proc fetch*(url: Uri; api: Api): Future[JsonNode] {.async.} =
|
|||||||
result = newJNull()
|
result = newJNull()
|
||||||
|
|
||||||
let error = result.getError
|
let error = result.getError
|
||||||
if error in {expiredToken, badToken}:
|
echo "Fetch error, API: ", api, ", error: ", error
|
||||||
echo "fetchBody error: ", error
|
if error in {expiredToken, badToken, locked}:
|
||||||
invalidate(account)
|
invalidate(account)
|
||||||
raise rateLimitError()
|
raise rateLimitError()
|
||||||
|
|
||||||
|
|||||||
@@ -57,6 +57,7 @@ type
|
|||||||
tweetNotAuthorized = 179
|
tweetNotAuthorized = 179
|
||||||
forbidden = 200
|
forbidden = 200
|
||||||
badToken = 239
|
badToken = 239
|
||||||
|
locked = 326
|
||||||
noCsrf = 353
|
noCsrf = 353
|
||||||
tweetUnavailable = 421
|
tweetUnavailable = 421
|
||||||
tweetCensored = 422
|
tweetCensored = 422
|
||||||
|
|||||||
Reference in New Issue
Block a user