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