Package

org.http4s

rho

Permalink

package rho

Linear Supertypes
AllSyntax, LiteralsSyntax, StringSyntax, NonEmptyListSyntax, KleisliSyntax, AsyncSyntax, AnyRef, Any
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. rho
  2. AllSyntax
  3. LiteralsSyntax
  4. StringSyntax
  5. NonEmptyListSyntax
  6. KleisliSyntax
  7. AsyncSyntax
  8. AnyRef
  9. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. All

Type Members

  1. case class Action[F[_], T <: HList](resultInfo: Set[ResultInfo], responseEncodings: Set[MediaType], act: (Request[F], T) ⇒ F[Response[F]]) extends Product with Serializable

    Permalink

    Encapsulation of metadata and a result generator

    Encapsulation of metadata and a result generator

    T

    The type of HList required to execute the Action.

    resultInfo

    Information about the status and type the Action will produce.

    responseEncodings

    Encodings that the response supports.

    act

    Function of Request and the HList to a Task[Response]

  2. class AuthedContext[F[_], U] extends FailureResponseOps[F]

    Permalink

    The AuthedContext provides a convenient way to define a RhoRoutes which works with http4s authentication middleware.

    The AuthedContext provides a convenient way to define a RhoRoutes which works with http4s authentication middleware. Please note that AuthMiddleware-wrapping is mandatory, otherwise context doesn't take effect.

    case class User(name: String, id: UUID)
    
    val middleware = AuthMiddleware { req =>
      OptionT(IO(User("Bob", UUID.randomUUID())))
    }
    
    object Auth extends AuthedContext[IO, User]
    
    object BobRoutes extends RhoRoutes[IO] {
      GET +? param("foo", "bar") >>> Auth.auth |>> { (foo: String, user: User) =>
        Ok(s"Bob with id ${user.id}, foo $foo")
      }
    }
    
    val service = middleware.apply(Auth.toService(BobRoutes.toRoutes()))
    U

    authInfo type for this service.

  3. case class CodecRouter[F[_], T <: HList, R](router: Router[F, T], decoder: EntityDecoder[F, R])(implicit t: scala.reflect.api.JavaUniverse.TypeTag[R]) extends HeaderAppendable[F, T] with RouteExecutable[F, ::[R, T]] with RoutingEntity[F, ::[R, T]] with Decodable[F, T, R] with Product with Serializable

    Permalink
  4. trait CompileRoutes[F[_], RouteType] extends AnyRef

    Permalink

    Transforms a RhoRoute into an RouteType.

    Transforms a RhoRoute into an RouteType.

    This can be a stateful operation, storing the action for later execution or any other type of compilation phase.

  5. trait Decodable[F[_], T <: HList, R] extends AnyRef

    Permalink

    Type that can accept a decoder.

    Type that can accept a decoder.

    A subtype of Decodable can accept an EntityDecoder for extracting a message from the Request body.

  6. final class PathBuilder[F[_], T <: HList] extends RouteExecutable[F, T] with Decodable[F, T, Nothing] with HeaderAppendable[F, T] with RoutePrependable[F, PathBuilder[F, T]] with UriConvertible[F]

    Permalink

    Fully functional path building

  7. case class QueryBuilder[F[_], T <: HList](method: Method, path: PathRule, rules: RequestRule[F]) extends RouteExecutable[F, T] with HeaderAppendable[F, T] with UriConvertible[F] with RoutePrependable[F, QueryBuilder[F, T]] with Product with Serializable

    Permalink

    Typed builder of query rules

    Typed builder of query rules

    The QueryBuilder represents a builder for routes that already have a defined method and path. It can accumulate query rules and mount decoders.

    T

    The HList representation of the types the route expects to extract from a Request.

    method

    Request method to match.

    path

    Path rules to execute.

    rules

    Accumulated RequestRule's.

  8. final case class RequestLineBuilder[F[_], T <: HList](path: PathRule, rules: RequestRule[F]) extends TypedBuilder[F, T] with RoutePrependable[F, RequestLineBuilder[F, T]] with UriConvertible[F] with Product with Serializable

    Permalink

    DSL construct for building query rules without a known Method

    DSL construct for building query rules without a known Method

    The RequestLineBuilder doesn't know about header rules or the method.

    T

    The HList representation of the values to be extracted from the Request.

  9. sealed case class Result[F[_], +CONTINUE, +SWITCHINGPROTOCOLS, +PROCESSING, +EARLYHINTS, +OK, +CREATED, +ACCEPTED, +NONAUTHORITATIVEINFORMATION, +NOCONTENT, +RESETCONTENT, +PARTIALCONTENT, +MULTISTATUS, +ALREADYREPORTED, +IMUSED, +MULTIPLECHOICES, +MOVEDPERMANENTLY, +FOUND, +SEEOTHER, +NOTMODIFIED, +TEMPORARYREDIRECT, +PERMANENTREDIRECT, +BADREQUEST, +UNAUTHORIZED, +PAYMENTREQUIRED, +FORBIDDEN, +NOTFOUND, +METHODNOTALLOWED, +NOTACCEPTABLE, +PROXYAUTHENTICATIONREQUIRED, +REQUESTTIMEOUT, +CONFLICT, +GONE, +LENGTHREQUIRED, +PRECONDITIONFAILED, +PAYLOADTOOLARGE, +URITOOLONG, +UNSUPPORTEDMEDIATYPE, +RANGENOTSATISFIABLE, +EXPECTATIONFAILED, +MISDIRECTEDREQUEST, +UNPROCESSABLEENTITY, +LOCKED, +FAILEDDEPENDENCY, +TOOEARLY, +UPGRADEREQUIRED, +PRECONDITIONREQUIRED, +TOOMANYREQUESTS, +REQUESTHEADERFIELDSTOOLARGE, +UNAVAILABLEFORLEGALREASONS, +INTERNALSERVERERROR, +NOTIMPLEMENTED, +BADGATEWAY, +SERVICEUNAVAILABLE, +GATEWAYTIMEOUT, +HTTPVERSIONNOTSUPPORTED, +VARIANTALSONEGOTIATES, +INSUFFICIENTSTORAGE, +LOOPDETECTED, +NOTEXTENDED, +NETWORKAUTHENTICATIONREQUIRED](resp: Response[F]) extends Product with Serializable

    Permalink

    A helper for capturing the result types and status codes from routes

  10. trait ResultSyntaxInstances[F[_]] extends AnyRef

    Permalink
  11. type RhoMiddleware[F[_]] = (Seq[RhoRoute[F, _ <: HList]]) ⇒ Seq[RhoRoute[F, _ <: HList]]

    Permalink
  12. final case class RhoRoute[F[_], T <: HList](router: RoutingEntity[F, T], action: Action[F, T]) extends RoutePrependable[F, RhoRoute[F, T]] with Product with Serializable

    Permalink

    A type to bundle everything needed to define a route

  13. class RhoRoutes[F[_]] extends MethodAliases with ResponseGeneratorInstances[F] with RoutePrependable[F, RhoRoutes[F]] with RhoDsl[F]

    Permalink

    Constructor class for defining routes

    Constructor class for defining routes

    The RhoRoutes provides a convenient way to define routes in a style similar to scalatra etc by providing implicit conversions and an implicit CompileRoutes inside the constructor.

    new RhoRoutes[IO] {
      POST / "foo" / pathVar[Int] +? param[String]("param") |>> { (p1: Int, param: String) =>
        Ok("success")
      }
    }
  14. trait RouteExecutable[F[_], T <: HList] extends TypedBuilder[F, T]

    Permalink

    Object which can be compiled into a complete route The RouteExecutable is a complete set of HTTP method, path, query, and headers needed for a compiler to generate a complete route description.

    Object which can be compiled into a complete route The RouteExecutable is a complete set of HTTP method, path, query, and headers needed for a compiler to generate a complete route description.

    T

    The HList representation of the types the route expects to extract from a Request.

  15. trait RoutePrependable[F[_], T <: RoutePrependable[F, T]] extends AnyRef

    Permalink

    Types that extends this trait can be prepended with noncapturing paths

  16. case class Router[F[_], T <: HList](method: Method, path: PathRule, rules: RequestRule[F]) extends RouteExecutable[F, T] with HeaderAppendable[F, T] with RoutingEntity[F, T] with Decodable[F, T, Nothing] with RoutePrependable[F, Router[F, T]] with Product with Serializable

    Permalink

    Provides the operations for generating a router

    Provides the operations for generating a router

    T

    cumulative type of the required method for executing the router

    method

    request methods to match

    path

    path matching stack

    rules

    header validation stack

  17. final class RoutesBuilder[F[_]] extends CompileRoutes[F, Tpe[F]]

    Permalink

    CompileRoutes which accumulates routes and can build a HttpRoutes

  18. sealed trait RoutingEntity[F[_], T <: HList] extends AnyRef

    Permalink
  19. trait TypedBuilder[F[_], T <: HList] extends UriConvertible[F]

    Permalink

    A typed shell which represents the requirements of the route

    A typed shell which represents the requirements of the route

    T

    The HList representation of the values to be extracted from the Request.

  20. trait UriConvertible[F[_]] extends AnyRef

    Permalink

    Defines a type that is convertible into an Uri or UriTemplate

