RequestHandlerMiddlewares

zio.http.middleware.RequestHandlerMiddlewares$

Attributes

Graph
Supertypes
class Object
trait Matchable
class Any
Self type

Members list

Concise view

Type members

Classlikes

final class InterceptPatch[S](val fromRequest: Request => S) extends AnyVal

Attributes

Graph
Supertypes
class AnyVal
trait Matchable
class Any
final class InterceptPatchZIO[R, E, S](val fromRequest: Request => ZIO[R, E, S]) extends AnyVal

Attributes

Graph
Supertypes
class AnyVal
trait Matchable
class Any

Value members

Inherited methods

final def addCookie(cookie: Cookie[Response]): RequestHandlerMiddleware[Any, Nothing]

Sets cookie in response headers

Sets cookie in response headers

Attributes

Inherited from:
RequestHandlerMiddlewares (hidden)
final def addCookieZIO[R, E](cookie: ZIO[R, E, Cookie[Response]])(implicit trace: Trace): RequestHandlerMiddleware[R, E]

Attributes

Inherited from:
RequestHandlerMiddlewares (hidden)
final def addHeader(name: CharSequence, value: CharSequence): A

Attributes

Inherited from:
HeaderModifier
final def addHeader(header: Header): A

Attributes

Inherited from:
HeaderModifier
final def addHeaders(headers: Headers): A

Attributes

Inherited from:
HeaderModifier
final def basicAuth(u: String, p: String): RequestHandlerMiddleware[Any, Nothing]

Creates a middleware for basic authentication that checks if the credentials are same as the ones given

Creates a middleware for basic authentication that checks if the credentials are same as the ones given

Attributes

Inherited from:
Auth (hidden)
final def basicAuth(f: Credentials => Boolean): RequestHandlerMiddleware[Any, Nothing]

Creates a middleware for basic authentication

Creates a middleware for basic authentication

Attributes

Inherited from:
Auth (hidden)
final def basicAuthZIO[R, E](f: Credentials => ZIO[R, E, Boolean])(implicit trace: Trace): RequestHandlerMiddleware[R, E]

Creates a middleware for basic authentication using an effectful verification function

Creates a middleware for basic authentication using an effectful verification function

Attributes

Inherited from:
Auth (hidden)
final def bearerAuth(f: String => Boolean): RequestHandlerMiddleware[Any, Nothing]

Creates a middleware for bearer authentication that checks the token using the given function

Creates a middleware for bearer authentication that checks the token using the given function

Attributes

f:

function that validates the token string inside the Bearer Header

Inherited from:
Auth (hidden)
final def bearerAuthZIO[R, E](f: String => ZIO[R, E, Boolean])(implicit trace: Trace): RequestHandlerMiddleware[R, E]

Creates a middleware for bearer authentication that checks the token using the given effectful function

Creates a middleware for bearer authentication that checks the token using the given effectful function

Attributes

f:

function that effectfully validates the token string inside the Bearer Header

Inherited from:
Auth (hidden)
final def beautifyErrors: RequestHandlerMiddleware[Any, Nothing]

Beautify the error response.

Beautify the error response.

Attributes

Inherited from:
RequestHandlerMiddlewares (hidden)
final def customAuth(verify: Headers => Boolean, responseHeaders: Headers, responseStatus: Status): RequestHandlerMiddleware[Any, Nothing]

Creates an authentication middleware that only allows authenticated requests to be passed on to the app.

Creates an authentication middleware that only allows authenticated requests to be passed on to the app.

Attributes

Inherited from:
Auth (hidden)
final def customAuthZIO[R, E](verify: Headers => ZIO[R, E, Boolean], responseHeaders: Headers, responseStatus: Status): RequestHandlerMiddleware[R, E]

Creates an authentication middleware that only allows authenticated requests to be passed on to the app using an effectful verification function.

Creates an authentication middleware that only allows authenticated requests to be passed on to the app using an effectful verification function.

Attributes

Inherited from:
Auth (hidden)
final def debug: RequestHandlerMiddleware[Any, IOException]

Add log status, method, url and time taken from req to res

Add log status, method, url and time taken from req to res

Attributes

Inherited from:
RequestHandlerMiddlewares (hidden)
final def ifHeaderThenElse[R, E](condition: Headers => Boolean)(ifTrue: RequestHandlerMiddleware[R, E], ifFalse: RequestHandlerMiddleware[R, E]): RequestHandlerMiddleware[R, E]

