Handler

zio.http.Handler
See theHandler companion object
sealed trait Handler[-R, +Err, -In, +Out]

Attributes

Companion:
object
Graph
Supertypes
class Object
trait Matchable
class Any
Self type
Handler[R, Err, In, Out]

Members list

Concise view

Value members

Abstract methods

def apply(in: In): ZIO[R, Err, Out]

Consumes the input and executes the Handler.

Consumes the input and executes the Handler.

Attributes

Concrete methods

final def *>[R1 <: R, Err1 >: Err, In1 <: In, Out1](that: Handler[R1, Err1, In1, Out1])(implicit trace: Trace): Handler[R1, Err1, In1, Out1]

Alias for zipRight

Alias for zipRight

Attributes

final def <*[R1 <: R, Err1 >: Err, In1 <: In, Out1](that: Handler[R1, Err1, In1, Out1])(implicit trace: Trace): Handler[R1, Err1, In1, Out]

Alias for zipLeft

Alias for zipLeft

Attributes

final def <*>[R1 <: R, Err1 >: Err, In1 <: In, Out1](that: Handler[R1, Err1, In1, Out1])(implicit trace: Trace): Handler[R1, Err1, In1, (Out, Out1)]
final def <<<[R1 <: R, Err1 >: Err, In1, Out1 <: In](that: Handler[R1, Err1, In1, Out1])(implicit trace: Trace): Handler[R1, Err1, In1, Out]

Composes one handler with another.

Composes one handler with another.

Attributes

final def <>[R1 <: R, Err1 >: Err, In1 <: In, Out1 >: Out](that: Handler[R1, Err1, In1, Out1])(implicit trace: Trace): Handler[R1, Err1, In1, Out1]

Runs self but if it fails, runs other, ignoring the result from self.

Runs self but if it fails, runs other, ignoring the result from self.

Attributes

final def >>=[R1 <: R, Err1 >: Err, In1 <: In, Out1](f: Out => Handler[R1, Err1, In1, Out1])(implicit trace: Trace): Handler[R1, Err1, In1, Out1]

Alias for flatmap

Alias for flatmap

Attributes

final def >>>[R1 <: R, Err1 >: Err, In1 >: Out, Out1](that: Handler[R1, Err1, In1, Out1])(implicit trace: Trace): Handler[R1, Err1, In, Out1]

Pipes the output of one app into the other

Pipes the output of one app into the other

Attributes

final def @@[R1 <: R, Err1 >: Err, In1 <: In, Out1 >: Out, In2, Out2](that: HandlerAspect[R1, Err1, In1, Out1, In2, Out2])(implicit trace: Trace): Handler[R1, Err1, In2, Out2]
final def \/[R1 <: R, Err1 >: Err, In1, Out1](that: Handler[R1, Err1, In1, Out1])(implicit trace: Trace): HandlerAspect[R1, Err1, Out, In1, In, Out1]

Combines two Handler instances into a middleware that works a codec for incoming and outgoing messages.

Combines two Handler instances into a middleware that works a codec for incoming and outgoing messages.

Attributes

final def absolve[Err1 >: Err, Out1](implicit ev: Out <:< Either[Err1, Out1], trace: Trace): Handler[R, Err1, In, Out1]

Returns a handler that submerges the error case of an Either into the Handler. The inverse operation of Handler.either.

Returns a handler that submerges the error case of an Either into the Handler. The inverse operation of Handler.either.

Attributes

final def andThen[R1 <: R, Err1 >: Err, In1 >: Out, Out1](that: Handler[R1, Err1, In1, Out1])(implicit trace: Trace): Handler[R1, Err1, In, Out1]

Named alias for >>>

Named alias for >>>

Attributes

final def as[Out1](out: Out1)(implicit trace: Trace): Handler[R, Err, In, Out1]

Makes the app resolve with a constant value

Makes the app resolve with a constant value

Attributes

