ericwyuan
a4bedc263f
fix(sync): 限流检测漏掉了它真实的样子
上一版加了 429 识别,但点同步按钮报的还是 JSONDecodeError——因为检测
只看 `e.response.status_code` 和异常消息,而真实到达我们手里的异常两样
都不满足:garth 对着 429 调 .json(),抛出的 JSONDecodeError 里状态码已经
丢了,消息是无用的 "Expecting value: line 1 column 1"。
响应体「Rate limited」唯一幸存的地方是异常的 `doc` 属性,改为从那里取。
同时改正上一版的测试:它用 ValueError("Rate limited") 构造,那个形态现实中
根本不会出现,所以测试通过、检测却漏掉了每一个真实的限流。现在用真的
json.JSONDecodeError 构造,并先断言「光看消息不够」。
实测同步现在返回:
RateLimited: Garmin 暂时限制了请求频率…令牌本身没有失效
Co-Authored-By: Claude Haiku 4.5 <noreply@anthropic.com>
2026-08-28 14:27:15 +08:00
..
2026-08-24 04:16:33 +08:00
2026-08-28 14:27:15 +08:00
2026-08-28 14:27:15 +08:00
2026-08-25 23:59:47 +08:00
2026-08-24 08:41:48 +08:00
2026-08-23 12:34:18 +08:00
2026-08-23 18:49:05 +08:00
2026-08-25 14:23:07 +08:00
2026-08-23 20:11:45 +08:00
2026-08-23 12:34:18 +08:00
2026-08-23 12:34:18 +08:00
2026-08-23 19:05:19 +08:00
2026-08-23 12:25:33 +08:00