kxio 1.1.2

Provides injectable Filesystem and Network resources to make code more testable
Documentation
use crate::network::StatusCode;

use super::{net_request::NetUrl, RequestMethod};

#[derive(Debug)]
pub struct NetResponse<T> {
    method: RequestMethod,
    request_url: NetUrl,
    status_code: StatusCode,
    response_body: Option<T>,
}
impl<T> NetResponse<T> {
    pub fn new(
        method: RequestMethod,
        request_url: &NetUrl,
        status_code: StatusCode,
        response_body: Option<T>,
    ) -> Self {
        Self {
            method,
            request_url: request_url.clone(),
            status_code,
            response_body,
        }
    }
    pub const fn method(&self) -> &RequestMethod {
        &self.method
    }
    pub const fn request_url(&self) -> &NetUrl {
        &self.request_url
    }
    pub const fn status_code(&self) -> StatusCode {
        self.status_code
    }
    pub fn response_body(self) -> Option<T> {
        self.response_body
    }
}