final class HttpResponse extends javadsl.model.HttpResponse with HttpMessage

The immutable HTTP response model.

Source
HttpMessage.scala
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. HttpResponse
  2. HttpMessage
  3. HttpResponse
  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. All

Instance Constructors

  1. new HttpResponse(status: StatusCode, headers: Seq[HttpHeader], entity: ResponseEntity, protocol: HttpProtocol)

Type Members

  1. type Self = HttpResponse
    Definition Classes
    HttpResponseHttpMessage

Value Members

  1. def _1: StatusCode
  2. def _2: Seq[HttpHeader]
  3. def _3: ResponseEntity
  4. def _4: HttpProtocol
  5. def addCredentials(credentials: HttpCredentials): Self
    Definition Classes
    HttpMessage
  6. def addHeader(header: javadsl.model.HttpHeader): Self
    Definition Classes
    HttpMessage
  7. def addHeaders(headers: Iterable[javadsl.model.HttpHeader]): Self

    Java API

    Java API

    Definition Classes
    HttpMessage
  8. 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
  9. def copy(status: StatusCode = status, headers: Seq[HttpHeader] = headers, entity: ResponseEntity = entity, protocol: HttpProtocol = protocol): HttpResponse
  10. 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
    HttpMessageHttpMessage
  11. 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
  12. val entity: ResponseEntity

    The entity of this message.

    The entity of this message.

    Definition Classes
    HttpResponseHttpMessageHttpResponseHttpMessage
  13. def equals(obj: Any): Boolean
    Definition Classes
    HttpResponse → AnyRef → Any
  14. def getHeader(headerName: String): Optional[javadsl.model.HttpHeader]

    Java API

    Java API

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

    Java API

    Java API

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

    Java API

    Java API

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

    Java API

    Java API

    Definition Classes
    HttpMessageHttpMessage
  18. def hashCode(): Int
    Definition Classes
    HttpResponse → AnyRef → Any
  19. 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
  20. 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
  21. val headers: Seq[HttpHeader]
    Definition Classes
    HttpResponseHttpMessage
  22. 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
  23. def isRequest(): Boolean

    Is this instance a request.

    Is this instance a request.

    Definition Classes
    HttpResponseHttpMessageHttpMessage
  24. def isResponse(): Boolean

    Is this instance a response.

    Is this instance a response.

    Definition Classes
    HttpResponseHttpMessageHttpMessage
  25. def mapEntity(f: (ResponseEntity) ⇒ ResponseEntity): HttpResponse
  26. 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
  27. val protocol: HttpProtocol

    The protocol of this message.

    The protocol of this message.

    Definition Classes
    HttpResponseHttpMessageHttpMessage
  28. 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
  29. def self: HttpResponse
    Definition Classes
    HttpResponseHttpMessage
  30. val status: StatusCode

    Returns the status-code of this response.

    Returns the status-code of this response.

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

    Java API

    Java API

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

    Java API

    Java API

    Definition Classes
    HttpMessage
  33. 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
  34. 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
  35. def toString(): String
    Definition Classes
    HttpResponse → AnyRef → Any
  36. 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
    HttpResponseHttpMessage → MessageTransformations
  37. def withDefaultHeaders(defaultHeaders: HttpHeader*): Self
    Definition Classes
    HttpMessage
  38. 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
  39. 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
  40. 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
    HttpResponseHttpMessage
  41. 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
    HttpResponseHttpResponse
  42. def withEntity(contentType: javadsl.model.ContentType, file: Path): Self
    Definition Classes
    HttpMessage
  43. def withEntity(contentType: javadsl.model.ContentType, file: File): Self
    Definition Classes
    HttpMessage
  44. def withEntity(contentType: javadsl.model.ContentType, bytes: ByteString): Self
    Definition Classes
    HttpMessage
  45. def withEntity(contentType: javadsl.model.ContentType, bytes: Array[Byte]): Self
    Definition Classes
    HttpMessage
  46. def withEntity(contentType: NonBinary, string: String): Self
    Definition Classes
    HttpMessage
  47. def withEntity(bytes: ByteString): Self
    Definition Classes
    HttpMessage
  48. def withEntity(bytes: Array[Byte]): Self
    Definition Classes
    HttpMessage
  49. def withEntity(string: String): Self
    Definition Classes
    HttpMessage
  50. 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
    HttpResponseHttpMessage
  51. def withHeaders(headers: HttpHeader*): Self
    Definition Classes
    HttpMessage
  52. def withHeaders(headers: Iterable[javadsl.model.HttpHeader]): Self

    Java API

    Java API

    Definition Classes
    HttpMessage
  53. def withHeadersAndEntity(headers: Seq[HttpHeader], entity: ResponseEntity): HttpResponse
  54. 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
    HttpResponseHttpMessage
  55. def withProtocol(protocol: HttpProtocol): HttpResponse
  56. 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
  57. 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
    HttpResponseHttpResponse
  58. 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
    HttpResponseHttpResponse

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 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