final class HttpRequest extends javadsl.model.HttpRequest with HttpMessage

The immutable model HTTP request model.

Source
HttpMessage.scala
Type Hierarchy
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. HttpRequest
  2. HttpMessage
  3. HttpRequest
  4. MessageTransformations
  5. HttpMessage
  6. AnyRef
  7. Any
Implicitly
  1. by HttpMessageScalaDSLSugar
  2. by any2stringadd
  3. by StringFormat
  4. by Ensuring
  5. by ArrowAssoc
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. Protected

Instance Constructors

  1. new HttpRequest(method: HttpMethod, uri: Uri, headers: Seq[HttpHeader], attributes: Map[AttributeKey[_], _], entity: RequestEntity, protocol: HttpProtocol)

Type Members

  1. type Self = HttpRequest
    Definition Classes
    HttpRequestHttpMessage

Value Members

  1. final def !=(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  2. final def ##: Int
    Definition Classes
    AnyRef → Any
  3. def +(other: String): String
    Implicit
    This member is added by an implicit conversion from HttpRequest toany2stringadd[HttpRequest] performed by method any2stringadd in scala.Predef.
    Definition Classes
    any2stringadd
  4. def ->[B](y: B): (HttpRequest, B)
    Implicit
    This member is added by an implicit conversion from HttpRequest toArrowAssoc[HttpRequest] performed by method ArrowAssoc in scala.Predef.
    Definition Classes
    ArrowAssoc
    Annotations
    @inline()
  5. final def ==(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  6. def _1: HttpMethod
  7. def _2: Uri
  8. def _3: Seq[HttpHeader]
  9. def _4: RequestEntity
  10. def _5: HttpProtocol
  11. def addAttribute[T](key: javadsl.model.AttributeKey[T], value: T): Self
    Definition Classes
    HttpMessage
  12. def addCredentials(credentials: HttpCredentials): Self
    Definition Classes
    HttpMessage
  13. def addHeader(header: javadsl.model.HttpHeader): Self

    Return a new instance with the given header added to the headers sequence.

    Return a new instance with the given header added to the headers sequence. It's undefined where the header is added to the sequence

    Definition Classes
    HttpMessage
  14. def addHeaders(headers: Iterable[javadsl.model.HttpHeader]): Self

    Java API

    Java API

    Definition Classes
    HttpMessage
  15. final def asInstanceOf[T0]: T0
    Definition Classes
    Any
  16. def attribute[T](key: javadsl.model.AttributeKey[T])(implicit ev: JavaMapping[javadsl.model.AttributeKey[T], AttributeKey[T]]): Option[T]
    Definition Classes
    HttpMessage
  17. val attributes: Map[AttributeKey[_], _]
    Definition Classes
    HttpRequestHttpMessage
  18. def canBeRetried: Boolean

    Determines whether this request can be safely retried, which is the case only of the request method is idempotent.

  19. def clone(): AnyRef
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.CloneNotSupportedException]) @native()
  20. def connectionCloseExpected: Boolean

    Returns true if this message is an:

    Returns true if this message is an:

    • HttpRequest and the client does not want to reuse the connection after the response for this request has been received
    • HttpResponse and the server will close the connection after this response
    Definition Classes
    HttpMessage
  21. def cookies: Seq[HttpCookiePair]

    All cookies provided by the client in one or more Cookie headers.

  22. def discardEntityBytes(system: ClassicActorSystemProvider): DiscardedEntity

    Java API

    Java API

    Definition Classes
    HttpMessageHttpMessage
  23. def discardEntityBytes(mat: Materializer): DiscardedEntity

    Discards the entities data bytes by running the dataBytes Source contained in this HttpMessage.

    Discards the entities data bytes by running the dataBytes Source contained in this HttpMessage.

    Note: It is crucial that entities are either discarded, or consumed by running the underlying pekko.stream.scaladsl.Source as otherwise the lack of consuming of the data will trigger back-pressure to the underlying TCP connection (as designed), however possibly leading to an idle-timeout that will close the connection, instead of just having ignored the data.

    Warning: It is not allowed to discard and/or consume the entity.dataBytes more than once as the stream is directly attached to the "live" incoming data source from the underlying TCP connection. Allowing it to be consumable twice would require buffering the incoming data, thus defeating the purpose of its streaming nature. If the dataBytes source is materialized a second time, it will fail with an "stream can cannot be materialized more than once" exception.

    When called on Strict entities or sources whose values can be buffered in memory, the above warnings can be ignored. Repeated materialization is not necessary in this case, avoiding the mentioned exceptions due to the data being held in memory.

    In future versions, more automatic ways to warn or resolve these situations may be introduced, see issue #18716.

    Definition Classes
    HttpMessageHttpMessage
  24. def effectiveUri(securedConnection: Boolean, defaultHostHeader: Host = Host.empty): Uri

    Resolve this request's URI according to the logic defined at http://tools.ietf.org/html/rfc7230#section-5.5

    Resolve this request's URI according to the logic defined at http://tools.ietf.org/html/rfc7230#section-5.5

    Throws an IllegalUriException if the URI is relative and the headers don't include a valid pekko.http.scaladsl.model.headers.Host header or if URI authority and pekko.http.scaladsl.model.headers.Host header don't match.

  25. def encoding: HttpEncoding

    The content encoding as specified by the Content-Encoding header.

    The content encoding as specified by the Content-Encoding header. If no Content-Encoding header is present the default value 'identity' is returned.

    Definition Classes
    HttpMessage
  26. def ensuring(cond: (HttpRequest) => Boolean, msg: => Any): HttpRequest
    Implicit
    This member is added by an implicit conversion from HttpRequest toEnsuring[HttpRequest] performed by method Ensuring in scala.Predef.
    Definition Classes
    Ensuring
  27. def ensuring(cond: (HttpRequest) => Boolean): HttpRequest
    Implicit
    This member is added by an implicit conversion from HttpRequest toEnsuring[HttpRequest] performed by method Ensuring in scala.Predef.
    Definition Classes
    Ensuring
  28. def ensuring(cond: Boolean, msg: => Any): HttpRequest
    Implicit
    This member is added by an implicit conversion from HttpRequest toEnsuring[HttpRequest] performed by method Ensuring in scala.Predef.
    Definition Classes
    Ensuring
  29. def ensuring(cond: Boolean): HttpRequest
    Implicit
    This member is added by an implicit conversion from HttpRequest toEnsuring[HttpRequest] performed by method Ensuring in scala.Predef.
    Definition Classes
    Ensuring
  30. val entity: RequestEntity

    The entity of this message.

    The entity of this message.

    Definition Classes
    HttpRequestHttpMessageHttpRequestHttpMessage
  31. final def eq(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  32. def equals(obj: Any): Boolean
    Definition Classes
    HttpRequest → AnyRef → Any
  33. def finalize(): Unit
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.Throwable])
  34. def getAttribute[T](attributeKey: javadsl.model.AttributeKey[T]): Optional[T]

    Java API

    Java API

    Definition Classes
    HttpMessageHttpMessage
  35. final def getClass(): Class[_ <: AnyRef]
    Definition Classes
    AnyRef → Any
    Annotations
    @native()
  36. def getHeader(headerName: String): Optional[javadsl.model.HttpHeader]

    Java API

    Java API

    Definition Classes
    HttpMessageHttpMessage
  37. def getHeader[T <: javadsl.model.HttpHeader](headerClass: Class[T]): Optional[T]

    Java API

    Java API

    Definition Classes
    HttpMessageHttpMessage
  38. def getHeaders[T <: javadsl.model.HttpHeader](headerClass: Class[T]): Iterable[T]

    Java API

    Java API

    Definition Classes
    HttpMessageHttpMessage
  39. def getHeaders(): Iterable[javadsl.model.HttpHeader]

    Java API

    Java API

    Definition Classes
    HttpMessageHttpMessage
  40. def getUri(): javadsl.model.Uri

    Java API

    Java API

    Definition Classes
    HttpRequestHttpRequest
  41. def hashCode(): Int
    Definition Classes
    HttpRequest → AnyRef → Any
  42. def header[T >: Null <: javadsl.model.HttpHeader](implicit arg0: ClassTag[T]): Option[T]

    Returns the first header of the given type if there is one

    Returns the first header of the given type if there is one

    Definition Classes
    HttpMessage
  43. def headers[T <: javadsl.model.HttpHeader](implicit arg0: ClassTag[T]): Seq[T]

    Returns all the headers of the given type *

    Returns all the headers of the given type *

    Definition Classes
    HttpMessage
  44. val headers: Seq[HttpHeader]
    Definition Classes
    HttpRequestHttpMessage
  45. val httpMessage: HttpMessage
    Implicit
    This member is added by an implicit conversion from HttpRequest toHttpMessageScalaDSLSugar performed by method HttpMessageScalaDSLSugar in org.apache.pekko.http.scaladsl.model.HttpMessage.
    Definition Classes
    HttpMessageScalaDSLSugar
  46. final def isInstanceOf[T0]: Boolean
    Definition Classes
    Any
  47. def isRequest(): Boolean

    Is this instance a request.

    Is this instance a request.

    Definition Classes
    HttpRequestHttpMessageHttpMessage
  48. def isResponse(): Boolean

    Is this instance a response.

    Is this instance a response.

    Definition Classes
    HttpRequestHttpMessageHttpMessage
  49. def mapAttributes(f: (Map[AttributeKey[_], _]) => Map[AttributeKey[_], _]): Self

    Returns a copy of this message with the attributes transformed by the given function

    Returns a copy of this message with the attributes transformed by the given function

    Definition Classes
    HttpMessage
  50. def mapEntity(f: (RequestEntity) => RequestEntity): HttpRequest
  51. def mapHeaders(f: (Seq[HttpHeader]) => Seq[HttpHeader]): Self

    Returns a copy of this message with the list of headers transformed by the given function

    Returns a copy of this message with the list of headers transformed by the given function

    Definition Classes
    HttpMessage
  52. val method: HttpMethod

    Returns the Http method of this request.

    Returns the Http method of this request.

    Definition Classes
    HttpRequestHttpRequest
  53. final def ne(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  54. final def notify(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native()
  55. final def notifyAll(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native()
  56. val protocol: HttpProtocol

    The protocol of this message.

    The protocol of this message.

    Definition Classes
    HttpRequestHttpMessageHttpMessage
  57. def removeAttribute(key: javadsl.model.AttributeKey[_]): Self
    Definition Classes
    HttpMessage
  58. def removeHeader(headerName: String): Self

    Removes the header with the given name (case-insensitive)

    Removes the header with the given name (case-insensitive)

    Definition Classes
    HttpMessage
  59. def self: Self
    Definition Classes
    HttpRequestHttpMessage
  60. final def synchronized[T0](arg0: => T0): T0
    Definition Classes
    AnyRef
  61. def toStrict(timeoutMillis: Long, maxBytes: Long, system: ClassicActorSystemProvider): CompletionStage[Self]

    Java API

    Java API

    Definition Classes
    HttpMessage
  62. def toStrict(timeoutMillis: Long, system: ClassicActorSystemProvider): CompletionStage[Self]

    Java API

    Java API

    Definition Classes
    HttpMessage
  63. def toStrict(timeoutMillis: Long, maxBytes: Long, ec: Executor, materializer: Materializer): CompletionStage[Self]

    Java API

    Java API

    Definition Classes
    HttpMessage
  64. def toStrict(timeoutMillis: Long, ec: Executor, materializer: Materializer): CompletionStage[Self]

    Java API

    Java API

    Definition Classes
    HttpMessage
  65. def toStrict(timeout: FiniteDuration, maxBytes: Long)(implicit ec: ExecutionContext, fm: Materializer): Future[Self]

    Returns a shareable and serializable copy of this message with a strict entity.

    Returns a shareable and serializable copy of this message with a strict entity.

    Definition Classes
    HttpMessage
  66. def toStrict(timeout: FiniteDuration)(implicit ec: ExecutionContext, fm: Materializer): Future[Self]

    Returns a shareable and serializable copy of this message with a strict entity.

    Returns a shareable and serializable copy of this message with a strict entity.

    Definition Classes
    HttpMessage
  67. def toString(): String
    Definition Classes
    HttpRequest → AnyRef → Any
  68. def transformEntityDataBytes[M](transformer: Graph[FlowShape[ByteString, ByteString], M]): HttpRequest

    Returns a copy of Self message after applying the given transformation

    Returns a copy of Self message after applying the given transformation

    Definition Classes
    HttpRequestHttpMessage → MessageTransformations
  69. val uri: Uri
  70. final def wait(): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException])
  71. final def wait(arg0: Long, arg1: Int): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException])
  72. final def wait(arg0: Long): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException]) @native()
  73. def withAttributes(attributes: Map[AttributeKey[_], _]): HttpRequest

    Returns a copy of this message with the attributes set to the given ones.

    Returns a copy of this message with the attributes set to the given ones.

    Definition Classes
    HttpRequestHttpMessage
  74. def withDefaultHeaders(firstHeader: HttpHeader, otherHeaders: HttpHeader*): Self
    Definition Classes
    HttpMessage
  75. def withDefaultHeaders(defaultHeaders: Seq[HttpHeader]): Self

    Returns a new message that contains all of the given default headers which didn't already exist (by case-insensitive header name) in this message.

    Returns a new message that contains all of the given default headers which didn't already exist (by case-insensitive header name) in this message.

    Definition Classes
    HttpMessage
  76. def withEffectiveUri(securedConnection: Boolean, defaultHostHeader: Host = Host.empty): HttpRequest

    Returns a copy of this request with the URI resolved according to the logic defined at http://tools.ietf.org/html/rfc7230#section-5.5

  77. def withEntity(entity: MessageEntity): HttpRequest

    Returns a copy of this message with the entity set to the given one.

    Returns a copy of this message with the entity set to the given one.

    Definition Classes
    HttpRequestHttpMessage
  78. def withEntity(entity: javadsl.model.RequestEntity): HttpRequest

    Returns a copy of this instance with a new entity.

    Returns a copy of this instance with a new entity.

    Definition Classes
    HttpRequestHttpRequest → MessageTransformations
  79. def withEntity(contentType: javadsl.model.ContentType, file: Path): Self
    Definition Classes
    HttpMessage
  80. def withEntity(contentType: javadsl.model.ContentType, file: File): Self
    Definition Classes
    HttpMessage
  81. def withEntity(contentType: javadsl.model.ContentType, bytes: ByteString): Self
    Definition Classes
    HttpMessage
  82. def withEntity(contentType: javadsl.model.ContentType, bytes: Array[Byte]): Self
    Definition Classes
    HttpMessage
  83. def withEntity(contentType: NonBinary, string: String): Self
    Definition Classes
    HttpMessage
  84. def withEntity(bytes: ByteString): Self
    Definition Classes
    HttpMessage
  85. def withEntity(bytes: Array[Byte]): Self
    Definition Classes
    HttpMessage
  86. def withEntity(string: String): Self
    Definition Classes
    HttpMessage
  87. def withHeaders(headers: Seq[HttpHeader]): HttpRequest

    Returns a copy of this message with the list of headers set to the given ones.

    Returns a copy of this message with the list of headers set to the given ones.

    Definition Classes
    HttpRequestHttpMessage
  88. def withHeaders(firstHeader: HttpHeader, otherHeaders: HttpHeader*): Self
    Definition Classes
    HttpMessage
  89. def withHeaders(headers: Iterable[javadsl.model.HttpHeader]): Self

    Java API

    Java API

    Definition Classes
    HttpMessage
  90. def withHeadersAndEntity(headers: Seq[HttpHeader], entity: RequestEntity): HttpRequest

    Returns a copy of this message with the entity and headers set to the given ones.

    Returns a copy of this message with the entity and headers set to the given ones.

    Definition Classes
    HttpRequestHttpMessage
  91. def withMethod(method: javadsl.model.HttpMethod): HttpRequest

    Returns a copy of this instance with a new method.

    Returns a copy of this instance with a new method.

    Definition Classes
    HttpRequestHttpRequest
  92. def withProtocol(protocol: javadsl.model.HttpProtocol): HttpRequest

    Returns a copy of this message with a new protocol.

    Returns a copy of this message with a new protocol.

    Definition Classes
    HttpRequest → MessageTransformations
  93. def withUri(uri: javadsl.model.Uri): HttpRequest

    Java API

    Java API

    Definition Classes
    HttpRequestHttpRequest
  94. def withUri(uri: Uri): HttpRequest
  95. def withUri(path: String): HttpRequest

    Returns a copy of this instance with a new Uri.

    Returns a copy of this instance with a new Uri.

    Definition Classes
    HttpRequestHttpRequest