Logical operator to decide which middleware to select based on the header

Logical operator to decide which middleware to select based on the header

Attributes

Inherited from:
RequestHandlerMiddlewares (hidden)
final def ifMethodThenElse[R, E](condition: Method => Boolean)(ifTrue: RequestHandlerMiddleware[R, E], ifFalse: RequestHandlerMiddleware[R, E]): RequestHandlerMiddleware[R, E]

Logical operator to decide which middleware to select based on the method.

Logical operator to decide which middleware to select based on the method.

Attributes

Inherited from:
RequestHandlerMiddlewares (hidden)
final def ifRequestThenElse[R, E](condition: Request => Boolean)(ifTrue: RequestHandlerMiddleware[R, E], ifFalse: RequestHandlerMiddleware[R, E]): RequestHandlerMiddleware[R, E]

Logical operator to decide which middleware to select based on the predicate.

Logical operator to decide which middleware to select based on the predicate.

Attributes

Inherited from:
RequestHandlerMiddlewares (hidden)

Attributes

Inherited from:
RequestHandlerMiddlewares (hidden)
final def ifRequestThenElseFunctionZIO[R, E](condition: Request => ZIO[R, E, Boolean])(ifTrue: Request => RequestHandlerMiddleware[R, E], ifFalse: Request => RequestHandlerMiddleware[R, E]): RequestHandlerMiddleware[R, E]

Attributes

Inherited from:
RequestHandlerMiddlewares (hidden)
final def ifRequestThenElseZIO[R, E](condition: Request => ZIO[R, E, Boolean])(ifTrue: RequestHandlerMiddleware[R, E], ifFalse: RequestHandlerMiddleware[R, E]): RequestHandlerMiddleware[R, E]

Logical operator to decide which middleware to select based on the predicate.

Logical operator to decide which middleware to select based on the predicate.

Attributes

Inherited from:
RequestHandlerMiddlewares (hidden)
final def intercept(fromRequestAndResponse: (Request, Response) => Response): RequestHandlerMiddleware[Any, Nothing]

Attributes

Inherited from:
RequestHandlerMiddlewares (hidden)
final def interceptPatch[S](fromRequest: Request => S): InterceptPatch[S]

Creates a new middleware using transformation functions

Creates a new middleware using transformation functions

Attributes

Inherited from:
RequestHandlerMiddlewares (hidden)
final def interceptPatchZIO[R, E, S](fromRequest: Request => ZIO[R, E, S]): InterceptPatchZIO[R, E, S]

Creates a new middleware using effectful transformation functions

Creates a new middleware using effectful transformation functions

Attributes

Inherited from:
RequestHandlerMiddlewares (hidden)
def metrics(pathLabelMapper: PartialFunction[Request, String], concurrentRequestsName: String, totalRequestsName: String, requestDurationName: String, requestDurationBoundaries: Boundaries, extraLabels: Set[MetricLabel]): HttpAppMiddleware[Any, Nothing]

Adds metrics to a zio-http server.

Adds metrics to a zio-http server.

Attributes

extraLabels

A set of extra labels all metrics will be tagged with.

pathLabelMapper

A mapping function to map incoming paths to patterns, such as /users/1 to /users/:id.

requestDurationBoundaries

Boundaries for the HTTP request duration metric.

requestDurationName

HTTP request duration metric name.

totalRequestsName

Total HTTP requests metric name.

Note:

When using Prometheus as your metrics backend, make sure to provide a pathLabelMapper in order to avoid high cardinality labels.

Inherited from:
Metrics (hidden)
final def patch(f: Response => Patch): RequestHandlerMiddleware[Any, Nothing]

Creates a middleware that produces a Patch for the Response

Creates a middleware that produces a Patch for the Response

Attributes

Inherited from:
RequestHandlerMiddlewares (hidden)
final def patchZIO[R, E](f: Response => ZIO[R, E, Patch]): RequestHandlerMiddleware[R, E]

Creates a middleware that produces a Patch for the Response effectfully.

Creates a middleware that produces a Patch for the Response effectfully.

Attributes

Inherited from:
RequestHandlerMiddlewares (hidden)
final def redirect(url: URL, isPermanent: Boolean): RequestHandlerMiddleware[Any, Nothing]

Client redirect temporary or permanent to specified url.

Client redirect temporary or permanent to specified url.

Attributes

