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::{
|
||||
http::{
|
||||
requests::{Request, RequestStatus, URL},
|
||||
requests::{Request, RequestStatus, Url},
|
||||
responses::{Body, Response, UnitOrBoxedError},
|
||||
},
|
||||
threads::ThreadPool,
|
||||
|
@ -97,7 +97,7 @@ impl Handlers {
|
|||
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() {
|
||||
// Exact match
|
||||
if path == &url.path {
|
||||
|
|
|
@ -4,12 +4,12 @@ use std::{
|
|||
net::TcpStream,
|
||||
};
|
||||
|
||||
pub struct URL {
|
||||
pub struct Url {
|
||||
pub path: String,
|
||||
pub query: HashMap<String, String>,
|
||||
}
|
||||
|
||||
impl URL {
|
||||
impl Url {
|
||||
pub fn new(url: String) -> Option<Self> {
|
||||
let mut split = url.split('?');
|
||||
|
||||
|
@ -47,7 +47,7 @@ impl URL {
|
|||
path
|
||||
};
|
||||
|
||||
Some(URL { path, query })
|
||||
Some(Url { path, query })
|
||||
}
|
||||
|
||||
/// Utility function to get a path segment by index
|
||||
|
@ -70,7 +70,7 @@ impl URL {
|
|||
pub struct Request {
|
||||
stream: TcpStream,
|
||||
pub method: String,
|
||||
pub url: URL,
|
||||
pub url: Url,
|
||||
}
|
||||
|
||||
pub enum RequestStatus {
|
||||
|
@ -99,7 +99,7 @@ impl Request {
|
|||
request_line_parts[0].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,
|
||||
None => return RequestStatus::MalformedHTTP(stream),
|
||||
};
|
||||
|
@ -122,26 +122,26 @@ mod tests {
|
|||
|
||||
#[test]
|
||||
fn test_url_new() {
|
||||
let url = URL::new("/".to_string()).unwrap();
|
||||
let url = Url::new("/".to_string()).unwrap();
|
||||
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.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.query.len(), 1);
|
||||
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.query.len(), 2);
|
||||
assert_eq!(url.query.get("query").unwrap(), "string");
|
||||
assert_eq!(url.query.get("another").unwrap(), "one");
|
||||
|
||||
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.query.len(), 3);
|
||||
assert_eq!(url.query.get("query").unwrap(), "string");
|
||||
|
|
Loading…
Reference in a new issue