sealed abstract case class Request[F[_]] extends Message[F] with Product with Serializable
Representation of an incoming HTTP message
A Request encapsulates the entirety of the incoming HTTP request including the status line, headers, and a possible request body.
- Source
- Message.scala
- Alphabetic
- By Inheritance
- Request
- Serializable
- Serializable
- Product
- Equals
- Message
- AnyRef
- Any
- by any2stringadd
- by StringFormat
- by Ensuring
- by ArrowAssoc
- Hide All
- Show All
- Public
- All
Value Members
-
final
def
!=(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
-
final
def
##(): Int
- Definition Classes
- AnyRef → Any
- def +(other: String): String
- def ->[B](y: B): (Request[F], B)
-
final
def
==(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
-
def
addCookie(name: String, content: String): Self
Add a Cookie header with the provided values
-
def
addCookie(cookie: RequestCookie): Self
Add a Cookie header for the provided Cookie
-
def
as[A](implicit F: MonadError[F, Throwable], decoder: EntityDecoder[F, A]): F[A]
Decode the Message to the specified type
- A
type of the result
- decoder
EntityDecoder used to decode the Message
- returns
the effect which will generate the A
- Definition Classes
- Message
-
final
def
asInstanceOf[T0]: T0
- Definition Classes
- Any
-
def
attemptAs[T](implicit decoder: EntityDecoder[F, T]): DecodeResult[F, T]
Decode the Message to the specified type
Decode the Message to the specified type
- T
type of the result
- decoder
EntityDecoder used to decode the Message
- returns
the effect which will generate the
DecodeResult[T]
- Definition Classes
- Message
- val attributes: Vault
- def authType: Option[AuthScheme]
- val body: EntityBody[F]
-
def
bodyAsText(implicit defaultCharset: Charset = DefaultCharset): Stream[F, String]
- Definition Classes
- Message
- def change(httpVersion: HttpVersion, body: EntityBody[F], headers: Headers, attributes: Vault): Self
-
def
charset: Option[Charset]
Returns the charset parameter of the
Content-Type
header, if present.Returns the charset parameter of the
Content-Type
header, if present. Does not introspect the body for media types that define a charset internally.- Definition Classes
- Message
-
def
clone(): AnyRef
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws( ... ) @native()
-
def
contentLength: Option[Long]
- Definition Classes
- Message
-
def
contentType: Option[Content-Type]
- Definition Classes
- Message
-
def
cookies: List[RequestCookie]
Parses all available Cookie headers into a list of RequestCookie objects.
Parses all available Cookie headers into a list of RequestCookie objects. This implementation is compatible with cookie headers formatted per HTTP/1 and HTTP/2, or even both at the same time.
-
def
decode[A](f: (A) ⇒ F[Response[F]])(implicit F: Monad[F], decoder: EntityDecoder[F, A]): F[Response[F]]
Helper method for decoding Requests
-
def
decodeStrict[A](f: (A) ⇒ F[Response[F]])(implicit F: Monad[F], decoder: EntityDecoder[F, A]): F[Response[F]]
Helper method for decoding Requests
Helper method for decoding Requests
Attempt to decode the Request and, if successful, execute the continuation to get a Response. If decoding fails, an
UnprocessableEntity
Response is generated. If the decoder does not support the MediaType of the Request, aUnsupportedMediaType
Response is generated instead. - def decodeWith[A](decoder: EntityDecoder[F, A], strict: Boolean)(f: (A) ⇒ F[Response[F]])(implicit F: Monad[F]): F[Response[F]]
- def ensuring(cond: (Request[F]) ⇒ Boolean, msg: ⇒ Any): Request[F]
- def ensuring(cond: (Request[F]) ⇒ Boolean): Request[F]
- def ensuring(cond: Boolean, msg: ⇒ Any): Request[F]
- def ensuring(cond: Boolean): Request[F]
-
final
def
eq(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
-
def
filterHeaders(f: (Header) ⇒ Boolean): Self
Keep headers that satisfy the predicate
Keep headers that satisfy the predicate
- f
predicate
- returns
a new message object which has only headers that satisfy the predicate
- Definition Classes
- Message
-
def
finalize(): Unit
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws( classOf[java.lang.Throwable] )
- def formatted(fmtstr: String): String
-
def
from: Option[InetAddress]
Returns the the X-Forwarded-For value if present, else the remote address.
-
final
def
getClass(): Class[_]
- Definition Classes
- AnyRef → Any
- Annotations
- @native()
- val headers: Headers
- val httpVersion: HttpVersion
-
def
isChunked: Boolean
- Definition Classes
- Message
-
final
def
isInstanceOf[T0]: Boolean
- Definition Classes
- Any
-
def
isSecure: Option[Boolean]
Whether the Request was received over a secure medium
- def mapK[G[_]](f: ~>[F, G]): Request[G]
- val method: Method
-
def
multiParams: Map[String, Seq[String]]
Representation of the query string as a map
Representation of the query string as a map
In case a parameter is available in query string but no value is there the sequence will be empty. If the value is empty the the sequence contains an empty string.
Examples
Query String Map ?param=v
Map("param" -> Seq("v"))
?param=
Map("param" -> Seq(""))
?param
Map("param" -> Seq())
?=value
Map("" -> Seq("value"))
?p1=v1&p1=v2&p2=v3&p2=v3
Map("p1" -> Seq("v1","v2"), "p2" -> Seq("v3","v4"))
The query string is lazily parsed. If an error occurs during parsing an empty
Map
is returned. -
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()
-
def
params: Map[String, String]
View of the head elements of the URI parameters in query string.
View of the head elements of the URI parameters in query string.
In case a parameter has no value the map returns an empty string.
- See also
multiParams
- lazy val pathInfo: String
- def pathTranslated: Option[File]
-
def
putHeaders(headers: Header*): Self
Add the provided headers to the existing headers, replacing those of the same header name The passed headers are assumed to contain no duplicate Singleton headers.
Add the provided headers to the existing headers, replacing those of the same header name The passed headers are assumed to contain no duplicate Singleton headers.
- Definition Classes
- Message
- def queryString: String
- def remote: Option[InetSocketAddress]
- def remoteAddr: Option[String]
- def remoteHost: Option[String]
- def remotePort: Option[Int]
- def remoteUser: Option[String]
-
def
removeHeader(key: HeaderKey): Self
- Definition Classes
- Message
- lazy val scriptName: String
- def server: Option[InetSocketAddress]
- def serverAddr: String
- def serverPort: Int
- def serverSoftware: ServerSoftware
-
final
def
synchronized[T0](arg0: ⇒ T0): T0
- Definition Classes
- AnyRef
-
def
toString(): String
- Definition Classes
- Request → AnyRef → Any
-
def
trailerHeaders(implicit F: Applicative[F]): F[Headers]
The trailer headers, as specified in Section 3.6.1 of RFC 2616.
The trailer headers, as specified in Section 3.6.1 of RFC 2616. The resulting F might not complete until the entire body has been consumed.
- Definition Classes
- Message
-
def
transformHeaders(f: (Headers) ⇒ Headers): Self
- Definition Classes
- Message
- val uri: Uri
-
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
withAttribute[A](key: Key[A], value: A): Self
Generates a new message object with the specified key/value pair appended to the AttributeMap
Generates a new message object with the specified key/value pair appended to the AttributeMap
- A
type of the value to store
- key
Key with which to associate the value
- value
value associated with the key
- returns
a new message object with the key/value pair appended
- Definition Classes
- Message
-
def
withAttributes(attributes: Vault): Self
- Definition Classes
- Message
-
def
withBodyStream(body: EntityBody[F]): Self
Sets the entity body without affecting headers such as
Transfer-Encoding
orContent-Length
.Sets the entity body without affecting headers such as
Transfer-Encoding
orContent-Length
. Most use cases are better served by withEntity, which uses an EntityEncoder to maintain the headers.- Definition Classes
- Message
-
def
withContentType(contentType: Content-Type): Self
- Definition Classes
- Message
-
def
withContentTypeOption(contentTypeO: Option[Content-Type]): Self
- Definition Classes
- Message
-
def
withEmptyBody: Self
Set an empty entity body on this message, and remove all payload headers that make no sense with an empty body.
Set an empty entity body on this message, and remove all payload headers that make no sense with an empty body.
- Definition Classes
- Message
-
def
withEntity[T](b: T)(implicit w: EntityEncoder[F, T]): Self
Replace the body of this message with a new body
Replace the body of this message with a new body
- T
type of the Body
- b
body to attach to this method
- w
EntityEncoder with which to convert the body to an EntityBody
- returns
a new message with the new body
- Definition Classes
- Message
-
def
withHeaders(headers: Header*): Self
- Definition Classes
- Message
-
def
withHeaders(headers: Headers): Self
- Definition Classes
- Message
-
def
withHttpVersion(httpVersion: HttpVersion): Self
- Definition Classes
- Message
- def withMethod(method: Method): Self
- def withPathInfo(pi: String): Self
-
def
withTrailerHeaders(trailerHeaders: F[Headers]): Self
- Definition Classes
- Message
- def withUri(uri: Uri): Self
-
def
withoutAttribute(key: Key[_]): Self
Returns a new message object without the specified key in the AttributeMap
Returns a new message object without the specified key in the AttributeMap
- key
Key to remove
- returns
a new message object without the key
- Definition Classes
- Message
-
def
withoutContentType: Self
- Definition Classes
- Message
-
def
withoutTrailerHeaders: Self
- Definition Classes
- Message
- def →[B](y: B): (Request[F], B)
Deprecated Value Members
-
def
replaceAllHeaders(headers: Header*): Self
Replace the existing headers with those provided
Replace the existing headers with those provided
- Definition Classes
- Message
- Annotations
- @deprecated
- Deprecated
(Since version 0.20.0-M2) Use withHeaders instead
-
def
replaceAllHeaders(headers: Headers): Self
Replace the existing headers with those provided
Replace the existing headers with those provided
- Definition Classes
- Message
- Annotations
- @deprecated
- Deprecated
(Since version 0.20.0-M2) Use withHeaders instead
-
def
withBody[T](b: T)(implicit F: Applicative[F], w: EntityEncoder[F, T]): F[Self]
- Definition Classes
- Message
- Annotations
- @deprecated
- Deprecated
(Since version 0.19) Use withEntity
-
def
withType(t: MediaType)(implicit F: Functor[F]): Self
- Definition Classes
- Message
- Annotations
- @deprecated
- Deprecated
(Since version 0.20.0-M2) Use withContentType(
Content-Type
(t)) instead