Packages

final 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
Linear Supertypes
Serializable, Serializable, Product, Equals, Message[F], Media[F], AnyRef, Any
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. Request
  2. Serializable
  3. Serializable
  4. Product
  5. Equals
  6. Message
  7. Media
  8. AnyRef
  9. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. All

Type Members

  1. type Self = SelfF[F]
    Definition Classes
    Message
  2. type SelfF[F0[_]] = Request[F0]
    Definition Classes
    RequestMessage

Value Members

  1. final def !=(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  2. final def ##(): Int
    Definition Classes
    AnyRef → Any
  3. final def ==(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  4. def addCookie(name: String, content: String): Request[F]

    Add a Cookie header with the provided values

  5. def addCookie(cookie: RequestCookie): Request[F]

    Add a Cookie header for the provided org.http4s.headers.Cookie

  6. def addHeader[H](h: H)(implicit arg0: Header[H, Recurring]): Self

    Add a header to these headers.

    Add a header to these headers. The header should be a type with a recurring Header instance to ensure that the new value can be appended to any existing values.

    >>> import cats.effect.IO
    >>> import org.http4s.headers.Accept
    
    >>> val req = Request[IO]().addHeader(Accept(MediaRange.`application/*`))
    >>> req.headers.get[Accept]
    Some(Accept(NonEmptyList(application/*)))
    
    >>> val req2 = req.addHeader(Accept(MediaRange.`text/*`))
    >>> req2.headers.get[Accept]
    Some(Accept(NonEmptyList(application/*, text/*)))

    */*/*/*/*/

    Definition Classes
    Message
  7. final def as[A](implicit F: MonadThrow[F], decoder: EntityDecoder[F, A]): F[A]

    Decode the Media to the specified type

    Decode the Media to the specified type

    If no valid Status has been described, allow Ok

    A

    type of the result

    decoder

    EntityDecoder used to decode the Media

    returns

    the effect which will generate the A

    Definition Classes
    Media
  8. def asCurl(redactHeadersWhen: (CIString) ⇒ Boolean = Headers.SensitiveHeaders.contains): String

    cURL representation of the request.

    cURL representation of the request.

    Supported cURL-Parameters are: -X, -H

  9. final def asInstanceOf[T0]: T0
    Definition Classes
    Any
  10. final def attemptAs[T](implicit decoder: EntityDecoder[F, T]): DecodeResult[F, T]

    Decode the Media to the specified type

    Decode the Media to the specified type

    T

    type of the result

    decoder

    EntityDecoder used to decode the Media

    returns

    the effect which will generate the DecodeResult[T]

    Definition Classes
    Media
  11. val attributes: Vault
    Definition Classes
    RequestMessage
  12. def authType: Option[AuthScheme]
  13. val body: EntityBody[F]
    Definition Classes
    RequestMessageMedia
  14. final def bodyText(implicit RT: RaiseThrowable[F], defaultCharset: Charset = DefaultCharset): Stream[F, String]
    Definition Classes
    Media
  15. def canEqual(that: Any): Boolean
    Definition Classes
    Request → Equals
  16. def change(httpVersion: HttpVersion, body: EntityBody[F], headers: Headers, attributes: Vault): Request[F]
    Attributes
    protected
    Definition Classes
    RequestMessage
  17. final def charset: Option[Charset]
    Definition Classes
    Media
  18. def clone(): AnyRef
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( ... ) @native()
  19. final def contentLength: Option[Long]
    Definition Classes
    Media
  20. final def contentType: Option[Content-Type]
    Definition Classes
    Media
  21. def cookies: List[RequestCookie]

    Parses all available org.http4s.headers.Cookie headers into a list of RequestCookie objects.

    Parses all available org.http4s.headers.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.

  22. def covary[F2[x] >: F[x]]: SelfF[F2]

    Lifts this Message's body to the specified effect type.

    Lifts this Message's body to the specified effect type.

    Definition Classes
    MessageMedia
  23. 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.

  24. 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, a UnsupportedMediaType Response is generated instead.

  25. def decodeWith[A](decoder: EntityDecoder[F, A], strict: Boolean)(f: (A) ⇒ F[Response[F]])(implicit F: Monad[F]): F[Response[F]]
  26. final def eq(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  27. def equals(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  28. def filterHeaders(f: (Raw) ⇒ 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
  29. def finalize(): Unit
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( classOf[java.lang.Throwable] )
  30. def from: Option[IpAddress]

    Returns the the X-Forwarded-For value if present, else the remote address.

  31. final def getClass(): Class[_]
    Definition Classes
    AnyRef → Any
    Annotations
    @native()
  32. def hashCode(): Int
    Definition Classes
    Request → AnyRef → Any
  33. val headers: Headers
    Definition Classes
    RequestMessageMedia
  34. val httpVersion: HttpVersion
    Definition Classes
    RequestMessage
  35. def isChunked: Boolean
    Definition Classes
    Message
  36. final def isInstanceOf[T0]: Boolean
    Definition Classes
    Any
  37. def isSecure: Option[Boolean]

    Whether the Request was received over a secure medium

  38. def mapK[G[_]](f: ~>[F, G]): Request[G]
  39. val method: Method
  40. 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 StringMap
    ?param=vMap("param" -> Seq("v"))
    ?param=Map("param" -> Seq(""))
    ?paramMap("param" -> Seq())
    ?=valueMap("" -> Seq("value"))
    ?p1=v1&p1=v2&p2=v3&p2=v3Map("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.

  41. final def ne(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  42. final def notify(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native()
  43. final def notifyAll(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native()
  44. 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

  45. lazy val pathInfo: Path
  46. def pathTranslated: Option[File]
  47. def productArity: Int
    Definition Classes
    Request → Product
  48. def productElement(n: Int): Any
    Definition Classes
    Request → Product
  49. def productIterator: Iterator[Any]
    Definition Classes
    Product
  50. def productPrefix: String
    Definition Classes
    Product
  51. def putHeaders(headers: ToRaw*): Self

    Add the provided headers to the existing headers, replacing those of the same header name

    Add the provided headers to the existing headers, replacing those of the same header name

    >>> import cats.effect.IO
    >>> import org.http4s.headers.Accept
    
    >>> val req = Request[IO]().putHeaders(Accept(MediaRange.`application/*`))
    >>> req.headers.get[Accept]
    Some(Accept(NonEmptyList(application/*)))
    
    >>> val req2 = req.putHeaders(Accept(MediaRange.`text/*`))
    >>> req2.headers.get[Accept]
    Some(Accept(NonEmptyList(text/*)))

    */*/*/*/

    Definition Classes
    Message
  52. def queryString: String
  53. def remote: Option[SocketAddress[IpAddress]]
  54. def remoteAddr: Option[IpAddress]
  55. def remoteHost(implicit F: Sync[F]): F[Option[Hostname]]
  56. def remotePort: Option[Port]
  57. def remoteUser: Option[String]
  58. def removeHeader[A](implicit h: Header[A, _]): Self
    Definition Classes
    Message
  59. def removeHeader(key: CIString): Self
    Definition Classes
    Message
  60. def requestPrelude: RequestPrelude

    A projection of this request without the body.

  61. lazy val scriptName: Path
  62. def server: Option[SocketAddress[IpAddress]]
  63. def serverAddr: Option[IpAddress]
  64. def serverPort: Option[Port]
  65. def serverSoftware: ServerSoftware
  66. final def synchronized[T0](arg0: ⇒ T0): T0
    Definition Classes
    AnyRef
  67. def toString(): String
    Definition Classes
    Request → AnyRef → Any
  68. 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
  69. def transformHeaders(f: (Headers) ⇒ Headers): Self
    Definition Classes
    Message
  70. val uri: Uri
  71. final def wait(): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  72. final def wait(arg0: Long, arg1: Int): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  73. final def wait(arg0: Long): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... ) @native()
  74. def withAttribute[A](key: Key[A], value: A): Self

    Generates a new message object with the specified key/value pair appended to the #attributes.

    Generates a new message object with the specified key/value pair appended to the #attributes.

    A

    type of the value to store

    key

    io.chrisdavenport.vault.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
  75. def withAttributes(attributes: Vault): Self
    Definition Classes
    Message
  76. def withBodyStream(body: EntityBody[F]): Self

    Sets the entity body without affecting headers such as Transfer-Encoding or Content-Length.

    Sets the entity body without affecting headers such as Transfer-Encoding or Content-Length. Most use cases are better served by withEntity, which uses an EntityEncoder to maintain the headers.

    Definition Classes
    Message
  77. def withContentType(contentType: Content-Type): Self
    Definition Classes
    Message
  78. def withContentTypeOption(contentTypeO: Option[Content-Type]): Self
    Definition Classes
    Message
  79. 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
  80. 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
  81. def withHeaders(headers: ToRaw*): Self
    Definition Classes
    Message
  82. def withHeaders(headers: Headers): Self
    Definition Classes
    Message
  83. def withHttpVersion(httpVersion: HttpVersion): Self
    Definition Classes
    Message
  84. def withMethod(method: Method): Request[F]
  85. def withPathInfo(pi: Path): Request[F]
  86. def withTrailerHeaders(trailerHeaders: F[Headers]): Self
    Definition Classes
    Message
  87. def withUri(uri: Uri): Request[F]
  88. def withoutAttribute(key: Key[_]): Self

    Returns a new message object without the specified key in the #attributes.

    Returns a new message object without the specified key in the #attributes.

    key

    io.chrisdavenport.vault.Key to remove

    returns

    a new message object without the key

    Definition Classes
    Message
  89. def withoutContentType: Self
    Definition Classes
    Message
  90. def withoutTrailerHeaders: Self
    Definition Classes
    Message

Deprecated Value Members

  1. def withPathInfo(pi: String): Request[F]
    Annotations
    @deprecated
    Deprecated

    (Since version 0.22.0-M1) Use {withPathInfo(Uri.Path)} instead

Inherited from Serializable

Inherited from Serializable

Inherited from Product

Inherited from Equals

Inherited from Message[F]

Inherited from Media[F]

Inherited from AnyRef

Inherited from Any

Ungrouped