sealed abstract case class Request[F[_]] extends Message[F] with RequestOps[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
- RequestOps
- Message
- MessageOps
- AnyRef
- Any
- by any2stringadd
- by StringFormat
- by Ensuring
- by ArrowAssoc
- Hide All
- Show All
- Public
- All
Type Members
-
type
Self = Request[F]
- Definition Classes
- Request → Message → MessageOps
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
-
final
def
addCookie(name: String, content: String)(implicit F: Functor[F]): Self
Add a Cookie header with the provided values
Add a Cookie header with the provided values
- Definition Classes
- RequestOps
-
final
def
addCookie(cookie: RequestCookie)(implicit F: Functor[F]): Self
Add a Cookie header for the provided Cookie
Add a Cookie header for the provided Cookie
- Definition Classes
- RequestOps
-
final
def
as[T](implicit F: FlatMap[F], decoder: EntityDecoder[F, T]): F[T]
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 T
- Definition Classes
- MessageOps
-
final
def
asInstanceOf[T0]: T0
- Definition Classes
- Any
-
def
attemptAs[T](implicit F: FlatMap[F], 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 → MessageOps
- val attributes: AttributeMap
- lazy val authType: Option[AuthScheme]
- val body: EntityBody[F]
-
final
def
bodyAsText(implicit defaultCharset: Charset = DefaultCharset): Stream[F, String]
- Definition Classes
- Message
- def change(body: EntityBody[F], headers: Headers, attributes: AttributeMap): 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[java.lang]
- Definition Classes
- AnyRef
- Annotations
- @native() @throws( ... )
-
def
contentLength: Option[Long]
- Definition Classes
- Message
-
def
contentType: Option[Content-Type]
- Definition Classes
- Message
-
final
def
decode[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.- Definition Classes
- RequestOps
-
final
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.- Definition Classes
- RequestOps
-
def
decodeWith[A](decoder: EntityDecoder[F, A], strict: Boolean)(f: (A) ⇒ F[Response[F]])(implicit F: Monad[F]): F[Response[F]]
Like decode, but with an explicit decoder.
Like decode, but with an explicit decoder.
- strict
If strict, will return a Status.UnsupportedMediaType http Response if this message's MediaType is not supported by the provided decoder
- Definition Classes
- Request → RequestOps
- 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
-
final
def
filterHeaders(f: (Header) ⇒ Boolean)(implicit F: Functor[F]): Self
Remove headers that satisfy the predicate
Remove headers that satisfy the predicate
- f
predicate
- returns
a new message object which lacks the specified headers
- Definition Classes
- MessageOps
-
def
finalize(): Unit
- Attributes
- protected[java.lang]
- Definition Classes
- AnyRef
- Annotations
- @throws( classOf[java.lang.Throwable] )
- def formatted(fmtstr: String): String
-
def
from: Option[InetAddress]
Returns the the forwardFor 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
-
lazy val
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
- lazy val pathTranslated: Option[File]
-
final
def
putHeaders(headers: Header*)(implicit F: Functor[F]): 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
- MessageOps
- def queryString: String
- lazy val remote: Option[InetSocketAddress]
- lazy val remoteAddr: Option[String]
- lazy val remoteHost: Option[String]
- lazy val remotePort: Option[Int]
- lazy val remoteUser: Option[String]
-
final
def
removeHeader(key: HeaderKey)(implicit F: Functor[F]): Self
- Definition Classes
- MessageOps
-
final
def
replaceAllHeaders(headers: Header*)(implicit F: Functor[F]): Self
Replace the existing headers with those provided
Replace the existing headers with those provided
- Definition Classes
- MessageOps
-
final
def
replaceAllHeaders(headers: Headers)(implicit F: Functor[F]): Self
Replaces the Headers of the incoming Request object
Replaces the Headers of the incoming Request object
- headers
Headers containing the desired headers
- returns
a new Request object
- Definition Classes
- MessageOps
- lazy val scriptName: String
- lazy val server: Option[InetSocketAddress]
- lazy val serverAddr: String
- lazy val 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 task might not complete unless the entire body has been consumed.
- Definition Classes
- Message
-
def
transformHeaders(f: (Headers) ⇒ Headers)(implicit F: Functor[F]): Self
- Definition Classes
- Message → MessageOps
- 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
- @native() @throws( ... )
-
def
withAttribute[A](key: AttributeKey[A], value: A)(implicit F: Functor[F]): Self
Generates a new message object with the specified key/value pair appended to the org.http4s.AttributeMap
Generates a new message object with the specified key/value pair appended to the org.http4s.AttributeMap
- A
type of the value to store
- key
AttributeKey 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 → MessageOps
-
def
withAttribute[V](entry: AttributeEntry[V])(implicit F: Functor[F]): Self
Generates a new message object with the specified key/value pair appended to the org.http4s.AttributeMap
Generates a new message object with the specified key/value pair appended to the org.http4s.AttributeMap
- V
type of the value to store
- entry
AttributeEntry entry to add
- returns
a new message object with the key/value pair appended
- Definition Classes
- MessageOps
- def withAttributes(attributes: AttributeMap): Request[F]
-
def
withBodyStream(body: EntityBody[F]): Request[F]
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. -
final
def
withContentType(contentType: Content-Type)(implicit F: Functor[F]): Self
- Definition Classes
- MessageOps
-
final
def
withContentTypeOption(contentTypeO: Option[Content-Type])(implicit F: Functor[F]): Self
- Definition Classes
- MessageOps
-
def
withEmptyBody(implicit F: Functor[F]): 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: Headers): Request[F]
- def withHttpVersion(httpVersion: HttpVersion): Request[F]
- def withMethod(method: Method): Request[F]
-
def
withPathInfo(pi: String)(implicit F: Functor[F]): Self
- Definition Classes
- Request → RequestOps
-
final
def
withTrailerHeaders(trailerHeaders: F[Headers])(implicit F: Functor[F]): Self
- Definition Classes
- MessageOps
-
final
def
withType(t: MediaType)(implicit F: Functor[F]): Self
Added the org.http4s.headers.Content-Type header to the response
Added the org.http4s.headers.Content-Type header to the response
- Definition Classes
- MessageOps
- def withUri(uri: Uri): Request[F]
-
final
def
withoutContentType(implicit F: Functor[F]): Self
- Definition Classes
- MessageOps
- def →[B](y: B): (Request[F], B)
Deprecated Value Members
-
def
copy(method: Method = this.method, uri: Uri = this.uri, httpVersion: HttpVersion = this.httpVersion, headers: Headers = this.headers, body: EntityBody[F] = this.body, attributes: AttributeMap = this.attributes): Request[F]
- Annotations
- @deprecated
- Deprecated
(Since version 0.17.0-M3) Copy method is unsafe for setting path info. Use with... methods 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