Skip to content

Commit 16d3b63

Browse files
committed
Add default redirect to Response.
1 parent 66c9929 commit 16d3b63

File tree

1 file changed

+23
-0
lines changed

1 file changed

+23
-0
lines changed

src/response.rs

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -47,6 +47,29 @@ impl Response {
4747
}
4848
}
4949

50+
/// Creates a response that represents a redirect to `location`.
51+
///
52+
/// Uses status code 302 Found.
53+
///
54+
/// # Example
55+
///
56+
/// ```
57+
/// # use tide::{Response, Request, StatusCode};
58+
/// # fn special_sale_today() -> Option<String> { None }
59+
/// # #[allow(dead_code)]
60+
/// async fn route_handler(request: Request<()>) -> tide::Result {
61+
/// if let Some(sale_url) = special_sale_today() {
62+
/// Ok(Response::redirect(sale_url))
63+
/// } else {
64+
/// //...
65+
/// # Ok(Response::new(StatusCode::Ok)) //...
66+
/// }
67+
/// }
68+
/// ```
69+
pub fn redirect(location: impl AsRef<str>) -> Self {
70+
Redirect::found(location).into()
71+
}
72+
5073
/// Returns the statuscode.
5174
pub fn status(&self) -> crate::StatusCode {
5275
self.res.status()

0 commit comments

Comments
 (0)