NetworkErrorKind¶
Synopsis¶
#[derive(Debug, Copy, Clone, PartialEq)]
pub enum NetworkErrorKind;
Variants¶
| Name | Description |
|---|---|
| OK | No error has occured. |
| OutOfMemory | The function could not complete as intended because the system is (O)ut (O)f (M)emory. |
| BadArgs | Caller has called the routine with invalid parameters. |
| Protocol | The system returned an IO error (Either from file read or network IO). |
| DeviceNotFound | The routine could not complete as intended because the device is not connected. |
| Timeout | The routine is taking too long to complete and has decided to return an error. |
| ShuttingDown | The LinQ Network Library is in the process of shutting down and therefore cannot perform this routine. |
| HttpBadRequest | A response from the device has returned a 400 error code (Client API error) |
| HttpUnauthorized | A response from the device has returned a 403 error code (Unauthorized) |
| HttpNotFound | A response from the device has returned a 404 error code (Not Found) |
| HttpServerError | A response from the device has returned a 500 error code (Internal Server Error) |
| HttpTryAgainLater | A response from the device has returned a 504 error code (Try again later) |
Methods¶
None.
NetworkError¶
Synopsis¶
#[derive(Debug, Clone)]
pub struct NetworkError;
Methods¶
to_http¶
pub fn to_http(&self) -> u16
Convert a NetworkErrorKind into an HTTP error code
Examples¶
If network send error, convert error to http code and send response
#[post("/proxy/<id>/about", format = "json")]
async fn proxy_route(net: State<'_, AtxNet>, id:String) -> Result<content::Json<String>, Status> {
match net.get("/ATX/about", &id).await {
Ok(response) => match response.result {
Ok(v) => Ok(content::Json(v)),
Err(e) => Err(Status::new(e.to_http(), "")),
},
Err(_) => Err(Status::new(400,"")),
}
}