0

POST リクエストを送信する関数を作成しました。

pub async fn make_login_request(
    client: &Client,
    host: &String,
    credentials: &HashMap<String, String>,
) -> Result<(), reqwest::Error> {
    client
        .post(
            &(String::from("https://")
                + &String::from(host)
                + &String::from("/[URL]")),
        )
        .json(&credentials)
        .header(
            CONTENT_TYPE,
            "application/json, text/javascript, */*; q=0.01",
        )
        .send()
        .await?;
    Ok(())
}

次に、応答を検証する必要があります。接続が失われた場合は、プログラムを中断して終了する必要があります。401 のような別のエラー コードの場合は、同様に終了する必要があります。それ以外の場合は、200 のときに成功を示します。

を呼び出すときに、これらすべてのシナリオをどのように処理できますmake_login_requestか? 私はそれを次のように呼び出す場合

make_login_request(&client, &host, &credentials)

エラーが発生した場合、またはリターン/印刷が成功した場合に、詳細を含むエラーをスローするにはどうすればよいですか?

4

0 に答える 0