Route

zio.http.Route
See theRoute companion object
sealed trait Route[-Env, +Err]

Attributes

Companion
object
Graph
Supertypes
class Object
trait Matchable
class Any
Self type
Route[Env, Err]

Members list

Value members

Abstract methods

The location where the route was created, which is useful for debugging purposes.

The location where the route was created, which is useful for debugging purposes.

Attributes

The route pattern over which the route is defined. The route can only handle requests that match this route pattern.

The route pattern over which the route is defined. The route can only handle requests that match this route pattern.

Attributes

def toHandler(implicit ev: Err <:< Response, trace: Trace): Handler[Env, Response, Request, Response]

Concrete methods

final def apply(request: Request)(implicit ev: Err <:< Response, trace: Trace): ZIO[Env, Response, Response]

Applies the route to the specified request. The route must be defined for the request, or else this method will fail fatally. Note that you may only call this function when you have handled all errors produced by the route, converting them into responses.

Applies the route to the specified request. The route must be defined for the request, or else this method will fail fatally. Note that you may only call this function when you have handled all errors produced by the route, converting them into responses.

Attributes

def asErrorType[Err2](implicit ev: Err <:< Err2): Route[Env, Err2]
final def handleError(f: Err => Response)(implicit trace: Trace): Route[Env, Nothing]

Handles all typed errors in the route by converting them into responses. This method can be used to convert a route that does not handle its errors into one that does handle its errors.

Handles all typed errors in the route by converting them into responses. This method can be used to convert a route that does not handle its errors into one that does handle its errors.

Attributes

final def handleErrorCause(f: Cause[Err] => Response)(implicit trace: Trace): Route[Env, Nothing]

Handles all typed errors, as well as all non-recoverable errors, by converting them into responses. This method can be used to convert a route that does not handle its errors into one that does handle its errors.

Handles all typed errors, as well as all non-recoverable errors, by converting them into responses. This method can be used to convert a route that does not handle its errors into one that does handle its errors.

Attributes

final def handleErrorCauseZIO(f: Cause[Err] => ZIO[Any, Nothing, Response])(implicit trace: Trace): Route[Env, Nothing]

Handles all typed errors, as well as all non-recoverable errors, by converting them into a ZIO effect that produces the response. This method can be used to convert a route that does not handle its errors into one that does handle its errors.

Handles all typed errors, as well as all non-recoverable errors, by converting them into a ZIO effect that produces the response. This method can be used to convert a route that does not handle its errors into one that does handle its errors.

Attributes

final def handleErrorRequest(f: (Err, Request) => Response)(implicit trace: Trace): Route[Env, Nothing]

Handles all typed errors in the route by converting them into responses, taking into account the request that caused the error. This method can be used to convert a route that does not handle its errors into one that does handle its errors.

Handles all typed errors in the route by converting them into responses, taking into account the request that caused the error. This method can be used to convert a route that does not handle its errors into one that does handle its errors.

Attributes

final def handleErrorRequestCause(f: (Request, Cause[Err]) => Response)(implicit trace: Trace): Route[Env, Nothing]

Handles all typed errors, as well as all non-recoverable errors, by converting them into responses, taking into account the request that caused the error. This method can be used to convert a route that does not handle its errors into one that does handle its errors.

Handles all typed errors, as well as all non-recoverable errors, by converting them into responses, taking into account the request that caused the error. This method can be used to convert a route that does not handle its errors into one that does handle its errors.

Attributes

final def handleErrorRequestCauseZIO(f: (Request, Cause[Err]) => ZIO[Any, Nothing, Response])(implicit trace: Trace): Route[Env, Nothing]

Handles all typed errors, as well as all non-recoverable errors, by converting them into a ZIO effect that produces the response, taking into account the request that caused the error. This method can be used to convert a route that does not handle its errors into one that does handle its errors.

Handles all typed errors, as well as all non-recoverable errors, by converting them into a ZIO effect that produces the response, taking into account the request that caused the error. This method can be used to convert a route that does not handle its errors into one that does handle its errors.

Attributes

final def isDefinedAt(request: Request): Boolean

Determines if the route is defined for the specified request.

Determines if the route is defined for the specified request.

Attributes

final def mapError[Err1](fxn: Err => Err1)(implicit trace: Trace): Route[Env, Err1]

Allows the transformation of the Err type through a function allowing one to build up a Routes in Stages targets the Unhandled case

Allows the transformation of the Err type through a function allowing one to build up a Routes in Stages targets the Unhandled case

Attributes

final def mapErrorZIO[Err1](fxn: Err => ZIO[Any, Err1, Response])(implicit trace: Trace): Route[Env, Err1]

Allows the transformation of the Err type through an Effectful program allowing one to build up a Routes in Stages targets the Unhandled case only.

Allows the transformation of the Err type through an Effectful program allowing one to build up a Routes in Stages targets the Unhandled case only.

Attributes

def nest(prefix: PathCodec[Unit])(implicit ev: Err <:< Response): Route[Env, Err]
final def provideEnvironment(env: ZEnvironment[Env]): Route[Any, Err]
final def run(request: Request)(implicit trace: Trace): ZIO[Env, Either[Err, Response], Response]

Applies the route to the specified request. The route must be defined for the request, or else this method will fail fatally.

Applies the route to the specified request. The route must be defined for the request, or else this method will fail fatally.

Attributes

final def sandbox(implicit trace: Trace): Route[Env, Nothing]

Returns a route that automatically translates all failures into responses, using best-effort heuristics to determine the appropriate HTTP status code, and attaching error details using the HTTP header Warning.

Returns a route that automatically translates all failures into responses, using best-effort heuristics to determine the appropriate HTTP status code, and attaching error details using the HTTP header Warning.

Attributes

final def toHttpApp(implicit ev: Err <:< Response): HttpApp[Env]
def transform[Env1](f: Handler[Env, Response, Request, Response] => Handler[Env1, Response, Request, Response]): Route[Env1, Err]