def body(implicit trace: Trace): Handler[R, Err, In, Body]
Implicitly added by ResponseOutputSyntax

Extracts body

Extracts body

Attributes

final def catchAll[R1 <: R, Err1, In1 <: In, Out1 >: Out](f: Err => Handler[R1, Err1, In1, Out1])(implicit trace: Trace): Handler[R1, Err1, In1, Out1]

Catches all the exceptions that the handler can fail with

Catches all the exceptions that the handler can fail with

Attributes

final def catchAllCause[R1 <: R, Err1, In1 <: In, Out1 >: Out](f: Cause[Err] => Handler[R1, Err1, In1, Out1])(implicit trace: Trace): Handler[R1, Err1, In1, Out1]
final def catchAllDefect[R1 <: R, Err1 >: Err, In1 <: In, Out1 >: Out](f: Throwable => Handler[R1, Err1, In1, Out1])(implicit trace: Trace): Handler[R1, Err1, In1, Out1]

Recovers from all defects with provided function.

Recovers from all defects with provided function.

'''WARNING''': There is no sensible way to recover from defects. This method should be used only at the boundary between Handler and an external system, to transmit information on a defect for diagnostic or explanatory purposes.

Attributes

final def catchSome[R1 <: R, Err1 >: Err, In1 <: In, Out1 >: Out](pf: PartialFunction[Err, Handler[R1, Err1, In1, Out1]])(implicit trace: Trace): Handler[R1, Err1, In1, Out1]

Recovers from some or all of the error cases.

Recovers from some or all of the error cases.

Attributes

final def catchSomeDefect[R1 <: R, Err1 >: Err, In1 <: In, Out1 >: Out](pf: PartialFunction[Throwable, Handler[R1, Err1, In1, Out1]])(implicit trace: Trace): Handler[R1, Err1, In1, Out1]

Recovers from some or all of the defects with provided partial function.

Recovers from some or all of the defects with provided partial function.

'''WARNING''': There is no sensible way to recover from defects. This method should be used only at the boundary between Handler and an external system, to transmit information on a defect for diagnostic or explanatory purposes.

Attributes

final def codecMiddleware[R1 <: R, Err1 >: Err, In1, Out1](that: Handler[R1, Err1, In1, Out1])(implicit trace: Trace): HandlerAspect[R1, Err1, Out, In1, In, Out1]

Combines two Handler instances into a middleware that works a codec for incoming and outgoing messages.

Combines two Handler instances into a middleware that works a codec for incoming and outgoing messages.

Attributes

final def compose[R1 <: R, Err1 >: Err, In1, Out1 <: In](that: Handler[R1, Err1, In1, Out1])(implicit trace: Trace): Handler[R1, Err1, In1, Out]

Named alias for <<<

Named alias for <<<

Attributes

def contentLength(implicit trace: Trace): Handler[R, Err, In, Option[Long]]
Implicitly added by ResponseOutputSyntax

Extracts content-length from the response if available

Extracts content-length from the response if available

Attributes

def contentType(implicit trace: Trace): Handler[R, Err, In, Option[String]]
Implicitly added by ResponseOutputSyntax

Extracts the value of ContentType header

Extracts the value of ContentType header

Attributes

final def contraFlatMap[In1]: ContraFlatMap[R, Err, In, Out, In1]

Transforms the input of the handler before passing it on to the current Handler

Transforms the input of the handler before passing it on to the current Handler

Attributes

final def contramap[In1](f: In1 => In): Handler[R, Err, In1, Out]

Transforms the input of the handler before passing it on to the current Handler

Transforms the input of the handler before passing it on to the current Handler

Attributes

final def contramapZIO[R1 <: R, Err1 >: Err, In1](f: In1 => ZIO[R1, Err1, In])(implicit trace: Trace): Handler[R1, Err1, In1, Out]

Transforms the input of the handler before giving it effectfully

Transforms the input of the handler before giving it effectfully

Attributes

