1
0
mirror of https://github.com/fafhrd91/actix-web synced 2025-06-25 06:39:22 +02:00

added external resources; refactor route recognizer

This commit is contained in:
Nikolay Kim
2017-12-07 16:22:26 -08:00
parent 9e3aa59155
commit 968f5d39d6
11 changed files with 686 additions and 369 deletions

View File

@ -4,6 +4,7 @@ extern crate time;
use std::str;
use std::str::FromStr;
use std::collections::HashMap;
use actix_web::*;
use actix_web::dev::*;
use http::{header, Method, Version, HeaderMap, Uri};
@ -92,11 +93,13 @@ fn test_request_match_info() {
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("", vec![("/{key}/".to_owned(), None, 1)]);
let (params, _) = rec.recognize(req.path()).unwrap();
let params = params.unwrap();
let mut resource = Resource::default();
resource.name("index");
let mut map = HashMap::new();
map.insert(Pattern::new("index", "/{key}/"), Some(resource));
let router = Router::new("", map);
assert!(router.recognize(&mut req).is_some());
req.set_match_info(params);
assert_eq!(req.match_info().get("key"), Some("value"));
}