mirror of
https://github.com/fafhrd91/actix-web
synced 2025-06-25 06:39:22 +02:00
use http::Uri for uri parsing
This commit is contained in:
@ -3,16 +3,25 @@ extern crate http;
|
||||
extern crate time;
|
||||
|
||||
use std::str;
|
||||
use std::str::FromStr;
|
||||
use actix_web::*;
|
||||
use actix_web::dev::*;
|
||||
use http::{header, Method, Version, HeaderMap};
|
||||
use http::{header, Method, Version, HeaderMap, Uri};
|
||||
|
||||
|
||||
#[test]
|
||||
fn test_debug() {
|
||||
let req = HttpRequest::new(
|
||||
Method::GET, Uri::from_str("/").unwrap(), Version::HTTP_11,
|
||||
HeaderMap::new(), Payload::empty());
|
||||
let _ = format!("{:?}", req);
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn test_no_request_cookies() {
|
||||
let mut req = HttpRequest::new(
|
||||
Method::GET, "/".to_owned(), Version::HTTP_11, HeaderMap::new(),
|
||||
String::new(), Payload::empty());
|
||||
Method::GET, Uri::from_str("/").unwrap(),
|
||||
Version::HTTP_11, HeaderMap::new(), Payload::empty());
|
||||
assert!(req.cookies().is_empty());
|
||||
let _ = req.load_cookies();
|
||||
assert!(req.cookies().is_empty());
|
||||
@ -25,7 +34,8 @@ fn test_request_cookies() {
|
||||
header::HeaderValue::from_static("cookie1=value1; cookie2=value2"));
|
||||
|
||||
let mut req = HttpRequest::new(
|
||||
Method::GET, "/".to_owned(), Version::HTTP_11, headers, String::new(), Payload::empty());
|
||||
Method::GET, Uri::from_str("/").unwrap(),
|
||||
Version::HTTP_11, headers, Payload::empty());
|
||||
assert!(req.cookies().is_empty());
|
||||
{
|
||||
let cookies = req.load_cookies().unwrap();
|
||||
@ -48,9 +58,8 @@ fn test_request_cookies() {
|
||||
|
||||
#[test]
|
||||
fn test_no_request_range_header() {
|
||||
let req = HttpRequest::new(Method::GET, "/".to_owned(),
|
||||
Version::HTTP_11, HeaderMap::new(),
|
||||
String::new(), Payload::empty());
|
||||
let req = HttpRequest::new(Method::GET, Uri::from_str("/").unwrap(),
|
||||
Version::HTTP_11, HeaderMap::new(), Payload::empty());
|
||||
let ranges = req.range(100).unwrap();
|
||||
assert!(ranges.is_empty());
|
||||
}
|
||||
@ -61,8 +70,8 @@ fn test_request_range_header() {
|
||||
headers.insert(header::RANGE,
|
||||
header::HeaderValue::from_static("bytes=0-4"));
|
||||
|
||||
let req = HttpRequest::new(Method::GET, "/".to_owned(),
|
||||
Version::HTTP_11, headers, String::new(), Payload::empty());
|
||||
let req = HttpRequest::new(Method::GET, Uri::from_str("/").unwrap(),
|
||||
Version::HTTP_11, headers, Payload::empty());
|
||||
let ranges = req.range(100).unwrap();
|
||||
assert_eq!(ranges.len(), 1);
|
||||
assert_eq!(ranges[0].start, 0);
|
||||
@ -71,10 +80,8 @@ fn test_request_range_header() {
|
||||
|
||||
#[test]
|
||||
fn test_request_query() {
|
||||
let req = HttpRequest::new(Method::GET, "/".to_owned(),
|
||||
Version::HTTP_11, HeaderMap::new(),
|
||||
"id=test".to_owned(), Payload::empty());
|
||||
|
||||
let req = HttpRequest::new(Method::GET, Uri::from_str("/?id=test").unwrap(),
|
||||
Version::HTTP_11, HeaderMap::new(), Payload::empty());
|
||||
assert_eq!(req.query_string(), "id=test");
|
||||
let query = req.query();
|
||||
assert_eq!(&query["id"], "test");
|
||||
@ -82,9 +89,8 @@ fn test_request_query() {
|
||||
|
||||
#[test]
|
||||
fn test_request_match_info() {
|
||||
let mut req = HttpRequest::new(Method::GET, "/value/".to_owned(),
|
||||
Version::HTTP_11, HeaderMap::new(),
|
||||
"?id=test".to_owned(), Payload::empty());
|
||||
let mut req = HttpRequest::new(Method::GET, Uri::from_str("/value/?id=test").unwrap(),
|
||||
Version::HTTP_11, HeaderMap::new(), Payload::empty());
|
||||
|
||||
let rec = RouteRecognizer::new("/".to_owned(), vec![("/{key}/".to_owned(), 1)]);
|
||||
let (params, _) = rec.recognize(req.path()).unwrap();
|
||||
@ -97,15 +103,16 @@ fn test_request_match_info() {
|
||||
#[test]
|
||||
fn test_chunked() {
|
||||
let req = HttpRequest::new(
|
||||
Method::GET, "/".to_owned(), Version::HTTP_11, HeaderMap::new(),
|
||||
String::new(), Payload::empty());
|
||||
Method::GET, Uri::from_str("/").unwrap(),
|
||||
Version::HTTP_11, HeaderMap::new(), Payload::empty());
|
||||
assert!(!req.chunked().unwrap());
|
||||
|
||||
let mut headers = HeaderMap::new();
|
||||
headers.insert(header::TRANSFER_ENCODING,
|
||||
header::HeaderValue::from_static("chunked"));
|
||||
let req = HttpRequest::new(
|
||||
Method::GET, "/".to_owned(), Version::HTTP_11, headers, String::new(), Payload::empty());
|
||||
Method::GET, Uri::from_str("/").unwrap(), Version::HTTP_11,
|
||||
headers, Payload::empty());
|
||||
assert!(req.chunked().unwrap());
|
||||
|
||||
let mut headers = HeaderMap::new();
|
||||
@ -114,6 +121,7 @@ fn test_chunked() {
|
||||
headers.insert(header::TRANSFER_ENCODING,
|
||||
header::HeaderValue::from_str(s).unwrap());
|
||||
let req = HttpRequest::new(
|
||||
Method::GET, "/".to_owned(), Version::HTTP_11, headers, String::new(), Payload::empty());
|
||||
Method::GET, Uri::from_str("/").unwrap(),
|
||||
Version::HTTP_11, headers, Payload::empty());
|
||||
assert!(req.chunked().is_err());
|
||||
}
|
||||
|
@ -3,8 +3,9 @@ extern crate http;
|
||||
extern crate time;
|
||||
|
||||
use actix_web::*;
|
||||
use std::str::FromStr;
|
||||
use time::Duration;
|
||||
use http::{header, Method, Version, HeaderMap};
|
||||
use http::{header, Method, Version, HeaderMap, Uri};
|
||||
|
||||
|
||||
#[test]
|
||||
@ -14,7 +15,7 @@ fn test_response_cookies() {
|
||||
header::HeaderValue::from_static("cookie1=value1; cookie2=value2"));
|
||||
|
||||
let mut req = HttpRequest::new(
|
||||
Method::GET, "/".to_owned(), Version::HTTP_11, headers, String::new(), Payload::empty());
|
||||
Method::GET, Uri::from_str("/").unwrap(), Version::HTTP_11, headers, Payload::empty());
|
||||
let cookies = req.load_cookies().unwrap();
|
||||
|
||||
let resp = httpcodes::HTTPOk
|
||||
|
Reference in New Issue
Block a user