Value Members

  1. object CompileRoutes

    Permalink
  2. val PathEmpty: PathRule

    Permalink
  3. object Result extends Serializable

    Permalink
  4. object RhoRoute extends Serializable

    Permalink
  5. object RoutesBuilder

    Permalink
  6. object UriConvertible

    Permalink
  7. package bits

    Permalink
  8. implicit def http4sKleisliResponseSyntax[F[_], A](service: Kleisli[[β$0$]OptionT[F, β$0$], A, Response[F]])(implicit arg0: Functor[F]): KleisliResponseOps[F, A]

    Permalink
    Definition Classes
    KleisliSyntax
  9. implicit def http4sLiteralsSyntax(sc: StringContext): LiteralsOps

    Permalink
    Definition Classes
    LiteralsSyntax
  10. implicit def http4sStringSyntax(s: String): StringOps

    Permalink
    Definition Classes
    StringSyntax
  11. object io extends RhoDsl[IO]

    Permalink

Deprecated Value Members

  1. implicit def asyncSyntax[F[_], A](async: Async[F]): AsyncOps[F, A]

    Permalink
    Definition Classes
    AsyncSyntax
    Annotations
    @deprecated
    Deprecated

    (Since version 0.19.1) Has nothing to do with HTTP

  2. implicit def http4sNonEmptyListSyntax[A](l: NonEmptyList[A]): NonEmptyListOps[A]

    Permalink
    Definition Classes
    NonEmptyListSyntax
    Annotations
    @deprecated
    Deprecated

    (Since version 0.18.5) Use cats.foldable._

Inherited from AllSyntax

Inherited from LiteralsSyntax

Inherited from StringSyntax

Inherited from NonEmptyListSyntax

Inherited from KleisliSyntax

Inherited from AsyncSyntax

Inherited from AnyRef

Inherited from Any

Ungrouped