hiro99ma blog

rust: ureqでHTTPエラーとbodyを取得

目次
最終更新日:2025/11/22

JSON-RPC というか REST というかで通信しようとしている。

結局 tokio-rs/axum を使うことにした。
クライアントの方は algesten/ureq を使う。

axum 側は anyhow-response-errorcustom-extractor-error を参考に タプルの形でステータスコードと JSON を返すようにした。

ureq の方を error-handling で処理してみると、 ステータスコードは取れるのだが JSON の方が取って来れない。

どうやってもうまく行かなかったので、もう deepwiki にお頼みした。

ポイントは ureq::post() などで直接やるのではなく ureq::Agent を使い、 .http_status_as_error(false) でエラーがあっても継続する?ようにするそうだ。

$ ./target/debug/cli error
status code: 500 Internal Server Error
{
  "from": "anyhow error happen",
  "message": "not success"
}
writer: hiro99ma
tags: Rust言語

 
About me
About me
comment
Comment Form
🏠
Top page
GitHub
GitHub
Twitter
X/Twitter
My page
Homepage