Inherited from:
RequestHandlerMiddlewares (hidden)
final def redirectTrailingSlash(isPermanent: Boolean)(implicit trace: Trace): RequestHandlerMiddleware[Any, Nothing]

Permanent redirect if the trailing slash is present in the request URL.

Permanent redirect if the trailing slash is present in the request URL.

Attributes

Inherited from:
RequestHandlerMiddlewares (hidden)
final def removeHeader(name: String): A

Attributes

Inherited from:
HeaderModifier
final def removeHeaders(headers: List[String]): A

Attributes

Inherited from:
HeaderModifier
final def replace[R, E](newHandler: RequestHandler[R, E]): RequestHandlerMiddleware[R, E]

Attributes

Inherited from:
RequestHandlerMiddlewares (hidden)
protected def replaceErrorResponse(request: Request, response: Response): Response

Attributes

Inherited from:
HtmlErrorResponses (hidden)
final def requestLogging(level: Status => LogLevel, loggedRequestHeaders: Set[String], loggedResponseHeader: Set[String], logRequestBody: Boolean, logResponseBody: Boolean, requestCharset: Charset, responseCharset: Charset)(implicit trace: Trace): RequestHandlerMiddleware[Any, Throwable]

Attributes

Inherited from:
RequestLogging (hidden)
final def runAfter[R, E](effect: ZIO[R, E, Any])(implicit trace: Trace): RequestHandlerMiddleware[R, E]

Runs the effect after the middleware is applied

Runs the effect after the middleware is applied

Attributes

Inherited from:
RequestHandlerMiddlewares (hidden)
final def runBefore[R, E](effect: ZIO[R, E, Any]): RequestHandlerMiddleware[R, E]

Runs the effect before the request is passed on to the HttpApp on which the middleware is applied.

Runs the effect before the request is passed on to the HttpApp on which the middleware is applied.

Attributes

Inherited from:
RequestHandlerMiddlewares (hidden)
final def setHeaders(headers: Headers): A

Attributes

Inherited from:
HeaderModifier
final def setStatus(status: Status): RequestHandlerMiddleware[Any, Nothing]

Creates a new middleware that always sets the response status to the provided value

Creates a new middleware that always sets the response status to the provided value

Attributes

Inherited from:
RequestHandlerMiddlewares (hidden)
final def signCookies(secret: String): RequestHandlerMiddleware[Any, Nothing]

Creates a middleware for signing cookies

Creates a middleware for signing cookies

Attributes

Inherited from:
RequestHandlerMiddlewares (hidden)
final def timeout(duration: Duration): RequestHandlerMiddleware[Any, Nothing]

Times out the application with a 408 status code.

Times out the application with a 408 status code.

Attributes

Inherited from:
RequestHandlerMiddlewares (hidden)
final override def updateHeaders(update: Headers => Headers): RequestHandlerMiddleware[Any, Nothing]

Updates the provided list of headers to the response

Updates the provided list of headers to the response

Attributes

Definition Classes
RequestHandlerMiddlewares -> HeaderModifier
Inherited from:
RequestHandlerMiddlewares (hidden)

Creates a middleware that updates the response produced

Creates a middleware that updates the response produced

Attributes

Inherited from:
RequestHandlerMiddlewares (hidden)
final def updateResponseZIO[R, E](f: Response => ZIO[R, E, Response]): RequestHandlerMiddleware[R, E]

Attributes

Inherited from:
RequestHandlerMiddlewares (hidden)
final def whenHeader[R, E](condition: Headers => Boolean)(middleware: RequestHandlerMiddleware[R, E]): RequestHandlerMiddleware[R, E]

Applies the middleware only when the condition for the headers are true

Applies the middleware only when the condition for the headers are true

Attributes

Inherited from:
RequestHandlerMiddlewares (hidden)
final def whenRequest[R, E](condition: Request => Boolean)(middleware: RequestHandlerMiddleware[R, E]): RequestHandlerMiddleware[R, E]

Applies the middleware only if the condition function evaluates to true

Applies the middleware only if the condition function evaluates to true

Attributes

Inherited from:
RequestHandlerMiddlewares (hidden)
final def whenRequestZIO[R, E](condition: Request => ZIO[R, E, Boolean])(middleware: RequestHandlerMiddleware[R, E]): RequestHandlerMiddleware[R, E]

Attributes

Inherited from:
RequestHandlerMiddlewares (hidden)
final def whenResponse[R, E](condition: Response => Boolean)(middleware: RequestHandlerMiddleware[R, E]): RequestHandlerMiddleware[R, E]

