org.http4s
Type members
Classlikes
This object was generated by sbt-buildinfo.
This object was generated by sbt-buildinfo.
- Source:
- BuildInfo.scala
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
- Source:
- CacheDirective.scala
- Companion:
- object
- Source:
- ContextRequest.scala
- Companion:
- object
- Source:
- ContextResponse.scala
Indicates a problem decoding a Message. This may either be a problem with the entity headers or with the entity itself.
Indicates a problem decoding a Message. This may either be a problem with the entity headers or with the entity itself.
- Companion:
- object
- Source:
- MessageFailure.scala
- Companion:
- object
- Source:
- Entity.scala
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
- Source:
- EntityDecoder.scala
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
- Source:
- EntityDecoder.scala
- Companion:
- object
- Source:
- EntityEncoder.scala
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
- Source:
- FormDataDecoder.scala
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
- Source:
- Header.scala
A collection of HTTP Headers
A collection of HTTP Headers
- Companion:
- object
- Source:
- Headers.scala
Functions for creating Http kleislis.
Functions for creating Http kleislis.
- Source:
- Http.scala
Poor's man discipline runner to check a set of PropF[F]
Poor's man discipline runner to check a set of PropF[F]
- Source:
- Http4sLawSuite.scala
Common stack for http4s' munit based tests
Common stack for http4s' munit based tests
- Source:
- Http4sSuite.scala
Functions for creating HttpApp kleislis.
Functions for creating HttpApp kleislis.
- Source:
- HttpApp.scala
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
- Source:
- HttpDate.scala
Functions for creating HttpRoutes kleislis.
Functions for creating HttpRoutes kleislis.
- Source:
- HttpRoutes.scala
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
- Source:
- HttpVersion.scala
Exception dealing with invalid body
Exception dealing with invalid body
- Value parameters:
- msg
description if what makes the body invalid
- Source:
- InvalidBodyException.scala
Indicates a semantic error decoding the body of an HTTP Message.
Indicates a semantic error decoding the body of an HTTP Message.
- Source:
- MessageFailure.scala
Exception dealing with invalid response
Exception dealing with invalid response
- Value parameters:
- msg
description if what makes the response invalid
- Source:
- InvalidResponseException.scala
- Companion:
- object
- Source:
- LanguageTag.scala
Indicates an syntactic error decoding the body of an HTTP Message.
Indicates an syntactic error decoding the body of an HTTP Message.
- Source:
- MessageFailure.scala
Indicates that no EntityDecoder matches the MediaType of the Message being decoded
Indicates that no EntityDecoder matches the MediaType of the Message being decoded
- Source:
- MessageFailure.scala
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.
- Source:
- MessageFailure.scala
Represents a HTTP Message. The interesting subclasses are Request and Response.
Represents a HTTP Message. The interesting subclasses are Request and Response.
- Companion:
- object
- Source:
- Message.scala
Indicates a problem decoding a Message body.
Indicates a problem decoding a Message body.
- Source:
- MessageFailure.scala
Indicates a failure to handle an HTTP Message.
Indicates a failure to handle an HTTP Message.
- Source:
- MessageFailure.scala
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
- Source:
- Method.scala
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
- Source:
- MessageFailure.scala
- Companion:
- object
- Source:
- Protocol.scala
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
- Source:
- QValue.scala
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
- Source:
- Query.scala
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
- Source:
- QueryParam.scala
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
- Source:
- QueryParam.scala
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
- Source:
- QueryParam.scala
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
- Source:
- Message.scala
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
- Source:
- RequestPrelude.scala
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
- Source:
- Message.scala
- 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
- Source:
- ResponseCookie.scala
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
- Source:
- ResponsePrelude.scala
RFC6265 SameSite cookie attribute values.
RFC6265 SameSite cookie attribute values.
- Companion:
- object
- Source:
- SameSite.scala
- Companion:
- object
- Source:
- ServerSentEvent.scala
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
- Source:
- Status.scala
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
- Source:
- Uri.scala
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
- Source:
- UriTemplate.scala
Deprecated classlikes
- Deprecated
- Source:
- MediaTypePlaform.scala
- Companion:
- class
- Deprecated
- Source:
- RequestCookieJar.scala
- Companion:
- object
- Deprecated
- Source:
- RequestCookieJar.scala
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
- Source:
- package.scala
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 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.
- Type parameters:
- Source:
- package.scala
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
.
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
.
- Type parameters:
- Source:
- package.scala