1
0
mirror of https://github.com/fafhrd91/actix-web synced 2024-11-28 01:52:57 +01:00

update doc string for NormalizePath

This commit is contained in:
Nikolay Kim 2017-12-09 11:55:55 -08:00
parent 7addd2800d
commit 71bbe2a5dd

View File

@ -266,14 +266,16 @@ impl<T: Serialize> FromRequest for Json<T> {
} }
} }
/// Handler that normalizes the path of a request. By normalizing it means: /// Path normalization helper
///
/// By normalizing it means:
/// ///
/// - Add a trailing slash to the path. /// - Add a trailing slash to the path.
/// - Double slashes are replaced by one. /// - Double slashes are replaced by one.
/// ///
/// The handler returns as soon as it finds a path that resolves /// The handler returns as soon as it finds a path that resolves
/// correctly. The order if all enable is 1) merge, 2) append /// correctly. The order if all enable is 1) merge, 3) both merge and append
/// and 3) both merge and append. If the path resolves with /// and 3) append. If the path resolves with
/// at least one of those conditions, it will redirect to the new path. /// at least one of those conditions, it will redirect to the new path.
/// ///
/// If *append* is *true* append slash when needed. If a resource is /// If *append* is *true* append slash when needed. If a resource is
@ -283,6 +285,23 @@ impl<T: Serialize> FromRequest for Json<T> {
/// If *merge* is *true*, merge multiple consecutive slashes in the path into one. /// If *merge* is *true*, merge multiple consecutive slashes in the path into one.
/// ///
/// This handler designed to be use as a handler for application's *default resource*. /// This handler designed to be use as a handler for application's *default resource*.
///
/// ```rust
/// # extern crate actix_web;
/// # #[macro_use] extern crate serde_derive;
/// # use actix_web::*;
/// #
/// # fn index(req: HttpRequest) -> httpcodes::StaticResponse {
/// # httpcodes::HTTPOk
/// # }
/// fn main() {
/// let app = Application::new("/")
/// .resource("/test/", |r| r.f(index))
/// .default_resource(|r| r.h(NormalizePath::default()))
/// .finish();
/// }
/// ```
/// In this example `/test`, `/test///` will be redirected to `/test/` url.
pub struct NormalizePath { pub struct NormalizePath {
append: bool, append: bool,
merge: bool, merge: bool,
@ -292,6 +311,8 @@ pub struct NormalizePath {
} }
impl Default for NormalizePath { impl Default for NormalizePath {
/// Create default `NormalizePath` instance, *append* is set to *true*,
/// *merge* is set to *true* and *redirect* is set to `StatusCode::MOVED_PERMANENTLY`
fn default() -> NormalizePath { fn default() -> NormalizePath {
NormalizePath { NormalizePath {
append: true, append: true,
@ -304,6 +325,7 @@ impl Default for NormalizePath {
} }
impl NormalizePath { impl NormalizePath {
/// Create new `NoramlizePath` instance
pub fn new(append: bool, merge: bool, redirect: StatusCode) -> NormalizePath { pub fn new(append: bool, merge: bool, redirect: StatusCode) -> NormalizePath {
NormalizePath { NormalizePath {
append: append, append: append,