abstract class Message extends AnyRef
Rich Message
Base class for Request and Response. There are both input and output methods, though only one set of methods should be used.
- Alphabetic
- By Inheritance
- Message
- AnyRef
- Any
- Hide All
- Show All
- Public
- Protected
Instance Constructors
- new Message()
Abstract Value Members
- abstract def chunkReader: Reader[Chunk]
A read-only handle to a stream of Chunk, representing the message body.
A read-only handle to a stream of Chunk, representing the message body. This stream is only populated on chunked messages (
isChunked == true
). Use content to access a payload of a fully-buffered message (isChunked == false
).Prefer this API over reader when application needs to receive trailing headers (trailers). Trailers are transmitted in the very last chunk (
chunk.isLast == true
) of the stream and can be retrieved via Chunk.trailers.- See also
Reader and Chunk
- abstract def chunkWriter: Writer[Chunk]
A write-only handle to a stream of Chunk, representing the message body.
A write-only handle to a stream of Chunk, representing the message body. Only chunked messages (
isChunked == true
) use this stream as their payload, fully-buffered messages (isChunked == false
) use content instead.Prefer this API over writer when application needs to send trailing headers (trailers). Trailers are transmitted in the very last chunk of the stream and can be populated via
Chunk.last
factory method.- See also
Reader and Chunk
- abstract def headerMap: HeaderMap
HTTP headers associated with this message.
HTTP headers associated with this message.
- Note
HeaderMap isn't thread-safe. Any concurrent access should be synchronized externally.
- abstract def isRequest: Boolean
- abstract def trailers: HeaderMap
Trailing headers (trailers) associated with this message.
Trailing headers (trailers) associated with this message.
These are only populated on fully-buffered inbound messages that were aggregated (see
withStreaming(false)
) from HTTP streams terminating with trailers.- Note
HeaderMap isn't thread-safe. Any concurrent access should be synchronized externally.
Concrete Value Members
- final def !=(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
- final def ##: Int
- Definition Classes
- AnyRef → Any
- final def ==(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
- def addCookie(cookie: Cookie): Unit
Add a cookie
- def allow: Option[String]
Allow header
- def allow_=(values: Iterable[Method]): Unit
Set Allow header
- def allow_=(value: String): Unit
Set Allow header
- final def asInstanceOf[T0]: T0
- Definition Classes
- Any
- def cacheControl: Option[String]
Get Cache-Control header
- def cacheControl_=(maxAge: Duration): Unit
Set Cache-Control header with a max-age (and must-revalidate).
- def cacheControl_=(value: String): Unit
Set Cache-Control header
- def charset: Option[String]
Get charset from Content-Type header
- def charset_=(value: String): Unit
Set charset in Content-Type header.
Set charset in Content-Type header. This does not change the content.
- final def clearContent(): Unit
Clear content (set to "").
- def clone(): AnyRef
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.CloneNotSupportedException]) @native()
- def close(): Future[Unit]
End the response stream.
- final def content(content: Buf): Message.this.type
Set the content of this
Message
.Set the content of this
Message
.Any existing content is discarded. If this
Message
is set to chunked, anIllegalStateException
is thrown.- Annotations
- @throws(scala.this.throws.<init>$default$1[IllegalStateException])
- See also
content_=(Buf) for Scala users
- def content: Buf
Retrieve the current content of this
Message
.Retrieve the current content of this
Message
.If this message is chunked, the resulting
Buf
will always be empty. - final def contentLength(value: Long): Message.this.type
Set Content-Length header.
Set Content-Length header. Normally, this is automatically set by the Codec, but this method allows you to override that.
- See also
contentLength_=(Long) for Scala users.
- def contentLength: Option[Long]
Get the value of the Content-Length header.
Get the value of the Content-Length header. Use length to get the length of actual content.
- See also
Long for Java users.
- final def contentLengthOrElse(default: Long): Long
Get the value of the Content-Length header, or the provided default if it doesn't exist.
Get the value of the Content-Length header, or the provided default if it doesn't exist.
- See also
Option(Long) for Scala users.
- def contentLength_=(value: Long): Unit
Set Content-Length header.
Set Content-Length header. Normally, this is automatically set by the Codec, but this method allows you to override that.
- See also
contentLength(Long) for Java users.
- def contentString: String
Get the content as a string.
- def contentString_=(value: String): Unit
Set the content as a string.
- def contentType: Option[String]
Get Content-Type header
- def contentType_=(value: String): Unit
Set Content-Type header
- def content_=(content: Buf): Unit
Set the content of this
Message
.Set the content of this
Message
.Any existing content is discarded. If this
Message
is set to chunked, anIllegalStateException
is thrown.- Annotations
- @throws(scala.this.throws.<init>$default$1[IllegalStateException])
- See also
content(Buf) for Java users
- lazy val cookies: CookieMap
Cookies.
Cookies. In a request, this uses the Cookie headers. In a response, it uses the Set-Cookie headers.
- def date: Option[String]
Get Date header
- def date_=(value: Date): Unit
Set Date header by Date
- def date_=(value: String): Unit
Set Date header
- final def eq(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- def equals(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef → Any
- def expires: Option[String]
Get Expires header
- def expires_=(value: Date): Unit
Set Expires header by Date
- def expires_=(value: String): Unit
Set Expires header
- def finalize(): Unit
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.Throwable])
- final def getClass(): Class[_ <: AnyRef]
- Definition Classes
- AnyRef → Any
- Annotations
- @native()
- def getContentString(): String
- def getCookies(): Iterator[Cookie]
Get iterator over Cookies
- final def getInputStream(): InputStream
Get InputStream for content.
Get InputStream for content. Caller must close. (Java interface. Scala users should use withInputStream.)
- final def getLength(): Int
Get length of content.
- final def getReader(): Reader
Get Reader for content.
Get Reader for content. (Java interface. Scala users should use withReader.)
- def hashCode(): Int
- Definition Classes
- AnyRef → Any
- Annotations
- @native()
- def isChunked: Boolean
- final def isInstanceOf[T0]: Boolean
- Definition Classes
- Any
- def isResponse: Boolean
- def isXmlHttpRequest: Boolean
Check if X-Requested-With contains XMLHttpRequest, usually signalling a request from a JavaScript AJAX libraries.
Check if X-Requested-With contains XMLHttpRequest, usually signalling a request from a JavaScript AJAX libraries. Some servers treat these requests specially. For example, an endpoint might render JSON or XML instead HTML if it's an XmlHttpRequest. (Tip: don't do this - it's gross.)
- final def keepAlive: Boolean
- final def keepAlive(keepAlive: Boolean): Message.this.type
- def lastModified: Option[String]
Get Last-Modified header
- def lastModified_=(value: Date): Unit
Set Last-Modified header by Date
- def lastModified_=(value: String): Unit
Set Last-Modified header
- final def length: Int
Get length of content.
- def mediaType: Option[String]
Get media-type from Content-Type header
- def mediaType_=(value: String): Unit
Set media-type in Content-Type header.
Set media-type in Content-Type header. Charset and parameter values are preserved, though may not be appropriate for the new media type.
- 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()
- final lazy val reader: Reader[Buf]
A read-only handle to a stream of Buf, representing the message body.
A read-only handle to a stream of Buf, representing the message body. This stream is only * populated on chunked messages (
isChunked == true
). Use content to access a payload of a fully-buffered message (isChunked == false
).Prefer this API over chunkReader when application doesn't need access to trailing headers (trailers).
- See also
Reader
- def removeCookie(name: String): Unit
Remove a cookie
- def setChunked(chunked: Boolean): Unit
Manipulate the
Message
content mode.Manipulate the
Message
content mode.If
chunked
istrue
, any existing content will be discarded and further attempts to manipulate the synchronous content will result in anIllegalStateException
.If
chunked
isfalse
, the synchronous content methods will become available and theReader
/Writer
of the message will be ignored by Finagle. - final def setContentString(value: String): Unit
Set the content as a string.
- def setContentType(mediaType: String, charset: String = "utf-8"): Unit
Set Content-Type header by media-type and charset
- def setContentTypeJson(): Unit
Set Content-Type header to application/json;charset=utf-8
- final def synchronized[T0](arg0: => T0): T0
- Definition Classes
- AnyRef
- def toString(): String
- Definition Classes
- AnyRef → Any
- final def version(version: Version): Message.this.type
Set the HTTP version
Set the HTTP version
* @see version_=(Version) for Scala users
- def version: Version
Get the HTTP version
- def version_=(version: Version): Unit
Set the HTTP version
Set the HTTP version
- See also
version(Version) for Java users
- 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 withInputStream[T](f: (InputStream) => T): T
Use content as InputStream.
Use content as InputStream. The underlying channel buffer's reader index is advanced. (Scala interface. Java users can use getInputStream().)
- final def withOutputStream[T](f: (OutputStream) => T): T
Append content via an OutputStream.
Append content via an OutputStream.
An
IllegalStateException
is thrown if this message is chunked.- Annotations
- @throws(classOf[IllegalStateException])
- final def withReader[T](f: (Reader) => T): T
Use content as Reader.
Use content as Reader. (Scala interface. Java users can use getReader().)
- final def withWriter[T](f: (Writer) => T): T
Append content via a Writer.
Append content via a Writer.
An
IllegalStateException
is thrown if this message is chunked.- Annotations
- @throws(classOf[IllegalStateException])
- final def write(bytes: Array[Byte]): Unit
Append bytes to content.
Append bytes to content.
This method makes a defensive copy of the provided byte array. This can be avoided by wrapping the byte array via
Buf.ByteArray.Owned
and using thewrite(Buf)
method.An
IllegalStateException
is thrown if this message is chunked.- Annotations
- @throws(classOf[IllegalStateException])
- final def write(buf: Buf): Unit
Append a Buf to content.
Append a Buf to content.
An
IllegalStateException
is thrown if this message is chunked.- Annotations
- @throws(classOf[IllegalStateException])
- final def write(string: String): Unit
Append string to content.
Append string to content.
An
IllegalStateException
is thrown if this message is chunked.- Annotations
- @throws(classOf[IllegalStateException])
- final lazy val writer: Writer[Buf]
A write-only handle to the stream of Buf, representing the message body.
A write-only handle to the stream of Buf, representing the message body. Only chunked messages (
isChunked == true
) use this stream as their payload, fully-buffered messages (isChunked == false
) use content instead.Prefer this API over chunkWriter when application doesn't need to send trailing headers (trailers).
- See also
Writer