package impl
- Alphabetic
- Public
- All
Type Members
- final case class /(parent: Path, child: String) extends Path with Product with Serializable
-
trait
AllowResponseGenerator[F[_], G[_]] extends ResponseGenerator
Helper for the generation of a org.http4s.Response which must contain an Allow header and may contain a body.
Helper for the generation of a org.http4s.Response which must contain an Allow header and may contain a body.
A 405 status MUST contain an
Allow
header, which distinguishes this from otherResponseGenerator
s. - trait Auth extends AnyRef
-
trait
EmptyResponseGenerator[F[_], G[_]] extends ResponseGenerator
Helper for the generation of a org.http4s.Response which will not contain a body
Helper for the generation of a org.http4s.Response which will not contain a body
While it is possible to for the org.http4s.Response manually, the EntityResponseGenerators offer shortcut syntax to make intention clear and concise.
val resp: F[Response] = Status.Continue()
Example: -
trait
EntityResponseGenerator[F[_], G[_]] extends ResponseGenerator
Helper for the generation of a org.http4s.Response which may contain a body
Helper for the generation of a org.http4s.Response which may contain a body
While it is possible to construct the org.http4s.Response manually, the EntityResponseGenerators offer shortcut syntax to make intention clear and concise.
val resp: IO[Response] = Ok("Hello world!")
Example: -
abstract
class
FlagQueryParamMatcher extends AnyRef
Flag (value-less) query param extractor
-
trait
LocationResponseGenerator[F[_], G[_]] extends EntityResponseGenerator[F, G]
Helper for the generation of a org.http4s.Response which may contain a Location header and may contain a body.
Helper for the generation of a org.http4s.Response which may contain a Location header and may contain a body.
A 300, 301, 302, 303, 307 and 308 status SHOULD contain a Location header, which distinguishes this from other
EntityResponseGenerator
s. - class MethodConcat extends AnyRef
- trait Methods extends AnyRef
-
abstract
class
OptionalMultiQueryParamDecoderMatcher[T] extends AnyRef
Capture a query parameter that appears 0 or more times.
Capture a query parameter that appears 0 or more times.
case class Foo(i: Int) implicit val fooDecoder: QueryParamDecoder[Foo] = ... implicit val fooParam: QueryParam[Foo] = ... object FooMatcher extends OptionalMultiQueryParamDecoderMatcher[Foo]("foo") val routes = HttpRoutes.of { // matches http://.../closest?foo=2&foo=3&foo=4 case GET -> Root / "closest" :? FooMatcher(Validated.Valid(Seq(Foo(2),Foo(3),Foo(4)))) => ... /* * matches http://.../closest?foo=2&foo=3&foo=4 as well as http://.../closest (no parameters) * or http://.../closest?foo=2 (single occurrence) */ case GET -> Root / "closest" :? FooMatcher(is) => ...
- abstract class OptionalQueryParamDecoderMatcher[T] extends AnyRef
- abstract class OptionalQueryParamMatcher[T] extends OptionalQueryParamDecoderMatcher[T]
-
abstract
class
OptionalValidatingQueryParamDecoderMatcher[T] extends AnyRef
param extractor using org.http4s.QueryParamDecoder.
param extractor using org.http4s.QueryParamDecoder. Note that this will _always_ match, but will return an Option possibly containing the result of the conversion to T
case class Foo(i: Int) implicit val fooDecoder: QueryParamDecoder[Foo] = ... case class Bar(i: Int) implicit val barDecoder: QueryParamDecoder[Bar] = ... object FooMatcher extends ValidatingQueryParamDecoderMatcher[Foo]("foo") object BarMatcher extends OptionalValidatingQueryParamDecoderMatcher[Bar]("bar") val routes = HttpRoutes.of { case GET -> Root / "closest" :? FooMatcher(fooValue) +& BarMatcher(barValue) => { ^(fooValue, barValue getOrElse 42.right) { (foo, bar) => ... }.fold( nelE => BadRequest(nelE.toList.map(_.sanitized).mkString("\n")), baz => { ... } ) }
-
trait
Path extends AnyRef
Base class for path extractors.
-
class
PathVar[A] extends AnyRef
- Attributes
- protected
-
trait
ProxyAuthenticateResponseGenerator[F[_], G[_]] extends ResponseGenerator
Helper for the generation of a org.http4s.Response which must contain a Proxy-Authenticate header and may contain a body.
Helper for the generation of a org.http4s.Response which must contain a Proxy-Authenticate header and may contain a body.
A 407 status MUST contain a
Proxy-Authenticate
header, which distinguishes this from otherEntityResponseGenerator
s. -
abstract
class
QueryParamDecoderMatcher[T] extends AnyRef
param extractor using QueryParamDecoder:
param extractor using QueryParamDecoder:
case class Foo(i: Int) implicit val fooDecoder: QueryParamDecoder[Foo] = ... object FooMatcher extends QueryParamDecoderMatcher[Foo]("foo") val routes = HttpRoutes.of { case GET -> Root / "closest" :? FooMatcher(2) => ...
-
abstract
class
QueryParamMatcher[T] extends QueryParamDecoderMatcher[T]
param extractor using QueryParamDecoder:
param extractor using QueryParamDecoder:
case class Foo(i: Int) implicit val fooDecoder: QueryParamDecoder[Foo] = ... implicit val fooParam: QueryParam[Foo] = ... object FooMatcher extends QueryParamDecoderMatcher[Foo] val routes = HttpRoutes.of { case GET -> Root / "closest" :? FooMatcher(2) => ...
- trait ResponseGenerator extends Any
- trait Responses[F[_], G[_]] extends AnyRef
- trait Statuses extends AnyRef
-
abstract
class
ValidatingQueryParamDecoderMatcher[T] extends AnyRef
param extractor using org.http4s.QueryParamDecoder.
param extractor using org.http4s.QueryParamDecoder. Note that this will return a ParseFailure if the parameter cannot be decoded.
case class Foo(i: Int) implicit val fooDecoder: QueryParamDecoder[Foo] = ... object FooMatcher extends ValidatingQueryParamDecoderMatcher[Foo]("foo") val routes: HttpRoutes.of = { case GET -> Root / "closest" :? FooMatcher(fooValue) => { fooValue.fold( nelE => BadRequest(nelE.toList.map(_.sanitized).mkString("\n")), foo => { ... } ) }
-
trait
WwwAuthenticateResponseGenerator[F[_], G[_]] extends ResponseGenerator
Helper for the generation of a org.http4s.Response which must contain a WWW-Authenticate header and may contain a body.
Helper for the generation of a org.http4s.Response which must contain a WWW-Authenticate header and may contain a body.
A 401 status MUST contain a
WWW-Authenticate
header, which distinguishes this from otherResponseGenerator
s.
Value Members
-
object
+&
Multiple param extractor:
Multiple param extractor:
object A extends QueryParamDecoderMatcher[String]("a") object B extends QueryParamDecoderMatcher[Int]("b") val routes = HttpRoutes.of { case GET -> Root / "user" :? A(a) +& B(b) => ...
- object ->
-
object
/:
Path separator extractor:
Path separator extractor:
Path("/1/2/3/test.json") match { case "1" /: "2" /: _ => ...
- object :?
-
object
IntVar extends PathVar[Int]
Integer extractor of a path variable:
Integer extractor of a path variable:
Path("/user/123") match { case Root / "user" / IntVar(userId) => ...
-
object
LongVar extends PathVar[Long]
Long extractor of a path variable:
Long extractor of a path variable:
Path("/user/123") match { case Root / "user" / LongVar(userId) => ...
- object Path
- object Responses
-
object
Root extends Path with Product with Serializable
Root extractor:
Root extractor:
Path("/") match { case Root => ... }
-
object
UUIDVar extends PathVar[UUID]
UUID extractor of a path variable:
UUID extractor of a path variable:
Path("/user/13251d88-7a73-4fcf-b935-54dfae9f023e") match { case Root / "user" / UUIDVar(userId) => ...
-
object
~
File extension extractor