Request

trait Request[A]
class Object
trait Matchable
class Any

Type members

Types

Information extracted from the URL and the headers

Information extracted from the URL and the headers

Value members

Abstract methods

def matchAndParseHeaders(http4sRequest: Http4sRequest): Option[Either[Http4sResponse, Validated[UrlAndHeaders]]]

Checks whether the incoming http4sRequest matches this request description, and parses its URL parameters and headers.

Checks whether the incoming http4sRequest matches this request description, and parses its URL parameters and headers.

Returns:

None if the incoming request does not match this request method and URL. Otherwise: - Some(Left(response)) to immediately return a custom response (e.g. 401), - Some(Right(Valid(urlAndHeadersData))) in case the URL and headers were successfully parsed, - Some(Right(Invalid(errors))) in case the URL and headers had validation errors

def parseEntity(urlAndHeaders: UrlAndHeaders, http4sRequest: Http4sRequest): Effect[Either[Http4sResponse, A]]

Parse the request entity.

Parse the request entity.

Returns either a value of type A containing all the information extracted from the request (including URL, headers, and entity), or an http4s response directly.

Concrete methods

final def matches(http4sRequest: Http4sRequest): Option[Effect[Either[Http4sResponse, A]]]

Checks whether the incoming request matches this request description, parses its URL parameters and headers, and then parses its entity if there was no previous validation errors.

Checks whether the incoming request matches this request description, parses its URL parameters and headers, and then parses its entity if there was no previous validation errors.