Applies the middleware only if the condition function evaluates to true

Applies the middleware only if the condition function evaluates to true

Attributes

Inherited from:
RequestHandlerMiddlewares (hidden)
final def whenResponseZIO[R, E](condition: Response => ZIO[R, E, Boolean])(middleware: RequestHandlerMiddleware[R, E]): RequestHandlerMiddleware[R, E]

Applies the middleware only if the condition function effectfully evaluates to true

Applies the middleware only if the condition function effectfully evaluates to true

Attributes

Inherited from:
RequestHandlerMiddlewares (hidden)
final def whenStatus[R, E](condition: Status => Boolean)(middleware: RequestHandlerMiddleware[R, E]): RequestHandlerMiddleware[R, E]

Applies the middleware only if status matches the condition

Applies the middleware only if status matches the condition

Attributes

Inherited from:
RequestHandlerMiddlewares (hidden)
final def withAccept(value: CharSequence): A

Attributes

Inherited from:
HeaderModifier
final def withAcceptEncoding(value: CharSequence): A

Attributes

Inherited from:
HeaderModifier
final def withAcceptLanguage(value: CharSequence): A

Attributes

Inherited from:
HeaderModifier
final def withAcceptPatch(value: CharSequence): A

Attributes

Inherited from:
HeaderModifier
final def withAcceptRanges(value: CharSequence): A

Attributes

Inherited from:
HeaderModifier

Attributes

Inherited from:
HeaderModifier
final def withAccessControlAllowHeaders(value: CharSequence): A

Attributes

Inherited from:
HeaderModifier

Attributes

Inherited from:
HeaderModifier
final def withAccessControlAllowOrigin(value: CharSequence): A

Attributes

Inherited from:
HeaderModifier
final def withAccessControlExposeHeaders(value: CharSequence): A

Attributes

Inherited from:
HeaderModifier
final def withAccessControlMaxAge(value: CharSequence): A

Attributes

Inherited from:
HeaderModifier
final def withAccessControlRequestHeaders(value: CharSequence): A

Attributes

Inherited from:
HeaderModifier

Attributes

Inherited from:
HeaderModifier
final def withAge(value: CharSequence): A

Attributes

Inherited from:
HeaderModifier
final def withAllow(value: CharSequence): A

Attributes

Inherited from:
HeaderModifier
final def withAuthorization(value: CharSequence): A

Attributes

Inherited from:
HeaderModifier
final def withBasicAuthorization(username: String, password: String): A

Attributes

Inherited from:
HeaderModifier
final def withCacheControl(value: CharSequence): A

Attributes

Inherited from:
HeaderModifier
final def withCacheControlMaxAge(value: Duration): A

Attributes

Inherited from:
HeaderModifier
final def withConnection(value: CharSequence): A

Attributes

Inherited from:
HeaderModifier
final def withContentBase(value: CharSequence): A

Attributes

Inherited from:
HeaderModifier
final def withContentDisposition(value: CharSequence): A

Attributes

Inherited from:
HeaderModifier
final def withContentEncoding(value: CharSequence): A

Attributes

Inherited from:
HeaderModifier
final def withContentLanguage(value: CharSequence): A

Attributes

Inherited from:
HeaderModifier
final def withContentLength(value: Long): A

Attributes

Inherited from:
HeaderModifier
final def withContentLocation(value: CharSequence): A

Attributes

Inherited from:
HeaderModifier
final def withContentMd5(value: CharSequence): A

Attributes

Inherited from:
HeaderModifier
final def withContentRange(value: CharSequence): A

Attributes

Inherited from:
HeaderModifier
final def withContentSecurityPolicy(value: CharSequence): A

Attributes

Inherited from:
HeaderModifier
final def withContentTransferEncoding(value: CharSequence): A

Attributes

Inherited from:
HeaderModifier
final def withContentType(value: CharSequence): A

Attributes

Inherited from:
HeaderModifier
final def withCookie(value: CharSequence): A

Attributes

Inherited from:
HeaderModifier
final def withDate(value: CharSequence): A

Attributes

Inherited from:
HeaderModifier
final def withDnt(value: CharSequence): A

Attributes

Inherited from:
HeaderModifier
final def withEtag(value: CharSequence): A

Attributes

Inherited from:
HeaderModifier
final def withExpect(value: CharSequence): A

