diff --git a/README.md b/README.md index 1397dc938..eb4b76cf8 100644 --- a/README.md +++ b/README.md @@ -311,6 +311,20 @@ object Hello extends Service[HttpRequest, HttpResponse] { } ``` +### Redirects + +There is a tiny factory object `io.finch.response.Redirect` that may be used for generation redirect services. +Here is the example: + +```scala +val e = new Endpoint[HttpRequest, HttpResponse] = { + def route = { + case Method.Get -> Root / "users" / name => GetUser(name) + case Method.Get -> Root / "Bob" => Redirect("/users/Bob") // or with path object + } +} +``` + Bonus Track: JSON on Steroids ----------------------------- diff --git a/src/main/scala/io/finch/response/package.scala b/src/main/scala/io/finch/response/package.scala index 3f948ade6..9ee28962d 100644 --- a/src/main/scala/io/finch/response/package.scala +++ b/src/main/scala/io/finch/response/package.scala @@ -129,10 +129,8 @@ package object response { * * @return A Service that generates a redirect to the given url */ - def apply(url: String): Service[HttpRequest, HttpResponse] = { - new Service[HttpRequest, HttpResponse] { - override def apply(request: HttpRequest) = SeeOther.withHeaders(("Location", url))().toFuture - } + def apply(url: String) = new Service[HttpRequest, HttpResponse] { + def apply(req: HttpRequest) = SeeOther.withHeaders(("Location", url))().toFuture } /** @@ -142,6 +140,6 @@ package object response { * * @return A Service that generates a redirect to the given path */ - def apply(path: Path): Service[HttpRequest, HttpResponse] = this(path.toString) + def apply(path: Path) = this(path.toString) } }