stage 8 attempt 2

This commit is contained in:
YK 2024-05-11 04:07:10 +03:00
parent edfd90b787
commit d916e58f20

View File

@ -70,8 +70,6 @@ async fn process (mut stream: TcpStream, args: A) -> Result<()> {
let headers = Headers::parse(&mut data).await;
let length = headers.get("Content-Length").parse().unwrap();
let body = parse_req_body(&mut data, length).await;
use Method as M;
let response = match (method, target.as_str()) {
@ -89,6 +87,9 @@ async fn process (mut stream: TcpStream, args: A) -> Result<()> {
Response::OctetStream(buf)
},
(M::POST, r) if r.starts_with("/files") => 'file : {
let length = headers.get("Content-Length").parse().unwrap();
let body = parse_req_body(&mut data, length).await;
let Some(path) = &args.directory else { break 'file Response::_500; };
let path = path.join(r.trim_start_matches("/files/"));
let Ok(mut f) = File::create(path).await else { break 'file Response::_500; };