t

endpoints.uzhttp.server

JsonEntitiesFromCodecs

trait JsonEntitiesFromCodecs extends algebra.JsonEntitiesFromCodecs with Endpoints

Linear Supertypes
Endpoints, BuiltInErrors, EndpointsWithCustomErrors, Responses, StatusCodes, Requests, Urls, Methods, algebra.Endpoints, algebra.BuiltInErrors, algebra.JsonEntitiesFromCodecs, JsonCodecs, JsonEntities, algebra.EndpointsWithCustomErrors, Errors, algebra.Responses, algebra.StatusCodes, algebra.Requests, endpoints.SemigroupalSyntax, algebra.Methods, algebra.Urls, endpoints.PartialInvariantFunctorSyntax, endpoints.InvariantFunctorSyntax, AnyRef, Any
Known Subclasses
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. JsonEntitiesFromCodecs
  2. Endpoints
  3. BuiltInErrors
  4. EndpointsWithCustomErrors
  5. Responses
  6. StatusCodes
  7. Requests
  8. Urls
  9. Methods
  10. Endpoints
  11. BuiltInErrors
  12. JsonEntitiesFromCodecs
  13. JsonCodecs
  14. JsonEntities
  15. EndpointsWithCustomErrors
  16. Errors
  17. Responses
  18. StatusCodes
  19. Requests
  20. SemigroupalSyntax
  21. Methods
  22. Urls
  23. PartialInvariantFunctorSyntax
  24. InvariantFunctorSyntax
  25. AnyRef
  26. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. Protected

Type Members

  1. case class Endpoint[A, B](request: EndpointsWithCustomErrors.Request[A], response: EndpointsWithCustomErrors.Response[B]) extends Product with Serializable
    Definition Classes
    EndpointsWithCustomErrors
  2. case class CallbackDocs extends Product with Serializable
    Definition Classes
    EndpointsWithCustomErrors
  3. type CallbacksDocs = Map[String, CallbackDocs]
    Definition Classes
    EndpointsWithCustomErrors
  4. type ClientErrors = Invalid
    Definition Classes
    BuiltInErrors → Errors
  5. case class EndpointDocs extends Product with Serializable
    Definition Classes
    EndpointsWithCustomErrors
  6. implicit class InvariantFunctorSyntax[A, F[_]] extends AnyRef
    Definition Classes
    InvariantFunctorSyntax
  7. abstract type JsonCodec[A]
    Definition Classes
    JsonCodecs
  8. type JsonRequest[A] = JsonCodec[A]
    Definition Classes
    JsonCodecs → JsonEntities
  9. type JsonResponse[A] = JsonCodec[A]
    Definition Classes
    JsonCodecs → JsonEntities
  10. type Method = uzhttp.Request.Method
    Definition Classes
    Methods → Methods
  11. type Params = Map[String, Seq[String]]
    Definition Classes
    Urls
  12. implicit class PartialInvariantFunctorSyntax[A, F[_]] extends AnyRef
    Definition Classes
    PartialInvariantFunctorSyntax
  13. implicit class PathOps[A] extends AnyRef
    Definition Classes
    Urls
  14. type QueryString[A] = (Params) => Validated[A]
    Definition Classes
    Urls → Urls
  15. implicit class QueryStringSyntax[A] extends AnyRef
    Definition Classes
    Urls
  16. 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
  17. 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
  18. 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
  19. 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

  20. 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
  21. 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.

  22. implicit class ResponseSyntax[A] extends AnyRef
    Definition Classes
    Responses
  23. implicit class SemigroupalSyntax[A, F[_]] extends AnyRef
    Definition Classes
    SemigroupalSyntax
  24. type ServerError = Throwable
    Definition Classes
    BuiltInErrors → Errors
  25. type StatusCode = Status
    Definition Classes
    StatusCodes → StatusCodes
  26. trait Path[A] extends Url[A]
    Definition Classes
    Urls
  27. trait QueryStringParam[A] extends AnyRef
    Definition Classes
    Urls
  28. trait Segment[A] extends AnyRef
    Definition Classes
    Urls
  29. trait Url[A] extends AnyRef
    Definition Classes
    Urls

