object Middleware extends HandlerAspects

Annotations
@nowarn()
Linear Supertypes
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. Middleware
  2. HandlerAspects
  3. HeaderModifier
  4. AnyRef
  5. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. All

Type Members

  1. final case class CorsConfig(allowedOrigin: (Origin) ⇒ Option[AccessControlAllowOrigin] = ..., allowedMethods: AccessControlAllowMethods = ..., allowedHeaders: AccessControlAllowHeaders = ..., allowCredentials: AccessControlAllowCredentials = ..., exposedHeaders: AccessControlExposeHeaders = ..., maxAge: Option[AccessControlMaxAge] = None) extends Product with Serializable

    Configuration for the CORS aspect.

Value Members

  1. final def !=(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  2. final def ##(): Int
    Definition Classes
    AnyRef → Any
  3. final def ==(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  4. def addCookie(cookie: Cookie.Response): HandlerAspect[Any, Unit]

    Sets a cookie in the response headers

    Sets a cookie in the response headers

    Definition Classes
    HandlerAspects
  5. def addCookieZIO[Env](cookie: ZIO[Env, Nothing, Cookie.Response])(implicit trace: Trace): HandlerAspect[Env, Unit]

    Sets an effectfully created cookie in the response headers.

    Sets an effectfully created cookie in the response headers.

    Definition Classes
    HandlerAspects
  6. final def addHeader(name: CharSequence, value: CharSequence): HandlerAspect[Any, Unit]
    Definition Classes
    HeaderModifier
  7. final def addHeader(header: Header): HandlerAspect[Any, Unit]
    Definition Classes
    HeaderModifier
  8. final def addHeaders(headers: Headers): HandlerAspect[Any, Unit]
    Definition Classes
    HeaderModifier
  9. def allow: Allow

    Creates a middleware which can allow or disallow access to an http based on the predicate

    Creates a middleware which can allow or disallow access to an http based on the predicate

    Definition Classes
    HandlerAspects
  10. def allowZIO: AllowZIO

    Creates a middleware which can allow or disallow access to an http based on the effectful predicate.

    Creates a middleware which can allow or disallow access to an http based on the effectful predicate.

    Definition Classes
    HandlerAspects
  11. final def asInstanceOf[T0]: T0
    Definition Classes
    Any
  12. def basicAuth(u: String, p: String): HandlerAspect[Any, Unit]

    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

    Definition Classes
    HandlerAspects
  13. def basicAuth(f: (Credentials) ⇒ Boolean): HandlerAspect[Any, Unit]

    Creates a middleware for basic authentication

    Creates a middleware for basic authentication

    Definition Classes
    HandlerAspects
  14. def basicAuthZIO[Env](f: (Credentials) ⇒ ZIO[Env, Response, Boolean])(implicit trace: Trace): HandlerAspect[Env, Unit]

    Creates a middleware for basic authentication using an effectful verification function

    Creates a middleware for basic authentication using an effectful verification function

    Definition Classes
    HandlerAspects
  15. def bearerAuth(f: (String) ⇒ Boolean): HandlerAspect[Any, Unit]

    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

    Definition Classes
    HandlerAspects
  16. def bearerAuthZIO[Env](f: (String) ⇒ ZIO[Env, Response, Boolean])(implicit trace: Trace): HandlerAspect[Env, Unit]

    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

    Definition Classes
    HandlerAspects
  17. def beautifyErrors: HandlerAspect[Any, Unit]

    Beautify the error response.

    Beautify the error response.

    Definition Classes
    HandlerAspects
  18. def clone(): AnyRef
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( ... ) @native() @IntrinsicCandidate()
  19. def cors(config: CorsConfig): Middleware[Any]

    Creates a aspect for Cross-Origin Resource Sharing (CORS).

    Creates a aspect for Cross-Origin Resource Sharing (CORS).

    See also

    https://developer.mozilla.org/en-US/docs/Web/HTTP/CORS

  20. def cors: Middleware[Any]

    Creates a aspect for Cross-Origin Resource Sharing (CORS) using default options.

    Creates a aspect for Cross-Origin Resource Sharing (CORS) using default options.

    See also

    https://developer.mozilla.org/en-US/docs/Web/HTTP/CORS

  21. def customAuth(verify: (Request) ⇒ Boolean, responseHeaders: Headers = Headers.empty, responseStatus: Status = Status.Unauthorized): HandlerAspect[Any, Unit]

    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.

    Definition Classes
    HandlerAspects
  22. final def customAuthProviding[Context](provide: (Request) ⇒ Option[Context], responseHeaders: Headers = Headers.empty, responseStatus: Status = Status.Unauthorized): HandlerAspect[Any, Context]

    Creates an authentication middleware that only allows authenticated requests to be passed on to the app, and provides a context to the request handlers.

    Creates an authentication middleware that only allows authenticated requests to be passed on to the app, and provides a context to the request handlers.

    Definition Classes
    HandlerAspects
  23. def customAuthProvidingZIO[Env, Context](provide: (Request) ⇒ ZIO[Env, Response, Option[Context]], responseHeaders: Headers = Headers.empty, responseStatus: Status = Status.Unauthorized): HandlerAspect[Env, Context]

    Creates an authentication middleware that only allows authenticated requests to be passed on to the app, and provides a context to the request handlers.

    Creates an authentication middleware that only allows authenticated requests to be passed on to the app, and provides a context to the request handlers.

    Definition Classes
    HandlerAspects
  24. def customAuthZIO[Env](verify: (Request) ⇒ ZIO[Env, Response, Boolean], responseHeaders: Headers = Headers.empty, responseStatus: Status = Status.Unauthorized): HandlerAspect[Env, Unit]

    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.

    Definition Classes
    HandlerAspects
  25. def debug: HandlerAspect[Any, Unit]

    Creates middleware that debugs request and response.

    Creates middleware that debugs request and response.

    Definition Classes
    HandlerAspects
  26. def dropTrailingSlash(onlyIfNoQueryParams: Boolean): HandlerAspect[Any, Unit]

    Creates middleware that drops trailing slashes from the request URL.

    Creates middleware that drops trailing slashes from the request URL.

    Definition Classes
    HandlerAspects
  27. def dropTrailingSlash: HandlerAspect[Any, Unit]

    Creates middleware that drops trailing slashes from the request URL.

    Creates middleware that drops trailing slashes from the request URL.

    Definition Classes
    HandlerAspects
  28. final def eq(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  29. def equals(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  30. def fail(response: Response): HandlerAspect[Any, Unit]

    Creates middleware that aborts the request with the specified response.

    Creates middleware that aborts the request with the specified response. No downstream middleware will be invoked.

    Definition Classes
    HandlerAspects
  31. def failWith(f: (Request) ⇒ Response): HandlerAspect[Any, Unit]

    Creates middleware that aborts the request with the specified response.

    Creates middleware that aborts the request with the specified response. No downstream middleware will be invoked.

    Definition Classes
    HandlerAspects
  32. def flashScopeHandling: HandlerAspect[Any, Unit]

    Creates a middleware for managing the flash scope.

  33. final def getClass(): Class[_]
    Definition Classes
    AnyRef → Any
    Annotations
    @native() @IntrinsicCandidate()
  34. def hashCode(): Int
    Definition Classes
    AnyRef → Any
    Annotations
    @native() @IntrinsicCandidate()
  35. val identity: HandlerAspect[Any, Unit]

    The identity middleware, which has no effect on request or response.

    The identity middleware, which has no effect on request or response.

    Definition Classes
    HandlerAspects
  36. def ifHeaderThenElse[Env, Ctx](condition: (Headers) ⇒ Boolean)(ifTrue: HandlerAspect[Env, Ctx], ifFalse: HandlerAspect[Env, Ctx]): HandlerAspect[Env, Ctx]

    Creates conditional middleware that switches between one middleware and another based on the result of the predicate, applied to the incoming request's headers.

    Creates conditional middleware that switches between one middleware and another based on the result of the predicate, applied to the incoming request's headers.

    Definition Classes
    HandlerAspects
  37. def ifMethodThenElse[Env, Ctx](condition: (Method) ⇒ Boolean)(ifTrue: HandlerAspect[Env, Ctx], ifFalse: HandlerAspect[Env, Ctx]): HandlerAspect[Env, Ctx]

    Creates conditional middleware that switches between one middleware and another based on the result of the predicate, applied to the incoming request's method.

    Creates conditional middleware that switches between one middleware and another based on the result of the predicate, applied to the incoming request's method.

    Definition Classes
    HandlerAspects
  38. def ifRequestThenElse[Env, CtxOut](predicate: (Request) ⇒ Boolean)(ifTrue: HandlerAspect[Env, CtxOut], ifFalse: HandlerAspect[Env, CtxOut]): HandlerAspect[Env, CtxOut]

    Creates conditional middleware that switches between one middleware and another based on the result of the predicate, applied to the incoming request.

    Creates conditional middleware that switches between one middleware and another based on the result of the predicate, applied to the incoming request.

    Definition Classes
    HandlerAspects
  39. def ifRequestThenElseZIO[Env, CtxOut](predicate: (Request) ⇒ ZIO[Env, Response, Boolean])(ifTrue: HandlerAspect[Env, CtxOut], ifFalse: HandlerAspect[Env, CtxOut]): HandlerAspect[Env, CtxOut]

    Creates conditional middleware that switches between one middleware and another based on the result of the predicate, effectfully applied to the incoming request.

    Creates conditional middleware that switches between one middleware and another based on the result of the predicate, effectfully applied to the incoming request.

    Definition Classes
    HandlerAspects
  40. def intercept(fromRequestAndResponse: (Request, Response) ⇒ Response): HandlerAspect[Any, Unit]

    Creates middleware that modifies the response, potentially using the request.

    Creates middleware that modifies the response, potentially using the request.

    Definition Classes
    HandlerAspects
  41. def interceptHandler[Env, CtxOut](incoming0: Handler[Env, Response, Request, (Request, CtxOut)])(outgoing0: Handler[Env, Nothing, Response, Response]): HandlerAspect[Env, CtxOut]

    Creates middleware that will apply the specified stateless handlers to incoming and outgoing requests.

    Creates middleware that will apply the specified stateless handlers to incoming and outgoing requests. If the incoming handler fails, then the outgoing handler will not be invoked.

    Definition Classes
    HandlerAspects
  42. def interceptHandlerStateful[Env, State0, CtxOut](incoming0: Handler[Env, Response, Request, (State0, (Request, CtxOut))])(outgoing0: Handler[Env, Nothing, (State0, Response), Response]): HandlerAspect[Env, CtxOut]

    Creates middleware that will apply the specified stateful handlers to incoming and outgoing requests.

    Creates middleware that will apply the specified stateful handlers to incoming and outgoing requests. If the incoming handler fails, then the outgoing handler will not be invoked.

    Definition Classes
    HandlerAspects
  43. def interceptIncomingHandler[Env, CtxOut](handler: Handler[Env, Response, Request, (Request, CtxOut)]): HandlerAspect[Env, CtxOut]

    Creates middleware that will apply the specified handler to incoming requests.

    Creates middleware that will apply the specified handler to incoming requests.

    Definition Classes
    HandlerAspects
  44. def interceptOutgoingHandler[Env](handler: Handler[Env, Nothing, Response, Response]): HandlerAspect[Env, Unit]

    Creates middleware that will apply the specified handler to outgoing responses.

    Creates middleware that will apply the specified handler to outgoing responses.

    Definition Classes
    HandlerAspects
  45. def interceptPatch[S](fromRequest: (Request) ⇒ S): InterceptPatch[S]

    Creates a new middleware using transformation functions

    Creates a new middleware using transformation functions

    Definition Classes
    HandlerAspects
  46. def interceptPatchZIO[Env, S](fromRequest: (Request) ⇒ ZIO[Env, Response, S]): InterceptPatchZIO[Env, S]

    Creates a new middleware using effectful transformation functions

    Creates a new middleware using effectful transformation functions

    Definition Classes
    HandlerAspects
  47. final def isInstanceOf[T0]: Boolean
    Definition Classes
    Any
  48. def logAnnotate(fromRequest: (Request) ⇒ Set[LogAnnotation])(implicit trace: Trace): Middleware[Any]

    Creates a middleware that will annotate log messages that are logged while a request is handled with log annotations derived from the request.

  49. def logAnnotate(logAnnotations: ⇒ Set[LogAnnotation])(implicit trace: Trace): Middleware[Any]
  50. def logAnnotate(logAnnotation: ⇒ LogAnnotation, logAnnotations: LogAnnotation*)(implicit trace: Trace): Middleware[Any]
  51. def logAnnotate(key: ⇒ String, value: ⇒ String)(implicit trace: Trace): Middleware[Any]
  52. def logAnnotateHeaders(header: HeaderType, headers: HeaderType*)(implicit trace: Trace): Middleware[Any]

    Creates middleware that will annotate log messages that are logged while a request is handled with the names and the values of the specified headers.

  53. def logAnnotateHeaders(headerName: String, headerNames: String*)(implicit trace: Trace): Middleware[Any]

    Creates a middleware that will annotate log messages that are logged while a request is handled with the names and the values of the specified headers.

  54. def metrics(concurrentRequestsName: String = "http_concurrent_requests_total", totalRequestsName: String = "http_requests_total", requestDurationName: String = "http_request_duration_seconds", requestDurationBoundaries: Boundaries = defaultBoundaries, extraLabels: Set[MetricLabel] = Set.empty)(implicit trace: Trace): Middleware[Any]

    Creates middleware that will track metrics.

    Creates middleware that will track metrics.

    totalRequestsName

    Total HTTP requests metric name.

    requestDurationName

    HTTP request duration metric name.

    requestDurationBoundaries

    Boundaries for the HTTP request duration metric.

    extraLabels

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

  55. final def ne(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  56. final def notify(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native() @IntrinsicCandidate()
  57. final def notifyAll(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native() @IntrinsicCandidate()
  58. def patch(f: (Response) ⇒ Patch): HandlerAspect[Any, Unit]

    Creates a middleware that produces a Patch for the Response

    Creates a middleware that produces a Patch for the Response

    Definition Classes
    HandlerAspects
  59. def patchZIO[Env](f: (Response) ⇒ ZIO[Env, Response, Patch]): HandlerAspect[Env, Unit]

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

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

    Definition Classes
    HandlerAspects
  60. def redirect(url: URL, isPermanent: Boolean = false): HandlerAspect[Any, Unit]

    Creates a middleware that will redirect requests to the specified URL.

    Creates a middleware that will redirect requests to the specified URL.

    Definition Classes
    HandlerAspects
  61. def redirectTrailingSlash(isPermanent: Boolean = false): HandlerAspect[Any, Unit]

    Creates middleware that will redirect requests with trailing slash to the same path without trailing slash.

    Creates middleware that will redirect requests with trailing slash to the same path without trailing slash.

    Definition Classes
    HandlerAspects
  62. final def removeHeader(name: String): HandlerAspect[Any, Unit]
    Definition Classes
    HeaderModifier
  63. final def removeHeader(headerType: HeaderType): HandlerAspect[Any, Unit]
    Definition Classes
    HeaderModifier
  64. final def removeHeaders(headers: Set[String]): HandlerAspect[Any, Unit]
    Definition Classes
    HeaderModifier
  65. def requestLogging(level: (Status) ⇒ LogLevel = (_: Status) => LogLevel.Info, loggedRequestHeaders: Set[HeaderType] = Set.empty, loggedResponseHeaders: Set[HeaderType] = Set.empty, logRequestBody: Boolean = false, logResponseBody: Boolean = false, requestCharset: Charset = StandardCharsets.UTF_8, responseCharset: Charset = StandardCharsets.UTF_8)(implicit trace: Trace): HandlerAspect[Any, Unit]

    Creates middleware that will perform request logging.

    Creates middleware that will perform request logging.

    Definition Classes
    HandlerAspects
  66. def runAfter[Env](effect: ZIO[Env, Nothing, Any])(implicit trace: Trace): HandlerAspect[Env, Unit]

    Creates middleware that will run the specified effect after every request.

    Creates middleware that will run the specified effect after every request.

    Definition Classes
    HandlerAspects
  67. def runBefore[Env](effect: ZIO[Env, Nothing, Any])(implicit trace: Trace): HandlerAspect[Env, Unit]

    Creates middleware that will run the specified effect before every request.

    Creates middleware that will run the specified effect before every request.

    Definition Classes
    HandlerAspects
  68. def serveDirectory(path: Path, docRoot: File)(implicit trace: Trace): Middleware[Any]

    Creates a middleware for serving static files from the directory docRoot at the url path path.

    Creates a middleware for serving static files from the directory docRoot at the url path path.

    Example: val serveDirectory = Middleware.serveDirectory(Path.empty / "assets", new File("/some/local/path"))

    With this middleware in place, a request to https://www.domain.com/assets/folder/file1.jpg would serve the local file /some/local/path/folder/file1.jpg.

  69. def serveResources(path: Path)(implicit trace: Trace): Middleware[Any]

    Creates a middleware for serving static files from resources at the path path.

    Creates a middleware for serving static files from resources at the path path.

    Example: val serveResources = Middleware.serveResources(Path.empty / "assets")

    With this middleware in place, a request to https://www.domain.com/assets/folder/file1.jpg would serve the file src/main/resources/folder/file1.jpg.

  70. final def setHeaders(headers: Headers): HandlerAspect[Any, Unit]
    Definition Classes
    HeaderModifier
  71. def signCookies(secret: String): HandlerAspect[Any, Unit]

    Creates a middleware for signing cookies

    Creates a middleware for signing cookies

    Definition Classes
    HandlerAspects
  72. def status(status: Status): HandlerAspect[Any, Unit]

    Creates middleware that will update the status of the response.

    Creates middleware that will update the status of the response.

    Definition Classes
    HandlerAspects
  73. final def synchronized[T0](arg0: ⇒ T0): T0
    Definition Classes
    AnyRef
  74. def timeout(duration: zio.Duration)(implicit trace: Trace): Middleware[Any]
  75. def toString(): String
    Definition Classes
    AnyRef → Any
  76. def updateHeaders(update: (Headers) ⇒ Headers)(implicit trace: Trace): HandlerAspect[Any, Unit]

    Creates middleware that will update the headers of the response.

    Creates middleware that will update the headers of the response.

    Definition Classes
    HandlerAspects → HeaderModifier
  77. def updateMethod(update: (Method) ⇒ Method): HandlerAspect[Any, Unit]

    Creates middleware that will update the method of the request.

    Creates middleware that will update the method of the request.

    Definition Classes
    HandlerAspects
  78. def updatePath(update: (Path) ⇒ Path): HandlerAspect[Any, Unit]

    Creates middleware that will update the path of the request.

    Creates middleware that will update the path of the request.

    Definition Classes
    HandlerAspects
  79. def updateRequest(update: (Request) ⇒ Request): HandlerAspect[Any, Unit]

    Creates middleware that will update the request.

    Creates middleware that will update the request.

    Definition Classes
    HandlerAspects
  80. def updateRequestZIO[Env](update: (Request) ⇒ ZIO[Env, Response, Request]): HandlerAspect[Env, Unit]

    Creates middleware that will update the request effectfully.

    Creates middleware that will update the request effectfully.

    Definition Classes
    HandlerAspects
  81. def updateResponse(update: (Response) ⇒ Response): HandlerAspect[Any, Unit]

    Creates middleware that will update the response.

    Creates middleware that will update the response.

    Definition Classes
    HandlerAspects
  82. def updateResponseZIO[Env](update: (Response) ⇒ ZIO[Env, Nothing, Response]): HandlerAspect[Env, Unit]

    Creates middleware that will update the response effectfully.

    Creates middleware that will update the response effectfully.

    Definition Classes
    HandlerAspects
  83. def updateURL(update: (URL) ⇒ URL): HandlerAspect[Any, Unit]

    Creates middleware that will update the URL of the request.

    Creates middleware that will update the URL of the request.

    Definition Classes
    HandlerAspects
  84. final def wait(arg0: Long, arg1: Int): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  85. final def wait(arg0: Long): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... ) @native()
  86. final def wait(): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  87. def when[Env](condition: (Request) ⇒ Boolean)(middleware: HandlerAspect[Env, Unit]): HandlerAspect[Env, Unit]

    Applies the middleware only if the condition function evaluates to true

    Applies the middleware only if the condition function evaluates to true

    Definition Classes
    HandlerAspects
  88. def whenHeader[Env](condition: (Headers) ⇒ Boolean)(middleware: HandlerAspect[Env, Unit]): HandlerAspect[Env, Unit]

    Applies the middleware only when the header-based condition evaluates to true.

    Applies the middleware only when the header-based condition evaluates to true.

    Definition Classes
    HandlerAspects
  89. def whenResponse(condition: (Response) ⇒ Boolean)(f: (Response) ⇒ Response): HandlerAspect[Any, Unit]

    Applies the middleware only if the condition function evaluates to true

    Applies the middleware only if the condition function evaluates to true

    Definition Classes
    HandlerAspects
  90. def whenResponseZIO[Env](condition: (Response) ⇒ ZIO[Env, Response, Boolean])(f: (Response) ⇒ ZIO[Env, Response, Response]): HandlerAspect[Env, Unit]

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

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

    Definition Classes
    HandlerAspects
  91. def whenZIO[Env](condition: (Request) ⇒ ZIO[Env, Response, Boolean])(middleware: HandlerAspect[Env, Unit]): HandlerAspect[Env, Unit]

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

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

    Definition Classes
    HandlerAspects

Deprecated Value Members

  1. def finalize(): Unit
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( classOf[java.lang.Throwable] ) @Deprecated
    Deprecated

Inherited from HandlerAspects

Inherited from HeaderModifier[HandlerAspect[Any, Unit]]

Inherited from AnyRef

Inherited from Any

Ungrouped