final def delay(duration: Duration)(implicit trace: Trace): Handler[R, Err, In, Out]

Delays production of output B for the specified duration of time

Delays production of output B for the specified duration of time

Attributes

final def delayAfter(duration: Duration)(implicit trace: Trace): Handler[R, Err, In, Out]

Delays production of output B for the specified duration of time

Delays production of output B for the specified duration of time

Attributes

final def delayBefore(duration: Duration)(implicit trace: Trace): Handler[R, Err, In, Out]

Delays consumption of input A for the specified duration of time

Delays consumption of input A for the specified duration of time

Attributes

final def either(implicit ev: CanFail[Err], trace: Trace): Handler[R, Nothing, In, Either[Err, Out]]

Returns a handler whose failure and success have been lifted into an Either. The resulting app cannot fail, because the failure case has been exposed as part of the Either success case.

Returns a handler whose failure and success have been lifted into an Either. The resulting app cannot fail, because the failure case has been exposed as part of the Either success case.

Attributes

final def flatMap[R1 <: R, Err1 >: Err, In1 <: In, Out1](f: Out => Handler[R1, Err1, In1, Out1])(implicit trace: Trace): Handler[R1, Err1, In1, Out1]

Creates a new handler from another

Creates a new handler from another

Attributes

final def flatten[R1 <: R, Err1 >: Err, In1 <: In, Out1](implicit ev: Out <:< Handler[R1, Err1, In1, Out1], trace: Trace): Handler[R1, Err1, In1, Out1]

Flattens a handler of a handler

Flattens a handler of a handler

Attributes

final def foldCauseHandler[R1 <: R, Err1, In1 <: In, Out1](onFailure: Cause[Err] => Handler[R1, Err1, In1, Out1], onSuccess: Out => Handler[R1, Err1, In1, Out1])(implicit trace: Trace): Handler[R1, Err1, In1, Out1]
final def foldHandler[R1 <: R, Err1, In1 <: In, Out1](onFailure: Err => Handler[R1, Err1, In1, Out1], onSuccess: Out => Handler[R1, Err1, In1, Out1])(implicit trace: Trace): Handler[R1, Err1, In1, Out1]

Folds over the handler by taking in two functions one for success and one for failure respectively.

Folds over the handler by taking in two functions one for success and one for failure respectively.

Attributes

def headerValue(name: CharSequence)(implicit trace: Trace): Handler[R, Err, In, Option[String]]
Implicitly added by ResponseOutputSyntax

Extracts the value of the provided header name.

Extracts the value of the provided header name.

Attributes

def headers(implicit trace: Trace): Handler[R, Err, In, Headers]
Implicitly added by ResponseOutputSyntax

Extracts the Headers from the type B if possible

Extracts the Headers from the type B if possible

Attributes

final def map[Out1](f: Out => Out1)(implicit trace: Trace): Handler[R, Err, In, Out1]

Transforms the output of the handler

Transforms the output of the handler

Attributes

final def mapError[Err1](f: Err => Err1)(implicit trace: Trace): Handler[R, Err1, In, Out]

Transforms the failure of the handler

Transforms the failure of the handler

Attributes

final def mapZIO[R1 <: R, Err1 >: Err, Out1](f: Out => ZIO[R1, Err1, Out1])(implicit trace: Trace): Handler[R1, Err1, In, Out1]

Transforms the output of the handler effectfully

Transforms the output of the handler effectfully

Attributes

final def merge[Err1 >: Err, Out1 >: Out](implicit ev: Err1 =:= Out1, trace: Trace): Handler[R, Nothing, In, Out1]

Returns a new handler where the error channel has been merged into the success channel to their common combined type.

Returns a new handler where the error channel has been merged into the success channel to their common combined type.

Attributes

final def narrow[In1](implicit ev: In1 <:< In): Handler[R, Err, In1, Out]

Narrows the type of the input

Narrows the type of the input

Attributes