Shadowed Implicit Value Members

  1. def discardEntityBytes()(implicit mat: Materializer): DiscardedEntity

    Discards the entities data bytes by running the dataBytes Source contained by the entity of this HTTP message.

    Discards the entities data bytes by running the dataBytes Source contained by the entity of this HTTP message.

    Note: It is crucial that entities are either discarded, or consumed by running the underlying pekko.stream.scaladsl.Source as otherwise the lack of consuming of the data will trigger back-pressure to the underlying TCP connection (as designed), however possibly leading to an idle-timeout that will close the connection, instead of just having ignored the data.

    Warning: It is not allowed to discard and/or consume the entity.dataBytes more than once as the stream is directly attached to the "live" incoming data source from the underlying TCP connection. Allowing it to be consumable twice would require buffering the incoming data, thus defeating the purpose of its streaming nature. If the dataBytes source is materialized a second time, it will fail with an "stream can cannot be materialized more than once" exception.

    When called on Strict entities or sources whose values can be buffered in memory, the above warnings can be ignored. Repeated materialization is not necessary in this case, avoiding the mentioned exceptions due to the data being held in memory.

    In future versions, more automatic ways to warn or resolve these situations may be introduced, see issue #18716.

    Implicit
    This member is added by an implicit conversion from HttpRequest toHttpMessageScalaDSLSugar performed by method HttpMessageScalaDSLSugar in org.apache.pekko.http.scaladsl.model.HttpMessage.
    Shadowing
    This implicitly inherited member is shadowed by one or more members in this class.
    To access this member you can use a type ascription:
    (httpRequest: HttpMessageScalaDSLSugar).discardEntityBytes()(mat)
    Definition Classes
    HttpMessageScalaDSLSugar