Abstract Value Members

  1. abstract def stringCodec[A](implicit arg0: JsonCodec[A]): Codec[String, A]
    Definition Classes
    JsonEntitiesFromCodecs

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 clientErrorsResponseEntity: (ClientErrors) => (Array[Byte], String)
    Definition Classes
    BuiltInErrors → BuiltInErrors → Errors
  27. final def clientErrorsToInvalid(clientErrors: ClientErrors): Invalid
    Definition Classes
    BuiltInErrors → Errors
  28. def clone(): AnyRef
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.CloneNotSupportedException]) @native()
  29. 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
  30. 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
  31. implicit def doubleQueryString: QueryStringParam[Double]
    Definition Classes
    Urls
  32. implicit def doubleSegment: Segment[Double]
    Definition Classes
    Urls
  33. def emptyRequest: RequestEntity[Unit]
    Definition Classes
    Requests → Requests
  34. 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
  35. def emptyResponse: ResponseEntity[Unit]
    Definition Classes
    Responses → Responses
  36. def emptyResponseHeaders: ResponseHeaders[Unit]
    Definition Classes
    Responses → Responses
  37. def endpoint[A, B](request: Request[A], response: Response[B], docs: EndpointDocs): Endpoint[A, B]
    Definition Classes
    EndpointsWithCustomErrors → EndpointsWithCustomErrors
  38. final def eq(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  39. def equals(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef → Any
  40. def finalize(): Unit
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.Throwable])
  41. 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
  42. final def getClass(): Class[_ <: AnyRef]
    Definition Classes
    AnyRef → Any
    Annotations
    @native()
  43. 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.

    Definition Classes
    EndpointsWithCustomErrors
  44. 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.

    Definition Classes
    EndpointsWithCustomErrors
  45. def hashCode(): Int
    Definition Classes
    AnyRef → Any
    Annotations
    @native()
  46. implicit def intQueryString: QueryStringParam[Int]
    Definition Classes
    Urls
  47. implicit def intSegment: Segment[Int]
    Definition Classes
    Urls
  48. final def internalServerError[A, R](docs: Documentation, headers: ResponseHeaders[A])(implicit tupler: Tupler.Aux[ServerError, A, R]): Response[R]
    Definition Classes
    Responses
  49. final def invalidToClientErrors(invalid: Invalid): ClientErrors
    Definition Classes
    BuiltInErrors → Errors
  50. final def isInstanceOf[T0]: Boolean
    Definition Classes
    Any
  51. def jsonRequest[A](implicit arg0: JsonCodec[A]): (uzhttp.Request) => UIO[Validated[A]]

    Defines a RequestEntity[A] given an implicit JsonRequest[A]

    Defines a RequestEntity[A] given an implicit JsonRequest[A]

    Definition Classes
    JsonEntitiesFromCodecs → JsonEntities
  52. def jsonResponse[A](implicit arg0: JsonCodec[A]): (A) => (Array[Byte], String)

    Defines a Response[A] given an implicit JsonResponse[A]

    Defines a Response[A] given an implicit JsonResponse[A]

    Definition Classes
    JsonEntitiesFromCodecs → JsonEntities
  53. implicit def longQueryString: QueryStringParam[Long]
    Definition Classes
    Urls
  54. implicit def longSegment: Segment[Long]
    Definition Classes
    Urls
  55. final def ne(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  56. final def notify(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native()
  57. final def notifyAll(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native()
  58. 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
  59. def optRequestHeader(name: String, docs: Documentation = None): RequestHeaders[Option[String]]
    Definition Classes
    Requests → Requests
  60. 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
  61. implicit def optionalQueryStringParam[A](implicit param: QueryStringParam[A]): QueryStringParam[Option[A]]
    Definition Classes
    Urls → Urls
  62. 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
  63. val path: Path[Unit]
    Definition Classes
    Urls
  64. implicit def pathPartialInvariantFunctor: PartialInvariantFunctor[Path]
    Definition Classes
    Urls → Urls
  65. 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
  66. 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
  67. def qs[A](name: String, docs: Documentation)(implicit value: QueryStringParam[A]): (Params) => Validated[A]
    Definition Classes
    Urls → Urls
  68. implicit lazy val queryStringParamPartialInvariantFunctor: PartialInvariantFunctor[QueryStringParam]
    Definition Classes
    Urls → Urls
  69. implicit def queryStringPartialInvariantFunctor: PartialInvariantFunctor[QueryString]
    Definition Classes
    Urls → Urls
  70. def remainingSegments(name: String = "", docs: Documentation = None): Path[String]
    Definition Classes
    Urls → Urls
  71. implicit def repeatedQueryStringParam[A, CC[X] <: Iterable[X]](implicit param: QueryStringParam[A], factory: Factory[A, CC[A]]): QueryStringParam[CC[A]]
    Definition Classes
    Urls → Urls
  72. 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
  73. implicit def requestEntityPartialInvariantFunctor: PartialInvariantFunctor[RequestEntity]
    Definition Classes
    Requests → Requests
  74. def requestHeader(name: String, docs: Documentation = None): RequestHeaders[String]
    Definition Classes
    Requests → Requests
  75. implicit lazy val requestHeadersPartialInvariantFunctor: PartialInvariantFunctor[RequestHeaders]
    Definition Classes
    Requests → Requests
  76. implicit lazy val requestHeadersSemigroupal: Semigroupal[RequestHeaders]
    Definition Classes
    Requests → Requests
  77. implicit def requestPartialInvariantFunctor: PartialInvariantFunctor[Request]
    Definition Classes
    Requests → Requests
  78. 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
  79. implicit lazy val responseEntityInvariantFunctor: InvariantFunctor[ResponseEntity]
    Definition Classes
    Responses → Responses
  80. 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
  81. implicit lazy val responseHeadersInvariantFunctor: PartialInvariantFunctor[ResponseHeaders]
    Definition Classes
    Responses → Responses
  82. implicit lazy val responseHeadersSemigroupal: Semigroupal[ResponseHeaders]
    Definition Classes
    Responses → Responses
  83. implicit lazy val responseInvariantFunctor: InvariantFunctor[Response]
    Definition Classes
    Responses → Responses
  84. def segment[A](name: String = "", docs: Documentation = None)(implicit A: Segment[A]): Path[A]
    Definition Classes
    Urls → Urls
  85. implicit lazy val segmentPartialInvariantFunctor: PartialInvariantFunctor[Segment]
    Definition Classes
    Urls → Urls
  86. lazy val serverErrorResponse: Response[ServerError]
    Definition Classes
    Errors
  87. def serverErrorResponseEntity: (ServerError) => (Array[Byte], String)
    Definition Classes
    BuiltInErrors → BuiltInErrors → Errors
  88. final def serverErrorToThrowable(serverError: ServerError): Throwable
    Definition Classes
    BuiltInErrors → Errors
  89. def staticPathSegment(segment: String): Path[Unit]
    Definition Classes
    Urls → Urls
  90. implicit def stringQueryString: QueryStringParam[String]
    Definition Classes
    Urls → Urls
  91. implicit val stringSegment: Segment[String]
    Definition Classes
    Urls → Urls
  92. final def synchronized[T0](arg0: => T0): T0
    Definition Classes
    AnyRef
  93. def textRequest: RequestEntity[String]
    Definition Classes
    Requests → Requests
  94. def textResponse: ResponseEntity[String]
    Definition Classes
    Responses → Responses
  95. final def throwableToServerError(throwable: Throwable): ServerError
    Definition Classes
    BuiltInErrors → Errors
  96. def toString(): String
    Definition Classes
    AnyRef → Any
  97. implicit def urlPartialInvariantFunctor: PartialInvariantFunctor[Url]
    Definition Classes
    Urls → Urls
  98. 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
  99. val utf8Name: String
    Definition Classes
    Urls
  100. implicit def uuidQueryString: QueryStringParam[UUID]
    Definition Classes
    Urls
  101. implicit def uuidSegment: Segment[UUID]
    Definition Classes
    Urls
  102. final def wait(): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException])
  103. final def wait(arg0: Long, arg1: Int): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException])
  104. final def wait(arg0: Long): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException]) @native()
  105. final def wheneverFound[A](responseA: Response[A], notFoundDocs: Documentation): Response[Option[A]]
    Definition Classes
    Responses

Inherited from Endpoints

Inherited from BuiltInErrors

Inherited from Responses

Inherited from StatusCodes

Inherited from Requests

Inherited from Urls

Inherited from Methods

Inherited from algebra.Endpoints

Inherited from algebra.BuiltInErrors

Inherited from algebra.JsonEntitiesFromCodecs

Inherited from JsonCodecs

Inherited from JsonEntities

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