org.http4s
Type members
Classlikes
This object was generated by sbt-buildinfo.
This object was generated by sbt-buildinfo.
A registry of cache-directives, as listed in http://www.iana.org/assignments/http-cache-directives/http-cache-directives.xhtml
A registry of cache-directives, as listed in http://www.iana.org/assignments/http-cache-directives/http-cache-directives.xhtml
- Companion:
- class
A type that can be used to decode a Message EntityDecoder is used to attempt to decode a Message returning the entire resulting A. If an error occurs it will result in a failed effect. The default decoders provided here are not streaming, but one could implement a streaming decoder by having the value of A be some kind of streaming construct.
A type that can be used to decode a Message EntityDecoder is used to attempt to decode a Message returning the entire resulting A. If an error occurs it will result in a failed effect. The default decoders provided here are not streaming, but one could implement a streaming decoder by having the value of A be some kind of streaming construct.
- Type parameters:
- T
result type produced by the decoder
- Companion:
- object
EntityDecoder is used to attempt to decode an EntityBody
This companion object provides a way to create new EntityDecoder
s along
with some commonly used instances which can be resolved implicitly.
EntityDecoder is used to attempt to decode an EntityBody
This companion object provides a way to create new EntityDecoder
s along
with some commonly used instances which can be resolved implicitly.
- Companion:
- class
- Companion:
- object
A decoder ware that uses QueryParamDecoder to decode values in org.http4s.UrlForm
A decoder ware that uses QueryParamDecoder to decode values in org.http4s.UrlForm
- Example:
scala> import cats.syntax.all._ scala> import cats.data._ scala> import org.http4s.FormDataDecoder._ scala> import org.http4s.ParseFailure scala> case class Foo(a: String, b: Boolean) scala> case class Bar(fs: List[Foo], f: Foo, d: Boolean) scala> scala> implicit val fooMapper: FormDataDecoder[Foo] = ( | field[String]("a"), | field[Boolean]("b") | ).mapN(Foo.apply) scala> scala> val barMapper = ( | list[Foo]("fs"), | nested[Foo]("f"), | field[Boolean]("d") | ).mapN(Bar.apply) scala> scala> barMapper( | Map( | "fs[].a" -> Chain("a1", "a2"), | "fs[].b" -> Chain("true", "false"), | "f.a" -> Chain("fa"), | "f.b" -> Chain("false"), | "d" -> Chain("true")) | ) res1: ValidatedNel[ParseFailure, Bar] = Valid(Bar(List(Foo(a1,true), Foo(a2,false)),Foo(fa,false),true))
The companion object provides a EntityDecoder from HTML form parameters.
import org.http4s.FormDataDecoder.formEntityDecoder HttpRoutes .of[F] { case req @ POST -> Root => req.as[MyEntity].flatMap { entity => Ok() } }
For more examples, check the tests https://github.com/http4s/http4s/blob/main/tests/src/test/scala/org/http4s/FormDataDecoderSpec.scala
- Companion:
- object
Typeclass representing an HTTP header, which all the http4s
default headers satisfy.
You can add modelled headers by providing an implicit instance of
Header[YourModelledHeader]
Typeclass representing an HTTP header, which all the http4s
default headers satisfy.
You can add modelled headers by providing an implicit instance of
Header[YourModelledHeader]
- Companion:
- object
A collection of HTTP Headers
A collection of HTTP Headers
- Companion:
- object
An HTTP-date value represents time as an instance of Coordinated Universal Time (UTC). It expresses time at a resolution of one second. By using it over java.time.Instant in the model, we assure that if two headers render equally, their values are equal.
An HTTP-date value represents time as an instance of Coordinated Universal Time (UTC). It expresses time at a resolution of one second. By using it over java.time.Instant in the model, we assure that if two headers render equally, their values are equal.
- See also:
- Companion:
- object
Functions for creating HttpRoutes kleislis.
Functions for creating HttpRoutes kleislis.
HTTP's version number consists of two decimal digits separated by a "." (period or decimal point). The first digit ("major version") indicates the messaging syntax, whereas the second digit ("minor version") indicates the highest minor version within that major version to which the sender is conformant (able to understand for future communication).
HTTP's version number consists of two decimal digits separated by a "." (period or decimal point). The first digit ("major version") indicates the messaging syntax, whereas the second digit ("minor version") indicates the highest minor version within that major version to which the sender is conformant (able to understand for future communication).
- Value parameters:
- major
The major version,
0
to9
inclusive- minor
The minor version,
0
to9
inclusive
- See also:
Semantics, Protocol Versioning
- Companion:
- object
Exception dealing with invalid body
Exception dealing with invalid body
- Value parameters:
- msg
description if what makes the body invalid
Exception dealing with invalid response
Exception dealing with invalid response
- Value parameters:
- msg
description if what makes the response invalid
- Companion:
- object
Indicates that no EntityDecoder matches the MediaType of the Message being decoded
Indicates that no EntityDecoder matches the MediaType of the Message being decoded
Indicates that a Message attempting to be decoded has no MediaType and no EntityDecoder was lenient enough to accept it.
Indicates that a Message attempting to be decoded has no MediaType and no EntityDecoder was lenient enough to accept it.
Represents a HTTP Message. The interesting subclasses are Request and Response.
Represents a HTTP Message. The interesting subclasses are Request and Response.
- Companion:
- object
An HTTP method.
An HTTP method.
- Value parameters:
- isIdempotent
A request method is considered "idempotent" if the intended effect on the server of multiple identical requests with that method is the same as the effect for a single such request.
- isSafe
Request methods are considered "safe" if their defined semantics are essentially read-only; i.e., the client does not request, and does not expect, any state change on the origin server as a result of applying a safe method to a target resource.
- name
The name of the method
- See also:
- Companion:
- object
Indicates an error parsing an HTTP Message.
Indicates an error parsing an HTTP Message.
- Value parameters:
- details
Contains any relevant details omitted from the sanitized version of the error. This may freely echo a Request.
- sanitized
May safely be displayed to a client to describe an error condition. Should not echo any part of a Request.
- Companion:
- object
A Quality Value. Represented as thousandths for an exact representation rounded to three decimal places.
A Quality Value. Represented as thousandths for an exact representation rounded to three decimal places.
- Value parameters:
- thousandths
between 0 (for q=0) and 1000 (for q=1)
- See also:
- Companion:
- object
Collection representation of a query string
Collection representation of a query string
It is a indexed sequence of key and maybe a value pairs which maps precisely to a query string, modulo percent-encoding.
When rendered, the resulting String
will have the pairs separated
by '&' while the key is separated from the value with '='
- Companion:
- object
type class defining the key of a query parameter Usually used in conjunction with QueryParamEncoder and QueryParamDecoder
type class defining the key of a query parameter Usually used in conjunction with QueryParamEncoder and QueryParamDecoder
Any QueryParam instance is also a valid QueryParamKeyLike instance where the same key is used for all values.
- Companion:
- object
Type class defining how to decode a QueryParameterValue into a T
Type class defining how to decode a QueryParameterValue into a T
- See also:
QueryParamCodecLaws
- Companion:
- object
Type class defining how to encode a T
as a QueryParameterValues
Type class defining how to encode a T
as a QueryParameterValues
- See also:
QueryParamCodecLaws
- Companion:
- object
Representation of an incoming HTTP message
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.
- Value parameters:
- attributes
Immutable Map used for carrying additional information in a type safe fashion
- body
fs2.Stream[F, Byte] defining the body of the request
- headers
collection of Headers
- httpVersion
the HTTP version
- method
Method.GET, Method.POST, etc.
- uri
representation of the request URI
- Companion:
- object
A projection of a Request without the body.
A projection of a Request without the body.
- Note:
The Request#attributes are omitted in this encoding because they do not (and can not) have a cats.kernel.Order instance. If they were included here, then we could not write a cats.kernel.Order instance for RequestPrelude, limiting some of its utility, e.g. it could not be used in a cats.data.NonEmptySet.
- Companion:
- object
Representation of the HTTP response to send back to the client
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
- body
EntityBody[F] representing the possible body of the response
- headers
Headers containing all response headers
- status
Status code and message
- Companion:
- object
- Value parameters:
- extension
The extension attributes of the cookie. If there is more than one, they are joined by semi-colon, which must not appear in an attribute value.
- Companion:
- object
A projection of a Response without the body.
A projection of a Response without the body.
- Note:
The Response#attributes are omitted in this encoding because they do not (and can not) have a cats.kernel.Order instance. If they were included here, then we could not write a cats.kernel.Order instance for ResponsePrelude, limiting some of its utility, e.g. it could not be used in a cats.data.NonEmptySet.
- Companion:
- object
RFC6265 SameSite cookie attribute values.
RFC6265 SameSite cookie attribute values.
- Companion:
- object
- Companion:
- object
Representation of the HTTP response code and reason
Representation of the HTTP response code and reason
'''Note: ''' the reason is not important to the protocol and is not considered in equality checks.
- Value parameters:
- code
HTTP status code
- reason
reason for the response. eg, OK
- See also:
- Companion:
- object
Representation of the Request URI
Representation of the Request URI
- Value parameters:
- authority
optional Uri Authority. eg, localhost:8080, www.foo.bar
- fragment
optional Uri Fragment. url-encoded.
- path
url-encoded string representation of the path component of the Uri.
- query
optional Query. url-encoded.
- scheme
optional Uri Scheme. eg, http, https
- Companion:
- object
Simple representation of a URI Template that can be rendered as RFC6570 conform string.
Simple representation of a URI Template that can be rendered as RFC6570 conform string.
This model reflects only a subset of RFC6570.
Level 1 and Level 2 are completely modeled and Level 3 features are limited to:
- Path segments, slash-prefixed
- Form-style query, ampersand-separated
- Fragment expansion
- Companion:
- object
Deprecated classlikes
- Deprecated
- Companion:
- class
- Deprecated
Types
The type parameters need to be in this order to make partial unification trigger. See https://github.com/http4s/http4s/issues/1506
The type parameters need to be in this order to make partial unification trigger. See https://github.com/http4s/http4s/issues/1506
A kleisli with a Request input and a Response output, such that the response effect is the same as the request and response bodies'. An HTTP app is total on its inputs. An HTTP app may be run by a server, and a client can be converted to or from an HTTP app.
A kleisli with a Request input and a Response output, such
that the response effect is an optional inside the effect of the
request and response bodies. HTTP routes can conveniently be
constructed from a partial function and combined as a
SemigroupK
.