style: struct URL -> Url
This commit is contained in:
		
							parent
							
								
									2d6df9f737
								
							
						
					
					
						commit
						4047c5ddb7
					
				
					 2 changed files with 12 additions and 12 deletions
				
			
		| 
						 | 
					@ -1,6 +1,6 @@
 | 
				
			||||||
use crate::{
 | 
					use crate::{
 | 
				
			||||||
    http::{
 | 
					    http::{
 | 
				
			||||||
        requests::{Request, RequestStatus, URL},
 | 
					        requests::{Request, RequestStatus, Url},
 | 
				
			||||||
        responses::{Body, Response, UnitOrBoxedError},
 | 
					        responses::{Body, Response, UnitOrBoxedError},
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
    threads::ThreadPool,
 | 
					    threads::ThreadPool,
 | 
				
			||||||
| 
						 | 
					@ -97,7 +97,7 @@ impl Handlers {
 | 
				
			||||||
        Ok(())
 | 
					        Ok(())
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    fn match_handler<'a>(matchers: &'a HandlersMap, url: &URL) -> Option<&'a Arc<BoxedHandlerFn>> {
 | 
					    fn match_handler<'a>(matchers: &'a HandlersMap, url: &Url) -> Option<&'a Arc<BoxedHandlerFn>> {
 | 
				
			||||||
        'matching_loop: for (path, handler) in matchers.iter() {
 | 
					        'matching_loop: for (path, handler) in matchers.iter() {
 | 
				
			||||||
            // Exact match
 | 
					            // Exact match
 | 
				
			||||||
            if path == &url.path {
 | 
					            if path == &url.path {
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -4,12 +4,12 @@ use std::{
 | 
				
			||||||
    net::TcpStream,
 | 
					    net::TcpStream,
 | 
				
			||||||
};
 | 
					};
 | 
				
			||||||
 | 
					
 | 
				
			||||||
pub struct URL {
 | 
					pub struct Url {
 | 
				
			||||||
    pub path: String,
 | 
					    pub path: String,
 | 
				
			||||||
    pub query: HashMap<String, String>,
 | 
					    pub query: HashMap<String, String>,
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
impl URL {
 | 
					impl Url {
 | 
				
			||||||
    pub fn new(url: String) -> Option<Self> {
 | 
					    pub fn new(url: String) -> Option<Self> {
 | 
				
			||||||
        let mut split = url.split('?');
 | 
					        let mut split = url.split('?');
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					@ -47,7 +47,7 @@ impl URL {
 | 
				
			||||||
            path
 | 
					            path
 | 
				
			||||||
        };
 | 
					        };
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        Some(URL { path, query })
 | 
					        Some(Url { path, query })
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    /// Utility function to get a path segment by index
 | 
					    /// Utility function to get a path segment by index
 | 
				
			||||||
| 
						 | 
					@ -70,7 +70,7 @@ impl URL {
 | 
				
			||||||
pub struct Request {
 | 
					pub struct Request {
 | 
				
			||||||
    stream: TcpStream,
 | 
					    stream: TcpStream,
 | 
				
			||||||
    pub method: String,
 | 
					    pub method: String,
 | 
				
			||||||
    pub url: URL,
 | 
					    pub url: Url,
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
pub enum RequestStatus {
 | 
					pub enum RequestStatus {
 | 
				
			||||||
| 
						 | 
					@ -99,7 +99,7 @@ impl Request {
 | 
				
			||||||
            request_line_parts[0].to_string().clone(),
 | 
					            request_line_parts[0].to_string().clone(),
 | 
				
			||||||
            request_line_parts[1].to_string().clone(),
 | 
					            request_line_parts[1].to_string().clone(),
 | 
				
			||||||
        );
 | 
					        );
 | 
				
			||||||
        let url = match URL::new(url_str) {
 | 
					        let url = match Url::new(url_str) {
 | 
				
			||||||
            Some(path) => path,
 | 
					            Some(path) => path,
 | 
				
			||||||
            None => return RequestStatus::MalformedHTTP(stream),
 | 
					            None => return RequestStatus::MalformedHTTP(stream),
 | 
				
			||||||
        };
 | 
					        };
 | 
				
			||||||
| 
						 | 
					@ -122,26 +122,26 @@ mod tests {
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    #[test]
 | 
					    #[test]
 | 
				
			||||||
    fn test_url_new() {
 | 
					    fn test_url_new() {
 | 
				
			||||||
        let url = URL::new("/".to_string()).unwrap();
 | 
					        let url = Url::new("/".to_string()).unwrap();
 | 
				
			||||||
        assert_eq!(url.path, "/");
 | 
					        assert_eq!(url.path, "/");
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        let url = URL::new("/path/to/resource".to_string()).unwrap();
 | 
					        let url = Url::new("/path/to/resource".to_string()).unwrap();
 | 
				
			||||||
        assert_eq!(url.path, "/path/to/resource");
 | 
					        assert_eq!(url.path, "/path/to/resource");
 | 
				
			||||||
        assert_eq!(url.query.len(), 0);
 | 
					        assert_eq!(url.query.len(), 0);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        let url = URL::new("/path/to/resource?query=string".to_string()).unwrap();
 | 
					        let url = Url::new("/path/to/resource?query=string".to_string()).unwrap();
 | 
				
			||||||
        assert_eq!(url.path, "/path/to/resource");
 | 
					        assert_eq!(url.path, "/path/to/resource");
 | 
				
			||||||
        assert_eq!(url.query.len(), 1);
 | 
					        assert_eq!(url.query.len(), 1);
 | 
				
			||||||
        assert_eq!(url.query.get("query").unwrap(), "string");
 | 
					        assert_eq!(url.query.get("query").unwrap(), "string");
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        let url = URL::new("/path/to/resource?query=string&another=one".to_string()).unwrap();
 | 
					        let url = Url::new("/path/to/resource?query=string&another=one".to_string()).unwrap();
 | 
				
			||||||
        assert_eq!(url.path, "/path/to/resource");
 | 
					        assert_eq!(url.path, "/path/to/resource");
 | 
				
			||||||
        assert_eq!(url.query.len(), 2);
 | 
					        assert_eq!(url.query.len(), 2);
 | 
				
			||||||
        assert_eq!(url.query.get("query").unwrap(), "string");
 | 
					        assert_eq!(url.query.get("query").unwrap(), "string");
 | 
				
			||||||
        assert_eq!(url.query.get("another").unwrap(), "one");
 | 
					        assert_eq!(url.query.get("another").unwrap(), "one");
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        let url =
 | 
					        let url =
 | 
				
			||||||
            URL::new("/path/to/resource?query=string&another=one&third=3".to_string()).unwrap();
 | 
					            Url::new("/path/to/resource?query=string&another=one&third=3".to_string()).unwrap();
 | 
				
			||||||
        assert_eq!(url.path, "/path/to/resource");
 | 
					        assert_eq!(url.path, "/path/to/resource");
 | 
				
			||||||
        assert_eq!(url.query.len(), 3);
 | 
					        assert_eq!(url.query.len(), 3);
 | 
				
			||||||
        assert_eq!(url.query.get("query").unwrap(), "string");
 | 
					        assert_eq!(url.query.get("query").unwrap(), "string");
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
		Reference in a new issue