redirect
Description
Completes the request with a redirection response to a given target URI and of a given redirection type (status code).
redirect
is a convenience helper for completing the request with a redirection response. It is equivalent to this snippet relying on the complete
method on RequestContext:
- Scala
-
complete(HttpResponse( status = redirectionType, headers = headers.Location(uri) :: Nil, entity = redirectionType.htmlTemplate match { case "" ⇒ HttpEntity.Empty case template ⇒ HttpEntity(ContentTypes.`text/html(UTF-8)`, template format uri) }))
- Java
Example
- Scala
-
val route = pathPrefix("foo") { pathSingleSlash { complete("yes") } ~ pathEnd { redirect("/foo/", StatusCodes.PermanentRedirect) } } // tests: Get("/foo/") ~> route ~> check { responseAs[String] shouldEqual "yes" } Get("/foo") ~> route ~> check { status shouldEqual StatusCodes.PermanentRedirect responseAs[String] shouldEqual """The request, and all future requests should be repeated using <a href="/foo/">this URI</a>.""" }
- Java