final def onExit[R1 <: R, Err1 >: Err](f: Exit[Err, Out] => ZIO[R1, Err1, Any])(implicit trace: Trace): Handler[R1, Err1, In, Out]
final def option(implicit ev: CanFail[Err], trace: Trace): Handler[R, Nothing, In, Option[Out]]

Executes this app, skipping the error but returning optionally the success.

Executes this app, skipping the error but returning optionally the success.

Attributes

final def optional[Err1](implicit ev: Err <:< Option[Err1], trace: Trace): Handler[R, Err1, In, Option[Out]]

Converts an option on errors into an option on values.

Converts an option on errors into an option on values.

Attributes

final def orDie(implicit ev1: Err <:< Throwable, ev2: CanFail[Err], trace: Trace): Handler[R, Nothing, In, Out]

Translates app failure into death of the app, making all failures unchecked and not a part of the type of the app.

Translates app failure into death of the app, making all failures unchecked and not a part of the type of the app.

Attributes

final def orDieWith(f: Err => Throwable)(implicit ev: CanFail[Err], trace: Trace): Handler[R, Nothing, In, Out]

Keeps none of the errors, and terminates the handler with them, using the specified function to convert the E into a Throwable.

Keeps none of the errors, and terminates the handler with them, using the specified function to convert the E into a Throwable.

Attributes

final def orElse[R1 <: R, Err1 >: Err, In1 <: In, Out1 >: Out](that: Handler[R1, Err1, In1, Out1])(implicit trace: Trace): Handler[R1, Err1, In1, Out1]

Named alias for <>

Named alias for <>

Attributes

final def provideEnvironment(r: ZEnvironment[R])(implicit trace: Trace): Handler[Any, Err, In, Out]

Provides the environment to Handler.

Provides the environment to Handler.

Attributes

final def provideLayer[Err1 >: Err, R0](layer: ZLayer[R0, Err1, R])(implicit trace: Trace): Handler[R0, Err1, In, Out]

Provides layer to Handler.

Provides layer to Handler.

Attributes

final def provideSomeEnvironment[R1](f: ZEnvironment[R1] => ZEnvironment[R])(implicit trace: Trace): Handler[R1, Err, In, Out]

Provides some of the environment to Handler.

Provides some of the environment to Handler.

Attributes

final def provideSomeLayer[R0, R1 : Tag, Err1 >: Err](layer: ZLayer[R0, Err1, R1])(implicit evidence$1: Tag[R1], ev: R0 & R1 <:< R, trace: Trace): Handler[R0, Err1, In, Out]

Provides some of the environment to Handler leaving the remainder R0.

Provides some of the environment to Handler leaving the remainder R0.

Attributes

final def race[R1 <: R, Err1 >: Err, In1 <: In, Out1 >: Out](that: Handler[R1, Err1, In1, Out1])(implicit trace: Trace): Handler[R1, Err1, In1, Out1]

Performs a race between two handlers

Performs a race between two handlers

Attributes

final def refineOrDie[Err1](pf: PartialFunction[Err, Err1])(implicit ev1: Err <:< Throwable, ev2: CanFail[Err], trace: Trace): Handler[R, Err1, In, Out]

Keeps some of the errors, and terminates the handler with the rest.

Keeps some of the errors, and terminates the handler with the rest.

Attributes

final def refineOrDieWith[Err1](pf: PartialFunction[Err, Err1])(f: Err => Throwable)(implicit ev: CanFail[Err], trace: Trace): Handler[R, Err1, In, Out]

Keeps some of the errors, and terminates the handler with the rest, using the specified function to convert the E into a Throwable.

Keeps some of the errors, and terminates the handler with the rest, using the specified function to convert the E into a Throwable.

Attributes

final def runZIO(in: In): ZIO[R, Err, Out]
def status(implicit trace: Trace): Handler[R, Err, In, Status]
Implicitly added by ResponseOutputSyntax

Extracts Status from the type B is possible.

