feat: working now

This commit is contained in:
2020-08-09 21:30:58 +08:00
parent 7d99300a3c
commit dc00f46d9f

View File

@@ -45,16 +45,27 @@ async fn get_file(req: HttpRequest) -> HttpResponse {
Some(v) => v.iter().next().clone(),
};
let url = match url {
Some(u) => u, None => {
return HttpResponse::BadRequest().content_type("text/plain").body("No url!");
},
Some(u) => u,
None => return HttpResponse::BadRequest().content_type("text/plain").body("No url!"),
};
let resp = reqwest::get(url.as_str()).await.unwrap();
// TODO ...
HttpResponse::Ok()
.content_type("text/plain")
.streaming(ProxyStream{ inner: Box::new(resp.bytes_stream()) })
let resp = match reqwest::get(url.as_str()).await {
Ok(resp) => resp,
Err(e) => return HttpResponse::BadGateway().content_type("text/plain")
.body(format!("Bad gateway error: {}", e)),
};
let mut http_response = HttpResponse::build(resp.status());
let resp_headers = resp.headers();
information!("Response headers: {:#?}", resp_headers);
for (k, v) in resp_headers.iter() {
let key_str = k.as_str();
let value_str = match v.to_str() {
Ok(v) => v, Err(_) => continue,
};
http_response.header(key_str, value_str);
}
http_response.streaming(ProxyStream{ inner: Box::new(resp.bytes_stream()) })
}
#[actix_rt::main]