t

endpoints.uzhttp.server

EndpointsWithCustomErrors

trait EndpointsWithCustomErrors extends algebra.EndpointsWithCustomErrors with Requests with Responses

Linear Supertypes
Responses, StatusCodes, Requests, Urls, Methods, algebra.EndpointsWithCustomErrors, Errors, algebra.Responses, algebra.StatusCodes, algebra.Requests, endpoints.SemigroupalSyntax, algebra.Methods, algebra.Urls, endpoints.PartialInvariantFunctorSyntax, endpoints.InvariantFunctorSyntax, AnyRef, Any
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. EndpointsWithCustomErrors
  2. Responses
  3. StatusCodes
  4. Requests
  5. Urls
  6. Methods
  7. EndpointsWithCustomErrors
  8. Errors
  9. Responses
  10. StatusCodes
  11. Requests
  12. SemigroupalSyntax
  13. Methods
  14. Urls
  15. PartialInvariantFunctorSyntax
  16. InvariantFunctorSyntax
  17. AnyRef
  18. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. Protected

Type Members

  1. case class CallbackDocs extends Product with Serializable
    Definition Classes
    EndpointsWithCustomErrors
  2. type CallbacksDocs = Map[String, CallbackDocs]
    Definition Classes
    EndpointsWithCustomErrors
  3. abstract type ClientErrors
    Definition Classes
    Errors
  4. case class Endpoint[A, B](request: EndpointsWithCustomErrors.Request[A], response: EndpointsWithCustomErrors.Response[B]) extends Product with Serializable
  5. case class EndpointDocs extends Product with Serializable
    Definition Classes
    EndpointsWithCustomErrors
  6. implicit class InvariantFunctorSyntax[A, F[_]] extends AnyRef
    Definition Classes
    InvariantFunctorSyntax
  7. type Method = uzhttp.Request.Method
    Definition Classes
    Methods → Methods
  8. type Params = Map[String, Seq[String]]
    Definition Classes
    Urls
  9. implicit class PartialInvariantFunctorSyntax[A, F[_]] extends AnyRef
    Definition Classes
    PartialInvariantFunctorSyntax
  10. implicit class PathOps[A] extends AnyRef
    Definition Classes
    Urls
  11. type QueryString[A] = (Params) => Validated[A]
    Definition Classes
    Urls → Urls
  12. implicit class QueryStringSyntax[A] extends AnyRef
    Definition Classes
    Urls
  13. type Request[A] = (uzhttp.Request) => Option[UIO[Validated[A]]]

    An HTTP request.

    An HTTP request.

    It receives uzhttp.Request and returns: - None if request url cannot be matched - Some(Valid(a)) if A can be extracted from request - Invalid if A cannot be extracted from request

    Has an instance of InvariantFunctor.

    Definition Classes
    Requests → Requests
  14. type RequestEntity[A] = (uzhttp.Request) => UIO[Validated[A]]

    Information carried by request entity.

    Information carried by request entity. It is modeled as UIO[Validate[A]] because it is result of collecting data from stream chunk. If any error happens during collecting data or collected data cannot be transformed to wanted information we store error in Invalid data structure which is later transformed to Bad Request response.

    Definition Classes
    Requests → Requests
  15. type RequestHeaders[A] = (Map[String, String]) => Validated[A]

    An attempt to extract an A from a request headers.

    An attempt to extract an A from a request headers.

    Models failure by returning a Left(result). That makes it possible to early return an HTTP response if a header is wrong (e.g. if an authentication information is missing)

    Definition Classes
    Requests → Requests
  16. type Response[A] = (A) => RIO[Blocking, uzhttp.Response]

    An HTTP response (status, headers, and entity) carrying an information of type A

    An HTTP response (status, headers, and entity) carrying an information of type A

    Definition Classes
    Responses → Responses
    Note

    This type has implicit methods provided by the InvariantFunctorSyntax and ResponseSyntax class

  17. type ResponseEntity[A] = (A) => (Array[Byte], String)

    An HTTP response entity carrying an information of type A It is modeled as function that receives A and returns it value serialized to byte array together with content type.

    An HTTP response entity carrying an information of type A It is modeled as function that receives A and returns it value serialized to byte array together with content type.

    Definition Classes
    Responses → Responses
  18. type ResponseHeaders[A] = (A) => List[(String, String)]

    Information carried by responses’ headers.

    Information carried by responses’ headers.

    You can construct values of type ResponseHeaders by using the operations responseHeader, optResponseHeader, or emptyResponseHeaders.

    Definition Classes
    Responses → Responses
    Note

    This type has implicit methods provided by the SemigroupalSyntax and PartialInvariantFunctorSyntax classes.

  19. implicit class ResponseSyntax[A] extends AnyRef
    Definition Classes
    Responses
  20. implicit class SemigroupalSyntax[A, F[_]] extends AnyRef
    Definition Classes
    SemigroupalSyntax
  21. abstract type ServerError
    Definition Classes
    Errors
  22. type StatusCode = Status
    Definition Classes
    StatusCodes → StatusCodes
  23. trait Path[A] extends Url[A]
    Definition Classes
    Urls
  24. trait QueryStringParam[A] extends AnyRef
    Definition Classes
    Urls
  25. trait Segment[A] extends AnyRef
    Definition Classes
    Urls
  26. trait Url[A] extends AnyRef
    Definition Classes
    Urls