Extracts Status from the type B is possible.

Attributes

final def tapAllZIO[R1 <: R, Err1 >: Err](onFailure: Cause[Err] => ZIO[R1, Err1, Any], onSuccess: Out => ZIO[R1, Err1, Any])(implicit trace: Trace): Handler[R1, Err1, In, Out]

Returns a Handler that effectfully peeks at the success, failed or defective value of this Handler.

Returns a Handler that effectfully peeks at the success, failed or defective value of this Handler.

Attributes

final def tapErrorCauseZIO[R1 <: R, Err1 >: Err](f: Cause[Err] => ZIO[R1, Err1, Any])(implicit trace: Trace): Handler[R1, Err1, In, Out]
final def tapErrorZIO[R1 <: R, Err1 >: Err](f: Err => ZIO[R1, Err1, Any])(implicit trace: Trace): Handler[R1, Err1, In, Out]

Returns a Handler that effectfully peeks at the failure of this Handler.

Returns a Handler that effectfully peeks at the failure of this Handler.

Attributes

final def tapZIO[R1 <: R, Err1 >: Err](f: Out => ZIO[R1, Err1, Any])(implicit trace: Trace): Handler[R1, Err1, In, Out]

Returns a Handler that effectfully peeks at the success of this Handler.

Returns a Handler that effectfully peeks at the success of this Handler.

Attributes

final def toHttp(implicit trace: Trace): Http[R, Err, In, Out]
final def toSocketApp(implicit ev1: WebSocketChannelEvent <:< In, ev2: Err <:< Throwable, trace: Trace): SocketApp[R]

Converts a Handler into a websocket application

Converts a Handler into a websocket application

Attributes

final def unrefine[Err1 >: Err](pf: PartialFunction[Throwable, Err1])(implicit trace: Trace): Handler[R, Err1, In, Out]

Takes some defects and converts them into failures.

Takes some defects and converts them into failures.

Attributes

final def unrefineTo[Err1 >: Err : ClassTag](implicit evidence$2: ClassTag[Err1], trace: Trace): Handler[R, Err1, In, Out]

Takes some defects and converts them into failures.

Takes some defects and converts them into failures.

Attributes

final def unrefineWith[Err1](pf: PartialFunction[Throwable, Err1])(f: Err => Err1)(implicit trace: Trace): Handler[R, Err1, In, Out]

Takes some defects and converts them into failures, using the specified function to convert the E into an E1.

Takes some defects and converts them into failures, using the specified function to convert the E into an E1.

Attributes

final def unwrapZIO[R1 <: R, Err1 >: Err, Out1](implicit ev: Out <:< ZIO[R1, Err1, Out1], trace: Trace): Handler[R1, Err1, In, Out1]

Unwraps a Handler that returns a ZIO of Http

Unwraps a Handler that returns a ZIO of Http

Attributes

def widen[Err1, Out1](implicit ev1: Err <:< Err1, ev2: Out <:< Out1): Handler[R, Err1, In, Out1]

Widens the type of the output

Widens the type of the output

Attributes

final def zip[R1 <: R, Err1 >: Err, In1 <: In, Out1](that: Handler[R1, Err1, In1, Out1])(implicit trace: Trace): Handler[R1, Err1, In1, (Out, Out1)]
final def zipLeft[R1 <: R, Err1 >: Err, In1 <: In, Out1](that: Handler[R1, Err1, In1, Out1])(implicit trace: Trace): Handler[R1, Err1, In1, Out]
final def zipRight[R1 <: R, Err1 >: Err, In1 <: In, Out1](that: Handler[R1, Err1, In1, Out1])(implicit trace: Trace): Handler[R1, Err1, In1, Out1]

Combines the two apps and returns the result of the one on the right

Combines the two apps and returns the result of the one on the right

Attributes

Concrete fields

val self: Handler[R, Err, In, Response]
Implicitly added by ResponseOutputSyntax