diff options
| author | Jan Wolff <janw@mailbox.org> | 2020-05-17 00:16:57 +0200 |
|---|---|---|
| committer | Jan Wolff <janw@mailbox.org> | 2020-05-17 00:16:57 +0200 |
| commit | 87d61457bdc33676475803937ccd39e1a6c661de (patch) | |
| tree | 07291e8b185b1b4cab8940534b5e29f5a1013f55 /src/server/response.rs | |
| parent | 177d12b5b89f97039a5849d131b3524eecb3bf57 (diff) | |
working file serving
Diffstat (limited to 'src/server/response.rs')
| -rw-r--r-- | src/server/response.rs | 50 |
1 files changed, 11 insertions, 39 deletions
diff --git a/src/server/response.rs b/src/server/response.rs index 36d5d15..8b087ba 100644 --- a/src/server/response.rs +++ b/src/server/response.rs @@ -15,11 +15,6 @@ pub struct Header { meta: String, } -pub struct Response { - header: Header, - data: Vec<u8>, -} - impl Header { pub fn new(status: Status, meta: &str) -> Header { Header { @@ -31,47 +26,24 @@ impl Header { pub fn format(&self) -> String { format!("{} {}\r\n", self.status as u8, self.meta) } -} -impl Response { - pub fn new(header: Header, data: Vec<u8>) -> Response { - Response { - header: header, - data: data, - } - } - - pub fn new_empty(header: Header) -> Response { - Response { - header: header, - data: Vec::new(), - } + pub fn to_vec(&self) -> Vec<u8> { + self.format().as_bytes().to_vec() } +} - pub fn format(&self) -> Vec<u8> { - let mut resp: Vec<u8> = self.header.format().as_bytes().to_vec(); - resp.extend(&self.data); - return resp; - } +pub fn invalid_protocol() -> Header { + Header::new(Status::PermanentFailure, "this protocol is not supported") } -pub fn invalid_protocol() -> Response { - Response::new_empty(Header::new( - Status::PermanentFailure, - "this protocol is not supported", - )) +pub fn not_understood() -> Header { + Header::new(Status::PermanentFailure, "request not understood") } -pub fn not_understood() -> Response { - Response::new_empty(Header::new( - Status::PermanentFailure, - "request not understood", - )) +pub fn not_found() -> Header { + Header::new(Status::PermanentFailure, "resource not found") } -pub fn internal_error() -> Response { - Response::new_empty(Header::new( - Status::PermanentFailure, - "internal server error", - )) +pub fn internal_error() -> Header { + Header::new(Status::PermanentFailure, "internal server error") } |
