trait RequestContext extends AnyRef
This class is not meant to be extended by user code.
Immutable object encapsulating the context of an pekko.http.scaladsl.model.HttpRequest as it flows through a pekko-http Route structure.
- Annotations
- @DoNotInherit()
- Source
- RequestContext.scala
- Alphabetic
- By Inheritance
- RequestContext
- AnyRef
- Any
- by any2stringadd
- by StringFormat
- by Ensuring
- by ArrowAssoc
- Hide All
- Show All
- Public
- Protected
Abstract Value Members
- abstract def complete(obj: ToResponseMarshallable): Future[RouteResult]
Completes the request with the given ToResponseMarshallable.
- implicit abstract def executionContext: ExecutionContextExecutor
The default ExecutionContext to be used for scheduling asynchronous logic related to this request.
- abstract def fail(error: Throwable): Future[RouteResult]
Bubbles the given error up the response chain where it is dealt with by the closest
handleExceptions
directive and itsExceptionHandler
, unless the error is aRejectionError
.Bubbles the given error up the response chain where it is dealt with by the closest
handleExceptions
directive and itsExceptionHandler
, unless the error is aRejectionError
. In this case the wrapped rejection is unpacked and "executed". - abstract def log: LoggingAdapter
The default LoggingAdapter to be used for logging messages related to this request.
- abstract def mapRequest(f: (HttpRequest) => HttpRequest): RequestContext
Returns a copy of this context with the HttpRequest transformed by the given function.
- abstract def mapUnmatchedPath(f: (Path) => Path): RequestContext
Returns a copy of this context with the unmatchedPath transformed by the given function.
- implicit abstract def materializer: Materializer
The default Materializer.
- abstract def parserSettings: ParserSettings
The default ParserSettings to be used for configuring directives.
- abstract def reconfigure(executionContext: ExecutionContextExecutor = executionContext, materializer: Materializer = materializer, log: LoggingAdapter = log, settings: RoutingSettings = settings): RequestContext
Returns a copy of this context with the given fields updated.
- abstract def redirect(uri: Uri, redirectionType: Redirection): Future[RouteResult]
Completes the request with redirection response of the given type to the given URI.
- abstract def reject(rejections: Rejection*): Future[RouteResult]
Rejects the request with the given rejections.
- abstract val request: HttpRequest
The request this context represents.
The request this context represents. Modelled as a
val
so as to enable animport ctx.request._
. - abstract def settings: RoutingSettings
The default RoutingSettings to be used for configuring directives.
- abstract val unmatchedPath: Path
The unmatched path of this context.
The unmatched path of this context. Modelled as a
val
so as to enable animport ctx.unmatchedPath._
. - abstract def withAcceptAll: RequestContext
Removes a potentially existing Accept header from the request headers.
- abstract def withExecutionContext(ec: ExecutionContextExecutor): RequestContext
Returns a copy of this context with the new HttpRequest.
- abstract def withLog(log: LoggingAdapter): RequestContext
Returns a copy of this context with the new LoggingAdapter.
- abstract def withMaterializer(materializer: Materializer): RequestContext
Returns a copy of this context with the new HttpRequest.
- abstract def withParserSettings(settings: ParserSettings): RequestContext
Returns a copy of this context with the new pekko.http.scaladsl.settings.ParserSettings.
- abstract def withRequest(req: HttpRequest): RequestContext
Returns a copy of this context with the new HttpRequest.
- abstract def withRoutingSettings(settings: RoutingSettings): RequestContext
Returns a copy of this context with the new RoutingSettings.
- abstract def withUnmatchedPath(path: Path): RequestContext
Returns a copy of this context with the unmatched path updated to the given one.