final class HttpResponse extends javadsl.model.HttpResponse with HttpMessage
- Alphabetic
- By Inheritance
- HttpResponse
- HttpMessage
- HttpResponse
- MessageTransformations
- HttpMessage
- AnyRef
- Any
- by HttpMessageScalaDSLSugar
- by any2stringadd
- by StringFormat
- by Ensuring
- by ArrowAssoc
- Hide All
- Show All
- Public
- All
Instance Constructors
- new HttpResponse(status: StatusCode, headers: Seq[HttpHeader], entity: ResponseEntity, protocol: HttpProtocol)
Type Members
-
type
Self = HttpResponse
- Definition Classes
- HttpResponse → HttpMessage
Value Members
- def _1: StatusCode
- def _2: Seq[HttpHeader]
- def _3: ResponseEntity
- def _4: HttpProtocol
-
def
addCredentials(credentials: HttpCredentials): Self
- Definition Classes
- HttpMessage
-
def
addHeader(header: javadsl.model.HttpHeader): Self
- Definition Classes
- HttpMessage
-
def
addHeaders(headers: Iterable[javadsl.model.HttpHeader]): Self
Java API
Java API
- Definition Classes
- HttpMessage
-
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 copy(status: StatusCode = status, headers: Seq[HttpHeader] = headers, entity: ResponseEntity = entity, protocol: HttpProtocol = protocol): HttpResponse
-
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 akka.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
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
-
val
entity: ResponseEntity
The entity of this message.
The entity of this message.
- Definition Classes
- HttpResponse → HttpMessage → HttpResponse → HttpMessage
-
def
equals(obj: Any): Boolean
- Definition Classes
- HttpResponse → AnyRef → Any
-
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
hashCode(): Int
- Definition Classes
- HttpResponse → 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
- HttpResponse → HttpMessage
-
val
httpMessage: HttpMessage
- Implicit
- This member is added by an implicit conversion from HttpResponse to HttpMessageScalaDSLSugar performed by method HttpMessageScalaDSLSugar in akka.http.scaladsl.model.HttpMessage.
- Definition Classes
- HttpMessageScalaDSLSugar
-
def
isRequest(): Boolean
Is this instance a request.
Is this instance a request.
- Definition Classes
- HttpResponse → HttpMessage → HttpMessage
-
def
isResponse(): Boolean
Is this instance a response.
Is this instance a response.
- Definition Classes
- HttpResponse → HttpMessage → HttpMessage
- def mapEntity(f: (ResponseEntity) ⇒ ResponseEntity): HttpResponse
-
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
protocol: HttpProtocol
The protocol of this message.
The protocol of this message.
- Definition Classes
- HttpResponse → HttpMessage → 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: HttpResponse
- Definition Classes
- HttpResponse → HttpMessage
-
val
status: StatusCode
Returns the status-code of this response.
Returns the status-code of this response.
- Definition Classes
- HttpResponse → HttpResponse
-
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
- HttpResponse → AnyRef → Any
-
def
transformEntityDataBytes[T](transformer: Graph[FlowShape[ByteString, ByteString], T]): HttpResponse
Returns a copy of Self message after applying the given transformation
Returns a copy of Self message after applying the given transformation
- Definition Classes
- HttpResponse → HttpMessage → MessageTransformations
-
def
withDefaultHeaders(defaultHeaders: 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
withEntity(entity: javadsl.model.RequestEntity): HttpResponse
Returns a copy of Self message with a new entity.
Returns a copy of Self message with a new entity.
- Definition Classes
- HttpResponse → MessageTransformations
-
def
withEntity(entity: MessageEntity): HttpResponse
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
- HttpResponse → HttpMessage
-
def
withEntity(entity: javadsl.model.ResponseEntity): HttpResponse
Returns a copy of this instance with a new entity.
Returns a copy of this instance with a new entity.
- Definition Classes
- HttpResponse → HttpResponse
-
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]): HttpResponse
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
- HttpResponse → HttpMessage
-
def
withHeaders(headers: 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: ResponseEntity): HttpResponse
-
def
withHeadersAndEntity(headers: Seq[HttpHeader], entity: MessageEntity): HttpResponse
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
- HttpResponse → HttpMessage
- def withProtocol(protocol: HttpProtocol): HttpResponse
-
def
withProtocol(protocol: javadsl.model.HttpProtocol): javadsl.model.HttpResponse
Returns a copy of this message with a new protocol.
Returns a copy of this message with a new protocol.
- Definition Classes
- HttpResponse → MessageTransformations
-
def
withStatus(statusCode: javadsl.model.StatusCode): HttpResponse
Returns a copy of this instance with a new status-code.
Returns a copy of this instance with a new status-code.
- Definition Classes
- HttpResponse → HttpResponse
-
def
withStatus(statusCode: Int): HttpResponse
Returns a copy of this instance with a new status-code.
Returns a copy of this instance with a new status-code.
- Definition Classes
- HttpResponse → HttpResponse
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 akka.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 HttpResponse to HttpMessageScalaDSLSugar performed by method HttpMessageScalaDSLSugar in akka.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:(httpResponse: HttpMessageScalaDSLSugar).discardEntityBytes()(mat)
- Definition Classes
- HttpMessageScalaDSLSugar