Abstract Value Members

  1. abstract def clientErrorsResponseEntity: ResponseEntity[ClientErrors]
    Definition Classes
    Errors
  2. abstract def clientErrorsToInvalid(clientErrors: ClientErrors): Invalid
    Definition Classes
    Errors
  3. abstract def invalidToClientErrors(invalid: Invalid): ClientErrors
    Definition Classes
    Errors
  4. abstract def serverErrorResponseEntity: ResponseEntity[ServerError]
    Definition Classes
    Errors
  5. abstract def serverErrorToThrowable(serverError: ServerError): Throwable
    Definition Classes
    Errors
  6. abstract def throwableToServerError(throwable: Throwable): ServerError
    Definition Classes
    Errors

Concrete 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 Accepted: uzhttp.Status.Accepted
    Definition Classes
    StatusCodes → StatusCodes
  5. def BadRequest: Status
    Definition Classes
    StatusCodes → StatusCodes
  6. def Created: uzhttp.Status.Created
    Definition Classes
    StatusCodes → StatusCodes
  7. def Delete: Method
    Definition Classes
    Methods → Methods
  8. def Forbidden: Status
    Definition Classes
    StatusCodes → StatusCodes
  9. def Get: Method
    Definition Classes
    Methods → Methods
  10. def InternalServerError: Status
    Definition Classes
    StatusCodes → StatusCodes
  11. def NoContent: Status
    Definition Classes
    StatusCodes → StatusCodes
  12. def NotFound: Status
    Definition Classes
    StatusCodes → StatusCodes
  13. def NotImplemented: Status
    Definition Classes
    StatusCodes → StatusCodes
  14. def OK: Ok
    Definition Classes
    StatusCodes → StatusCodes
  15. def Options: Method
    Definition Classes
    Methods → Methods
  16. def Patch: Method
    Definition Classes
    Methods → Methods
  17. def Post: Method
    Definition Classes
    Methods → Methods
  18. def Put: Method
    Definition Classes
    Methods → Methods
  19. def Unauthorized: Status
    Definition Classes
    StatusCodes → StatusCodes
  20. final def asInstanceOf[T0]: T0
    Definition Classes
    Any
  21. final def badRequest[A, R](docs: Documentation, headers: ResponseHeaders[A])(implicit tupler: Tupler.Aux[ClientErrors, A, R]): Response[R]
    Definition Classes
    Responses
  22. implicit def booleanQueryString: QueryStringParam[Boolean]
    Definition Classes
    Urls
  23. def chainPaths[A, B](first: Path[A], second: Path[B])(implicit tupler: Tupler[A, B]): Path[Out]
    Definition Classes
    Urls → Urls
  24. def choiceResponse[A, B](responseA: Response[A], responseB: Response[B]): Response[Either[A, B]]
    Definition Classes
    Responses → Responses
  25. lazy val clientErrorsResponse: Response[ClientErrors]
    Definition Classes
    Errors
  26. def clone(): AnyRef
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.CloneNotSupportedException]) @native()
  27. def combineQueryStrings[A, B](first: QueryString[A], second: QueryString[B])(implicit tupler: Tupler[A, B]): QueryString[Out]

    Concatenates two QueryStrings

    Concatenates two QueryStrings

    Definition Classes
    Urls → Urls
  28. final def delete[UrlP, HeadersP, Out](url: Url[UrlP], docs: Documentation, headers: RequestHeaders[HeadersP])(implicit tuplerUH: Tupler.Aux[UrlP, HeadersP, Out]): Request[Out]
    Definition Classes
    Requests
  29. implicit def doubleQueryString: QueryStringParam[Double]
    Definition Classes
    Urls
  30. implicit def doubleSegment: Segment[Double]
    Definition Classes
    Urls
  31. def emptyRequest: RequestEntity[Unit]
    Definition Classes
    Requests → Requests
  32. def emptyRequestHeaders: RequestHeaders[Unit]

    Always succeeds in extracting no information from the headers

    Always succeeds in extracting no information from the headers

    Definition Classes
    Requests → Requests
  33. def emptyResponse: ResponseEntity[Unit]
    Definition Classes
    Responses → Responses
  34. def emptyResponseHeaders: ResponseHeaders[Unit]
    Definition Classes
    Responses → Responses
  35. def endpoint[A, B](request: Request[A], response: Response[B], docs: EndpointDocs): Endpoint[A, B]
    Definition Classes
    EndpointsWithCustomErrors → EndpointsWithCustomErrors
  36. final def eq(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  37. def equals(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef → Any
  38. def finalize(): Unit
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.Throwable])
  39. final def get[UrlP, HeadersP, Out](url: Url[UrlP], docs: Documentation, headers: RequestHeaders[HeadersP])(implicit tuplerUH: Tupler.Aux[UrlP, HeadersP, Out]): Request[Out]
    Definition Classes
    Requests
  40. final def getClass(): Class[_ <: AnyRef]
    Definition Classes
    AnyRef → Any
    Annotations
    @native()
  41. def handleClientErrors(invalid: Invalid): RIO[Blocking, uzhttp.Response]

    This method is called by endpoints when decoding a request failed.

    This method is called by endpoints when decoding a request failed.

    The provided implementation calls clientErrorsResponse to construct a response containing the errors.

    This method can be overridden to customize the error reporting logic.

  42. def handleServerError(throwable: Throwable): RIO[Blocking, uzhttp.Response]

    This method is called by endpoints when an exception is thrown during request processing.

    This method is called by endpoints when an exception is thrown during request processing.

    The provided implementation calls serverErrorResponse to construct a response containing the error message.

    This method can be overridden to customize the error reporting logic.

  43. def hashCode(): Int
    Definition Classes
    AnyRef → Any
    Annotations
    @native()
  44. implicit def intQueryString: QueryStringParam[Int]
    Definition Classes
    Urls
  45. implicit def intSegment: Segment[Int]
    Definition Classes
    Urls
  46. final def internalServerError[A, R](docs: Documentation, headers: ResponseHeaders[A])(implicit tupler: Tupler.Aux[ServerError, A, R]): Response[R]
    Definition Classes
    Responses
  47. final def isInstanceOf[T0]: Boolean
    Definition Classes
    Any
  48. implicit def longQueryString: QueryStringParam[Long]
    Definition Classes
    Urls
  49. implicit def longSegment: Segment[Long]
    Definition Classes
    Urls
  50. final def ne(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  51. final def notify(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native()
  52. final def notifyAll(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native()
  53. final def ok[A, B, R](entity: ResponseEntity[A], docs: Documentation, headers: ResponseHeaders[B])(implicit tupler: Tupler.Aux[A, B, R]): Response[R]
    Definition Classes
    Responses
  54. def optRequestHeader(name: String, docs: Documentation = None): RequestHeaders[Option[String]]
    Definition Classes
    Requests → Requests
  55. def optResponseHeader(name: String, docs: Documentation = None): ResponseHeaders[Option[String]]

    Response headers optionally containing a header with the given name.

    Response headers optionally containing a header with the given name. Client interpreters should model the header value as Some[String], or None if the response header is missing. Server interpreters should produce such a response header. Documentation interpreters should document this header.

    Definition Classes
    Responses → Responses
  56. implicit def optionalQueryStringParam[A](implicit param: QueryStringParam[A]): QueryStringParam[Option[A]]
    Definition Classes
    Urls → Urls
  57. final def patch[UrlP, BodyP, HeadersP, UrlAndBodyPTupled, Out](url: Url[UrlP], entity: RequestEntity[BodyP], docs: Documentation, headers: RequestHeaders[HeadersP])(implicit tuplerUB: Tupler.Aux[UrlP, BodyP, UrlAndBodyPTupled], tuplerUBH: Tupler.Aux[UrlAndBodyPTupled, HeadersP, Out]): Request[Out]
    Definition Classes
    Requests
  58. val path: Path[Unit]
    Definition Classes
    Urls
  59. implicit def pathPartialInvariantFunctor: PartialInvariantFunctor[Path]
    Definition Classes
    Urls → Urls
  60. final def post[UrlP, BodyP, HeadersP, UrlAndBodyPTupled, Out](url: Url[UrlP], entity: RequestEntity[BodyP], docs: Documentation, headers: RequestHeaders[HeadersP])(implicit tuplerUB: Tupler.Aux[UrlP, BodyP, UrlAndBodyPTupled], tuplerUBH: Tupler.Aux[UrlAndBodyPTupled, HeadersP, Out]): Request[Out]
    Definition Classes
    Requests
  61. final def put[UrlP, BodyP, HeadersP, UrlAndBodyPTupled, Out](url: Url[UrlP], entity: RequestEntity[BodyP], docs: Documentation, headers: RequestHeaders[HeadersP])(implicit tuplerUB: Tupler.Aux[UrlP, BodyP, UrlAndBodyPTupled], tuplerUBH: Tupler.Aux[UrlAndBodyPTupled, HeadersP, Out]): Request[Out]
    Definition Classes
    Requests
  62. def qs[A](name: String, docs: Documentation)(implicit value: QueryStringParam[A]): (Params) => Validated[A]
    Definition Classes
    Urls → Urls
  63. implicit lazy val queryStringParamPartialInvariantFunctor: PartialInvariantFunctor[QueryStringParam]
    Definition Classes
    Urls → Urls
  64. implicit def queryStringPartialInvariantFunctor: PartialInvariantFunctor[QueryString]
    Definition Classes
    Urls → Urls
  65. def remainingSegments(name: String = "", docs: Documentation = None): Path[String]
    Definition Classes
    Urls → Urls
  66. implicit def repeatedQueryStringParam[A, CC[X] <: Iterable[X]](implicit param: QueryStringParam[A], factory: Factory[A, CC[A]]): QueryStringParam[CC[A]]
    Definition Classes
    Urls → Urls
  67. def request[UrlP, BodyP, HeadersP, UrlAndBodyPTupled, Out](method: Method, url: Url[UrlP], entity: RequestEntity[BodyP] = emptyRequest, docs: Documentation = None, headers: RequestHeaders[HeadersP] = emptyRequestHeaders)(implicit tuplerUB: Tupler.Aux[UrlP, BodyP, UrlAndBodyPTupled], tuplerUBH: Tupler.Aux[UrlAndBodyPTupled, HeadersP, Out]): Request[Out]
    Definition Classes
    Requests → Requests
  68. implicit def requestEntityPartialInvariantFunctor: PartialInvariantFunctor[RequestEntity]
    Definition Classes
    Requests → Requests
  69. def requestHeader(name: String, docs: Documentation = None): RequestHeaders[String]
    Definition Classes
    Requests → Requests
  70. implicit lazy val requestHeadersPartialInvariantFunctor: PartialInvariantFunctor[RequestHeaders]
    Definition Classes
    Requests → Requests
  71. implicit lazy val requestHeadersSemigroupal: Semigroupal[RequestHeaders]
    Definition Classes
    Requests → Requests
  72. implicit def requestPartialInvariantFunctor: PartialInvariantFunctor[Request]
    Definition Classes
    Requests → Requests
  73. def response[A, B, R](statusCode: StatusCode, entity: ResponseEntity[A], docs: Documentation, headers: ResponseHeaders[B])(implicit tupler: Tupler.Aux[A, B, R]): Response[R]

    Server interpreters construct a response with the given status and entity.

    Server interpreters construct a response with the given status and entity. Client interpreters accept a response only if it has a corresponding status code.

    statusCode

    Response status code

    entity

    Response entity

    docs

    Response documentation

    headers

    Response headers

    Definition Classes
    Responses → Responses
  74. implicit lazy val responseEntityInvariantFunctor: InvariantFunctor[ResponseEntity]
    Definition Classes
    Responses → Responses
  75. def responseHeader(name: String, docs: Documentation = None): ResponseHeaders[String]

    Response headers containing a header with the given name.

    Response headers containing a header with the given name. Client interpreters should model the header value as String, or fail if the response header is missing. Server interpreters should produce such a response header. Documentation interpreters should document this header.

    Example:

    val versionedResource: Endpoint[Unit, (SomeResource, String)] =
      endpoint(
        get(path / "versioned-resource"),
        ok(
          jsonResponse[SomeResource],
          headers = responseHeader("ETag")
        )
      )
    Definition Classes
    Responses → Responses
  76. implicit lazy val responseHeadersInvariantFunctor: PartialInvariantFunctor[ResponseHeaders]
    Definition Classes
    Responses → Responses
  77. implicit lazy val responseHeadersSemigroupal: Semigroupal[ResponseHeaders]
    Definition Classes
    Responses → Responses
  78. implicit lazy val responseInvariantFunctor: InvariantFunctor[Response]
    Definition Classes
    Responses → Responses
  79. def segment[A](name: String = "", docs: Documentation = None)(implicit A: Segment[A]): Path[A]
    Definition Classes
    Urls → Urls
  80. implicit lazy val segmentPartialInvariantFunctor: PartialInvariantFunctor[Segment]
    Definition Classes
    Urls → Urls
  81. lazy val serverErrorResponse: Response[ServerError]
    Definition Classes
    Errors
  82. def staticPathSegment(segment: String): Path[Unit]
    Definition Classes
    Urls → Urls
  83. implicit def stringQueryString: QueryStringParam[String]
    Definition Classes
    Urls → Urls
  84. implicit val stringSegment: Segment[String]
    Definition Classes
    Urls → Urls
  85. final def synchronized[T0](arg0: => T0): T0
    Definition Classes
    AnyRef
  86. def textRequest: RequestEntity[String]
    Definition Classes
    Requests → Requests
  87. def textResponse: ResponseEntity[String]
    Definition Classes
    Responses → Responses
  88. def toString(): String
    Definition Classes
    AnyRef → Any
  89. implicit def urlPartialInvariantFunctor: PartialInvariantFunctor[Url]
    Definition Classes
    Urls → Urls
  90. def urlWithQueryString[A, B](path: Path[A], qs: QueryString[B])(implicit tupler: Tupler[A, B]): Url[Out]

    Builds an URL from the given path and query string

    Builds an URL from the given path and query string

    Definition Classes
    Urls → Urls
  91. val utf8Name: String
    Definition Classes
    Urls
  92. implicit def uuidQueryString: QueryStringParam[UUID]
    Definition Classes
    Urls
  93. implicit def uuidSegment: Segment[UUID]
    Definition Classes
    Urls
  94. final def wait(): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException])
  95. final def wait(arg0: Long, arg1: Int): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException])
  96. final def wait(arg0: Long): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException]) @native()
  97. final def wheneverFound[A](responseA: Response[A], notFoundDocs: Documentation): Response[Option[A]]
    Definition Classes
    Responses

Inherited from Responses

Inherited from StatusCodes

Inherited from Requests

Inherited from Urls

Inherited from Methods

Inherited from algebra.EndpointsWithCustomErrors

Inherited from Errors

Inherited from algebra.Responses

Inherited from algebra.StatusCodes

Inherited from algebra.Requests

Inherited from endpoints.SemigroupalSyntax

Inherited from algebra.Methods

Inherited from algebra.Urls

Inherited from endpoints.PartialInvariantFunctorSyntax

Inherited from endpoints.InvariantFunctorSyntax

Inherited from AnyRef

Inherited from Any

operations

types

Ungrouped