final class HttpRequest extends javadsl.model.HttpRequest with HttpMessage
- Alphabetic
- By Inheritance
- HttpRequest
- HttpMessage
- HttpRequest
- MessageTransformations
- HttpMessage
- AnyRef
- Any
- by HttpMessageScalaDSLSugar
- by any2stringadd
- by StringFormat
- by Ensuring
- by ArrowAssoc
- Hide All
- Show All
- Public
- Protected
Instance Constructors
- new HttpRequest(method: HttpMethod, uri: Uri, headers: Seq[HttpHeader], attributes: Map[AttributeKey[_], _], entity: RequestEntity, protocol: HttpProtocol)
Type Members
- type Self = HttpRequest
- Definition Classes
- HttpRequest → HttpMessage
Value Members
- final def !=(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
- final def ##: Int
- Definition Classes
- AnyRef → Any
- 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
- 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()
- final def ==(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
- def _1: HttpMethod
- def _2: Uri
- def _3: Seq[HttpHeader]
- def _4: RequestEntity
- def _5: HttpProtocol
- def addAttribute[T](key: javadsl.model.AttributeKey[T], value: T): Self
- Definition Classes
- HttpMessage
- def addCredentials(credentials: HttpCredentials): Self
- Definition Classes
- HttpMessage
- 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
- def addHeaders(headers: Iterable[javadsl.model.HttpHeader]): Self
Java API
Java API
- Definition Classes
- HttpMessage
- final def asInstanceOf[T0]: T0
- Definition Classes
- Any
- def attribute[T](key: javadsl.model.AttributeKey[T])(implicit ev: JavaMapping[javadsl.model.AttributeKey[T], AttributeKey[T]]): Option[T]
- Definition Classes
- HttpMessage
- val attributes: Map[AttributeKey[_], _]
- Definition Classes
- HttpRequest → HttpMessage
- def canBeRetried: Boolean
Determines whether this request can be safely retried, which is the case only of the request method is idempotent.
- def clone(): AnyRef
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.CloneNotSupportedException]) @native()
- 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
- def cookies: Seq[HttpCookiePair]
All cookies provided by the client in one or more
Cookie
headers. - def discardEntityBytes(system: ClassicActorSystemProvider): DiscardedEntity
Java API
Java API
- Definition Classes
- HttpMessage → HttpMessage
- 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
- HttpMessage → HttpMessage
- 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. - 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
- 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
- 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
- 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
- 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
- val entity: RequestEntity
The entity of this message.
The entity of this message.
- Definition Classes
- HttpRequest → HttpMessage → HttpRequest → HttpMessage
- final def eq(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- def equals(obj: Any): Boolean
- Definition Classes
- HttpRequest → AnyRef → Any
- def finalize(): Unit
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.Throwable])
- def getAttribute[T](attributeKey: javadsl.model.AttributeKey[T]): Optional[T]
Java API
Java API
- Definition Classes
- HttpMessage → HttpMessage
- final def getClass(): Class[_ <: AnyRef]
- Definition Classes
- AnyRef → Any
- Annotations
- @native()
- def getHeader(headerName: String): Optional[javadsl.model.HttpHeader]
Java API
Java API
- Definition Classes
- HttpMessage → HttpMessage
- def getHeader[T <: javadsl.model.HttpHeader](headerClass: Class[T]): Optional[T]
Java API
Java API
- Definition Classes
- HttpMessage → HttpMessage
- def getHeaders[T <: javadsl.model.HttpHeader](headerClass: Class[T]): Iterable[T]
Java API
Java API
- Definition Classes
- HttpMessage → HttpMessage
- def getHeaders(): Iterable[javadsl.model.HttpHeader]
Java API
Java API
- Definition Classes
- HttpMessage → HttpMessage
- def getUri(): javadsl.model.Uri
Java API
Java API
- Definition Classes
- HttpRequest → HttpRequest
- def hashCode(): Int
- Definition Classes
- HttpRequest → AnyRef → Any
- 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
- 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
- val headers: Seq[HttpHeader]
- Definition Classes
- HttpRequest → HttpMessage
- 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
- final def isInstanceOf[T0]: Boolean
- Definition Classes
- Any
- def isRequest(): Boolean
Is this instance a request.
Is this instance a request.
- Definition Classes
- HttpRequest → HttpMessage → HttpMessage
- def isResponse(): Boolean
Is this instance a response.
Is this instance a response.
- Definition Classes
- HttpRequest → HttpMessage → HttpMessage
- 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
- def mapEntity(f: (RequestEntity) => RequestEntity): HttpRequest
- 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
- val method: HttpMethod
Returns the Http method of this request.
Returns the Http method of this request.
- Definition Classes
- HttpRequest → HttpRequest
- final def ne(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- final def notify(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native()
- final def notifyAll(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native()
- val protocol: HttpProtocol
The protocol of this message.
The protocol of this message.
- Definition Classes
- HttpRequest → HttpMessage → HttpMessage
- def removeAttribute(key: javadsl.model.AttributeKey[_]): Self
- Definition Classes
- HttpMessage
- 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
- def self: Self
- Definition Classes
- HttpRequest → HttpMessage
- final def synchronized[T0](arg0: => T0): T0
- Definition Classes
- AnyRef
- def toStrict(timeoutMillis: Long, maxBytes: Long, system: ClassicActorSystemProvider): CompletionStage[Self]
Java API
Java API
- Definition Classes
- HttpMessage
- def toStrict(timeoutMillis: Long, system: ClassicActorSystemProvider): CompletionStage[Self]
Java API
Java API
- Definition Classes
- HttpMessage
- def toStrict(timeoutMillis: Long, maxBytes: Long, ec: Executor, materializer: Materializer): CompletionStage[Self]
Java API
Java API
- Definition Classes
- HttpMessage
- def toStrict(timeoutMillis: Long, ec: Executor, materializer: Materializer): CompletionStage[Self]
Java API
Java API
- Definition Classes
- HttpMessage
- 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
- 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
- def toString(): String
- Definition Classes
- HttpRequest → AnyRef → Any
- 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
- HttpRequest → HttpMessage → MessageTransformations
- val uri: Uri
- final def wait(): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException])
- final def wait(arg0: Long, arg1: Int): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException])
- final def wait(arg0: Long): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException]) @native()
- 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
- HttpRequest → HttpMessage
- def withDefaultHeaders(firstHeader: HttpHeader, otherHeaders: HttpHeader*): Self
- Definition Classes
- HttpMessage
- 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
- 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
- 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
- HttpRequest → HttpMessage
- 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
- HttpRequest → HttpRequest → MessageTransformations
- def withEntity(contentType: javadsl.model.ContentType, file: Path): Self
- Definition Classes
- HttpMessage
- def withEntity(contentType: javadsl.model.ContentType, file: File): Self
- Definition Classes
- HttpMessage
- def withEntity(contentType: javadsl.model.ContentType, bytes: ByteString): Self
- Definition Classes
- HttpMessage
- def withEntity(contentType: javadsl.model.ContentType, bytes: Array[Byte]): Self
- Definition Classes
- HttpMessage
- def withEntity(contentType: NonBinary, string: String): Self
- Definition Classes
- HttpMessage
- def withEntity(bytes: ByteString): Self
- Definition Classes
- HttpMessage
- def withEntity(bytes: Array[Byte]): Self
- Definition Classes
- HttpMessage
- def withEntity(string: String): Self
- Definition Classes
- HttpMessage
- 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
- HttpRequest → HttpMessage
- def withHeaders(firstHeader: HttpHeader, otherHeaders: HttpHeader*): Self
- Definition Classes
- HttpMessage
- def withHeaders(headers: Iterable[javadsl.model.HttpHeader]): Self
Java API
Java API
- Definition Classes
- HttpMessage
- 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
- HttpRequest → HttpMessage
- 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
- HttpRequest → HttpRequest
- 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
- def withUri(uri: javadsl.model.Uri): HttpRequest
Java API
Java API
- Definition Classes
- HttpRequest → HttpRequest
- def withUri(uri: Uri): HttpRequest
- 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
- HttpRequest → HttpRequest
Shadowed Implicit Value Members
- def discardEntityBytes()(implicit mat: Materializer): DiscardedEntity
Discards the entities data bytes by running the
dataBytes
Source contained by theentity
of this HTTP message.Discards the entities data bytes by running the
dataBytes
Source contained by theentity
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
- 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
- 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 ofvalue.formatted(formatString)
, or use thef""
string interpolator. In Java 15 and later,formatted
resolves to the new method in String which has reversed parameters.
- 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.