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
- All
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.lastfactory 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( ... ) @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
Messageis set to chunked, anIllegalStateExceptionis thrown.- Annotations
- @throws( ... )
- 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
Bufwill 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
Messageis set to chunked, anIllegalStateExceptionis thrown.- Annotations
- @throws( ... )
- 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: Any): 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[_]
- 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
Messagecontent mode.Manipulate the
Messagecontent mode.If
chunkedistrue, any existing content will be discarded and further attempts to manipulate the synchronous content will result in anIllegalStateException.If
chunkedisfalse, the synchronous content methods will become available and theReader/Writerof 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( ... )
-
final
def
wait(arg0: Long, arg1: Int): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... )
-
final
def
wait(arg0: Long): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... ) @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
IllegalStateExceptionis 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
IllegalStateExceptionis 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.Ownedand using thewrite(Buf)method.An
IllegalStateExceptionis 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
IllegalStateExceptionis 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
IllegalStateExceptionis 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