Response

final class Response[+F[_]] extends Message[F] with Product with Serializable

Representation of the HTTP response to send back to the client

Value parameters:
attributes

org.typelevel.vault.Vault containing additional parameters which may be used by the http4s backend for additional processing such as java.io.File object

entity

Entity representing the possible body of the response

headers

Headers containing all response headers

status

Status code and message

Companion:
object
Source:
Message.scala
trait Product
trait Equals
trait Message[F]
trait Media[F]
class Object
trait Matchable
class Any

Type members

Types

type SelfF[F0[_]] = Response[F0]

Value members

Concrete methods

Add a Set-Cookie header for the provided ResponseCookie

Add a Set-Cookie header for the provided ResponseCookie

Source:
Message.scala
def addCookie(name: String, content: String, expires: Option[HttpDate]): Response[F]

Add a org.http4s.headers.Set-Cookie header with the provided values

Add a org.http4s.headers.Set-Cookie header with the provided values

Source:
Message.scala
def canEqual(that: Any): Boolean

Returns a list of cookies from the org.http4s.headers.Set-Cookie headers. Includes expired cookies, such as those that represent cookie deletion.

Returns a list of cookies from the org.http4s.headers.Set-Cookie headers. Includes expired cookies, such as those that represent cookie deletion.

Source:
Message.scala
def copy[F1[_]](status: Status, httpVersion: HttpVersion, headers: Headers, entity: Entity[F1], attributes: Vault): Response[F1]
override def hashCode(): Int
Definition Classes
Any
Source:
Message.scala
def productElement(n: Int): Any

Add a org.http4s.headers.Set-Cookie which will remove the specified cookie from the client

Add a org.http4s.headers.Set-Cookie which will remove the specified cookie from the client

Source:
Message.scala

Add a org.http4s.headers.Set-Cookie which will remove the specified cookie from the client

Add a org.http4s.headers.Set-Cookie which will remove the specified cookie from the client

Source:
Message.scala

A projection of this response without the body.

A projection of this response without the body.

Source:
Message.scala
override def toString: String
Definition Classes
Any
Source:
Message.scala
def withStatus(status: Status): Response[F]

Inherited methods

def addHeader[H : ([H] =>> Header[H, Recurring])](h: H): Response[F]

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.

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 org.http4s.headers.Accept

>>> val req = Request().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/*)))

////*/

Inherited from:
Message
Source:
Message.scala
final def body: EntityBody[F]
Inherited from:
Media
Source:
Media.scala
final def bodyText[F2[x]](implicit RT: RaiseThrowable[F2], defaultCharset: Charset): Stream[F2, String]
Inherited from:
Media
Source:
Media.scala
final def charset: Option[Charset]
Inherited from:
Media
Source:
Media.scala
Inherited from:
Media
Source:
Media.scala
Inherited from:
Media
Source:
Media.scala
override def covary[F2[x]]: Response[F2]

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

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

Definition Classes
Inherited from:
Message
Source:
Message.scala

Keep headers that satisfy the predicate

Keep headers that satisfy the predicate

Value parameters:
f

predicate

Returns:

a new message object which has only headers that satisfy the predicate

Inherited from:
Message
Source:
Message.scala
Inherited from:
Message
Source:
Message.scala
def mapK[F2[x], G[_]](f: FunctionK[F2, G]): Response[G]
Inherited from:
Message
Source:
Message.scala
Inherited from:
Product
Inherited from:
Product
Inherited from:
Product
def putHeaders(headers: ToRaw*): Response[F]

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 org.http4s.headers.Accept

>>> val req = Request().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/*)))

////

Inherited from:
Message
Source:
Message.scala
def removeHeader[A](implicit h: Header[A, _]): Response[F]
Inherited from:
Message
Source:
Message.scala
Inherited from:
Message
Source:
Message.scala
def toStrict[F1[x]](maxBytes: Option[Long])(implicit F: Concurrent[F1]): F1[Response[Pure]]

Compiles the body stream to a single chunk and sets it as the body. Replaces any Transfer-Encoding: chunked with a Content-Length header. It is the caller's responsibility to assure there is enough memory to materialize the entity body and control the time limits of that materialization.

Compiles the body stream to a single chunk and sets it as the body. Replaces any Transfer-Encoding: chunked with a Content-Length header. It is the caller's responsibility to assure there is enough memory to materialize the entity body and control the time limits of that materialization.

Value parameters:
maxBytes

maximum length of the entity stream. If the stream exceeds the limit then processing fails with the Message.EntityStreamException. Pass the scala.None if you don't want to limit the entity body.

Inherited from:
Message
Source:
Message.scala
def trailerHeaders[F1[x]](implicit F: Applicative[F1]): F1[Headers]

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.

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.

Inherited from:
Message
Source:
Message.scala
Inherited from:
Message
Source:
Message.scala
def withAttribute[A](key: Key[A], value: A): Response[F]

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.

Type parameters:
A

type of the value to store

Value parameters:
key

org.typelevel.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

Inherited from:
Message
Source:
Message.scala
def withAttributes(attributes: Vault): Response[F]
Inherited from:
Message
Source:
Message.scala
def withBodyStream[F1[x]](body: EntityBody[F1]): Response[F1]

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

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

WARNING: this method does not modify the headers of the message, and as a consequence headers may be incoherent with the body.

Inherited from:
Message
Source:
Message.scala
def withContentType(contentType: Content-Type): Response[F]
Inherited from:
Message
Source:
Message.scala
Inherited from:
Message
Source:
Message.scala

Set an Entity.Empty entity on this message, and remove all payload headers that make no sense with an empty body.

Set an Entity.Empty entity on this message, and remove all payload headers that make no sense with an empty body.

Inherited from:
Message
Source:
Message.scala
def withEntity[F1[x]](entity: Entity[F1]): Response[F1]
Inherited from:
Message
Source:
Message.scala
def withEntity[F1[x], T](b: T)(implicit w: EntityEncoder[F1, T]): Response[F1]

Replace the body of this message with a new body

def withHeaders(headers: ToRaw*): Response[F]
Inherited from:
Message
Source:
Message.scala
def withHeaders(headers: Headers): Response[F]
Inherited from:
Message
Source:
Message.scala
def withHttpVersion(httpVersion: HttpVersion): Response[F]
Inherited from:
Message
Source:
Message.scala
def withTrailerHeaders[F1[x]](trailerHeaders: F1[Headers]): Response[F1]
Inherited from:
Message
Source:
Message.scala
def withoutAttribute(key: Key[_]): Response[F]

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

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

Value parameters:
key

org.typelevel.vault.Key to remove

Returns:

a new message object without the key

Inherited from:
Message
Source:
Message.scala
Inherited from:
Message
Source:
Message.scala