Attributes

Inherited from:
HeaderModifier
final def withExpires(value: CharSequence): A

Attributes

Inherited from:
HeaderModifier
final def withFrom(value: CharSequence): A

Attributes

Inherited from:
HeaderModifier
final def withHost(value: CharSequence): A

Attributes

Inherited from:
HeaderModifier
final def withIfMatch(value: CharSequence): A

Attributes

Inherited from:
HeaderModifier
final def withIfModifiedSince(value: CharSequence): A

Attributes

Inherited from:
HeaderModifier
final def withIfNoneMatch(value: CharSequence): A

Attributes

Inherited from:
HeaderModifier
final def withIfRange(value: CharSequence): A

Attributes

Inherited from:
HeaderModifier
final def withIfUnmodifiedSince(value: CharSequence): A

Attributes

Inherited from:
HeaderModifier
final def withLastModified(value: CharSequence): A

Attributes

Inherited from:
HeaderModifier
final def withLocation(value: CharSequence): A

Attributes

Inherited from:
HeaderModifier
final def withMaxForwards(value: CharSequence): A

Attributes

Inherited from:
HeaderModifier
def withMediaType(mediaType: MediaType): A

Attributes

Inherited from:
HeaderModifier
final def withOrigin(value: CharSequence): A

Attributes

Inherited from:
HeaderModifier
final def withPragma(value: CharSequence): A

Attributes

Inherited from:
HeaderModifier
final def withProxyAuthenticate(value: CharSequence): A

Attributes

Inherited from:
HeaderModifier
final def withProxyAuthorization(value: CharSequence): A

Attributes

Inherited from:
HeaderModifier
final def withRange(value: CharSequence): A

Attributes

Inherited from:
HeaderModifier
final def withReferer(value: CharSequence): A

Attributes

Inherited from:
HeaderModifier
final def withRetryAfter(value: CharSequence): A

Attributes

Inherited from:
HeaderModifier
final def withSecWebSocketAccept(value: CharSequence): A

Attributes

Inherited from:
HeaderModifier
final def withSecWebSocketExtensions(value: CharSequence): A

Attributes

Inherited from:
HeaderModifier
final def withSecWebSocketKey(value: CharSequence): A

Attributes

Inherited from:
HeaderModifier
final def withSecWebSocketLocation(value: CharSequence): A

Attributes

Inherited from:
HeaderModifier
final def withSecWebSocketOrigin(value: CharSequence): A

Attributes

Inherited from:
HeaderModifier
final def withSecWebSocketProtocol(value: CharSequence): A

Attributes

Inherited from:
HeaderModifier
final def withSecWebSocketVersion(value: CharSequence): A

Attributes

Inherited from:
HeaderModifier
final def withServer(value: CharSequence): A

Attributes

Inherited from:
HeaderModifier
final def withSetCookie(value: Cookie[Response]): A

Attributes

Inherited from:
HeaderModifier
final def withTe(value: CharSequence): A

Attributes

Inherited from:
HeaderModifier
final def withTrailer(value: CharSequence): A

Attributes

Inherited from:
HeaderModifier
final def withTransferEncoding(value: CharSequence): A

Attributes

Inherited from:
HeaderModifier
final def withUpgrade(value: CharSequence): A

Attributes

Inherited from:
HeaderModifier
final def withUpgradeInsecureRequests(value: CharSequence): A

Attributes

Inherited from:
HeaderModifier
final def withUserAgent(value: CharSequence): A

Attributes

Inherited from:
HeaderModifier
final def withVary(value: CharSequence): A

Attributes

Inherited from:
HeaderModifier
final def withVia(value: CharSequence): A

Attributes

Inherited from:
HeaderModifier
final def withWarning(value: CharSequence): A

Attributes

Inherited from:
HeaderModifier
final def withWebSocketLocation(value: CharSequence): A

Attributes

Inherited from:
HeaderModifier
final def withWebSocketOrigin(value: CharSequence): A

Attributes

Inherited from:
HeaderModifier
final def withWebSocketProtocol(value: CharSequence): A

Attributes

Inherited from:
HeaderModifier
final def withWwwAuthenticate(value: CharSequence): A

Attributes

Inherited from:
HeaderModifier
final def withXFrameOptions(value: CharSequence): A

Attributes

Inherited from:
HeaderModifier
final def withXRequestedWith(value: CharSequence): A

Attributes

Inherited from:
HeaderModifier