aboutsummaryrefslogtreecommitdiff
path: root/src/request/response.rs
diff options
context:
space:
mode:
authorFuwn <[email protected]>2022-06-14 08:45:09 +0000
committerFuwn <[email protected]>2022-06-14 08:45:09 +0000
commitb5703a59c59bfe95143cf8dc6cc54f20f67fb4fd (patch)
tree44022e3944119c39df5b9082aaac3a77841c8c10 /src/request/response.rs
parentfix(ast): list ast construction (diff)
downloadgerm-b5703a59c59bfe95143cf8dc6cc54f20f67fb4fd.tar.xz
germ-b5703a59c59bfe95143cf8dc6cc54f20f67fb4fd.zip
feat(macros): general utility macros
Diffstat (limited to 'src/request/response.rs')
-rw-r--r--src/request/response.rs71
1 files changed, 0 insertions, 71 deletions
diff --git a/src/request/response.rs b/src/request/response.rs
deleted file mode 100644
index 5e1f436..0000000
--- a/src/request/response.rs
+++ /dev/null
@@ -1,71 +0,0 @@
-// This file is part of Germ <https://github.com/gemrest/germ>.
-// Copyright (C) 2022-2022 Fuwn <[email protected]>
-//
-// This program is free software: you can redistribute it and/or modify
-// it under the terms of the GNU General Public License as published by
-// the Free Software Foundation, version 3.
-//
-// This program is distributed in the hope that it will be useful, but
-// WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-// General Public License for more details.
-//
-// You should have received a copy of the GNU General Public License
-// along with this program. If not, see <http://www.gnu.org/licenses/>.
-//
-// Copyright (C) 2022-2022 Fuwn <[email protected]>
-// SPDX-License-Identifier: GPL-3.0-only
-
-use rustls::SupportedCipherSuite;
-
-use crate::request::Status;
-
-#[derive(Debug)]
-pub struct Response {
- status: Status,
- meta: String,
- content: Option<String>,
- size: usize,
- suite: Option<SupportedCipherSuite>,
-}
-impl Response {
- pub(super) fn new(data: &[u8], suite: Option<SupportedCipherSuite>) -> Self {
- let string_form = String::from_utf8_lossy(data).to_string();
- let mut content = None;
- let header;
-
- if string_form.ends_with("\r\n") {
- header = string_form;
- } else {
- let mut string_split = string_form.split("\r\n");
-
- header = string_split.next().unwrap_or("").to_string();
- content = Some(string_split.collect());
- }
-
- let header_split = header.split_at(2);
-
- Self {
- status: Status::from(header_split.0.parse::<i32>().unwrap_or(0)),
- meta: header_split.1.trim_start().to_string(),
- content,
- size: data.len(),
- suite,
- }
- }
-
- #[must_use]
- pub const fn status(&self) -> &Status { &self.status }
-
- #[must_use]
- pub fn meta(&self) -> &str { &self.meta }
-
- #[must_use]
- pub const fn content(&self) -> &Option<String> { &self.content }
-
- #[must_use]
- pub const fn size(&self) -> &usize { &self.size }
-
- #[must_use]
- pub const fn suite(&self) -> &Option<SupportedCipherSuite> { &self.suite }
-}