Deprecated Value Members

  1. def copy(method: HttpMethod = method, uri: Uri = uri, headers: Seq[HttpHeader] = headers, entity: RequestEntity = entity, protocol: HttpProtocol = protocol): HttpRequest
    Annotations
    @deprecated
    Deprecated

    (Since version Akka HTTP 10.2.0) Use the withXYZ methods instead. Kept for binary compatibility

  2. def formatted(fmtstr: String): String
    Implicit
    This member is added by an implicit conversion from HttpRequest toStringFormat[HttpRequest] performed by method StringFormat in scala.Predef.
    Definition Classes
    StringFormat
    Annotations
    @deprecated @inline()
    Deprecated

    (Since version 2.12.16) Use formatString.format(value) instead of value.formatted(formatString), or use the f"" string interpolator. In Java 15 and later, formatted resolves to the new method in String which has reversed parameters.

  3. def [B](y: B): (HttpRequest, B)
    Implicit
    This member is added by an implicit conversion from HttpRequest toArrowAssoc[HttpRequest] performed by method ArrowAssoc in scala.Predef.
    Definition Classes
    ArrowAssoc
    Annotations
    @deprecated
    Deprecated

    (Since version 2.13.0) Use -> instead. If you still wish to display it as one character, consider using a font with programming ligatures such as Fira Code.

Inherited from HttpMessage

Inherited from MessageTransformations[javadsl.model.HttpRequest]

Inherited from AnyRef

Inherited from Any

Inherited by implicit conversion HttpMessageScalaDSLSugar fromHttpRequest to HttpMessageScalaDSLSugar

Inherited by implicit conversion any2stringadd fromHttpRequest to any2stringadd[HttpRequest]

Inherited by implicit conversion StringFormat fromHttpRequest to StringFormat[HttpRequest]

Inherited by implicit conversion Ensuring fromHttpRequest to Ensuring[HttpRequest]

Inherited by implicit conversion ArrowAssoc fromHttpRequest to ArrowAssoc[HttpRequest]

Ungrouped