extern crate log;
use log::info;
extern crate reqwest;
#[derive(Debug)]
pub struct HttpResponse{
pub http_code: u16,
pub http_body: String,
}
pub fn is_response_valid(res: Result<reqwest::blocking::Response, reqwest::Error>) -> Option<HttpResponse>
{
match res {
Ok(_) => {
info!("{:?}", "URL is valid");
let status = res.unwrap();
let status_code = status.status();
let body = status.text();
match body {
Ok(mgs_body) => {
let resbody = HttpResponse{
http_code: status_code.as_u16(),
http_body: mgs_body,
};
return Some(resbody);
},
Err(mgs_body2) => {
let resbody = HttpResponse{
http_code: status_code.as_u16(),
http_body: mgs_body2.to_string(),
};
return Some(resbody);
},
}
},
Err(_error) => {
return None;
},
};
}