trait Responses extends algebra.Responses with StatusCodes with Headers
Interpreter for algebra.Responses
- Self Type
- Responses with Errors
- Source
- Responses.scala
- Grouped
- Alphabetic
- By Inheritance
- Responses
- Headers
- StatusCodes
- Responses
- InvariantFunctorSyntax
- StatusCodes
- AnyRef
- Any
- by StringFormat
- by Ensuring
- by ArrowAssoc
- Hide All
- Show All
- Public
- Protected
Type Members
- implicit class InvariantFunctorSyntax[A, F[_]] extends AnyRef
Extension methods for values of type
F[A]
for which there is an implicitInvariantFunctor[F]
instance.Extension methods for values of type
F[A]
for which there is an implicitInvariantFunctor[F]
instance.- Definition Classes
- InvariantFunctorSyntax
- implicit class ResponseSyntax[A] extends AnyRef
Extension methods for Response.
- case class DocumentedHeader(name: String, description: Option[String], required: Boolean, schema: Schema) extends Product with Serializable
- Definition Classes
- Headers
- case class DocumentedHeaders(value: List[DocumentedHeader]) extends Product with Serializable
- value
List of request header names (e.g. “Authorization”)
- Definition Classes
- Headers
- case class DocumentedResponse(status: (Responses.this)#StatusCode, documentation: String, headers: (Responses.this)#DocumentedHeaders, content: Map[String, MediaType]) extends Product with Serializable
- status
Response status code (e.g. OK or NotFound)
- documentation
Human readable documentation. Not optional because its required by openapi
- headers
Response headers documentation
- content
Map that associates each possible content-type (e.g. “text/html”) with a
MediaType
description
- type Response[A] = List[(Responses.this)#DocumentedResponse]
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 classes
- type ResponseEntity[A] = Map[String, MediaType]
An HTTP response entity carrying an information of type A
An HTTP response entity carrying an information of type A
- Definition Classes
- Responses → Responses
- Note
This type has implicit methods provided by the InvariantFunctorSyntax class
- type ResponseHeaders[A] = (Responses.this)#DocumentedHeaders
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 InvariantFunctorSyntax classes.
- type StatusCode = Int
HTTP Status Code
HTTP Status Code
- Definition Classes
- StatusCodes → StatusCodes
Value Members
- final def !=(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
- final def ##(): Int
- Definition Classes
- AnyRef → Any
- def ->[B](y: B): (Responses, B)
- final def ==(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
- def Accepted: Int
- Definition Classes
- StatusCodes → StatusCodes
- def BadRequest: Int
- Definition Classes
- StatusCodes → StatusCodes
- Note
You should use the
badRequest
constructor provided by the endpoints.algebra.Responses trait to ensure that errors produced by endpoints are consistently handled by interpreters.
- def Created: Int
- Definition Classes
- StatusCodes → StatusCodes
- def Forbidden: Int
- Definition Classes
- StatusCodes → StatusCodes
- def InternalServerError: Int
- Definition Classes
- StatusCodes → StatusCodes
- Note
You should use the
internalServerError
constructor provided by the endpoints.algebra.Responses trait to ensure that errors produced by endpoints are consistently handled by interpreters.
- def NoContent: Int
- Definition Classes
- StatusCodes → StatusCodes
- def NotFound: Int
- Definition Classes
- StatusCodes → StatusCodes
- def NotImplemented: Int
- Definition Classes
- StatusCodes → StatusCodes
- def OK: Int
- Definition Classes
- StatusCodes → StatusCodes
- def Unauthorized: Int
- Definition Classes
- StatusCodes → StatusCodes
- final def asInstanceOf[T0]: T0
- Definition Classes
- Any
- final def badRequest[A, R](docs: Documentation = None, headers: (Responses.this)#ResponseHeaders[A] = emptyResponseHeaders)(implicit tupler: Tupler.Aux[(Responses.this)#ClientErrors, A, R]): (Responses.this)#Response[R]
Bad Request (400) response, with an entity of type
ClientErrors
.Bad Request (400) response, with an entity of type
ClientErrors
.- Definition Classes
- Responses
- See also
endpoints.algebra.Errors and endpoints.algebra.BuiltInErrors
- def choiceResponse[A, B](responseA: (Responses.this)#Response[A], responseB: (Responses.this)#Response[B]): (Responses.this)#Response[Either[A, B]]
Alternative between two possible choices of responses.
- def clone(): AnyRef
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.CloneNotSupportedException]) @native()
- def emptyResponse: (Responses.this)#ResponseEntity[Unit]
Empty response entity
- def emptyResponseHeaders: (Responses.this)#ResponseHeaders[Unit]
No particular response header.
- def ensuring(cond: (Responses) => Boolean, msg: => Any): Responses
- def ensuring(cond: (Responses) => Boolean): Responses
- def ensuring(cond: Boolean, msg: => Any): Responses
- def ensuring(cond: Boolean): Responses
- final def eq(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- def equals(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef → Any
- def finalize(): Unit
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.Throwable])
- def formatted(fmtstr: String): String
- final def getClass(): Class[_ <: AnyRef]
- Definition Classes
- AnyRef → Any
- Annotations
- @native()
- def hashCode(): Int
- Definition Classes
- AnyRef → Any
- Annotations
- @native()
- final def internalServerError[A, R](docs: Documentation = None, headers: (Responses.this)#ResponseHeaders[A] = emptyResponseHeaders)(implicit tupler: Tupler.Aux[(Responses.this)#ServerError, A, R]): (Responses.this)#Response[R]
Internal Server Error (500) response, with an entity of type
ServerError
.Internal Server Error (500) response, with an entity of type
ServerError
.- Definition Classes
- Responses
- See also
endpoints.algebra.Errors and endpoints.algebra.BuiltInErrors
- final def isInstanceOf[T0]: Boolean
- Definition Classes
- Any
- final def ne(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- final def notify(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native()
- final def notifyAll(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native()
- final def ok[A, B, R](entity: (Responses.this)#ResponseEntity[A], docs: Documentation = None, headers: (Responses.this)#ResponseHeaders[B] = emptyResponseHeaders)(implicit tupler: Tupler.Aux[A, B, R]): (Responses.this)#Response[R]
OK (200) Response with the given entity
OK (200) Response with the given entity
- Definition Classes
- Responses
- def optResponseHeader(name: String, docs: Documentation = None): (Responses.this)#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 asSome[String]
, orNone
if the response header is missing. Server interpreters should produce such a response header. Documentation interpreters should document this header. - def response[A, B, R](statusCode: (Responses.this)#StatusCode, entity: (Responses.this)#ResponseEntity[A], docs: Documentation = None, headers: (Responses.this)#ResponseHeaders[B])(implicit tupler: Tupler.Aux[A, B, R]): (Responses.this)#Response[R]
Server interpreters construct a response with the given status and entity.
- implicit lazy val responseEntityInvariantFunctor: InvariantFunctor[(Responses.this)#ResponseEntity]
- def responseHeader(name: String, docs: Documentation = None): (Responses.this)#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 asString
, 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") ) )
- implicit def responseHeadersInvariantFunctor: InvariantFunctor[(Responses.this)#ResponseHeaders]
Provides
xmap
operation. - implicit def responseHeadersSemigroupal: Semigroupal[(Responses.this)#ResponseHeaders]
Provides
++
operation. - implicit lazy val responseInvariantFunctor: InvariantFunctor[(Responses.this)#Response]
Provides the operation
xmap
to the typeResponse
- final def synchronized[T0](arg0: => T0): T0
- Definition Classes
- AnyRef
- def textResponse: (Responses.this)#ResponseEntity[String]
Text response entity
- def toString(): String
- Definition Classes
- AnyRef → Any
- final def wait(): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException])
- final def wait(arg0: Long, arg1: Int): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException])
- final def wait(arg0: Long): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException]) @native()
- final def wheneverFound[A](responseA: (Responses.this)#Response[A], notFoundDocs: Documentation = None): (Responses.this)#Response[Option[A]]
Turns a
Response[A]
into aResponse[Option[A]]
.Turns a
Response[A]
into aResponse[Option[A]]
.Interpreters represent
None
with an empty HTTP response whose status code is 404 (Not Found).- Definition Classes
- Responses
Deprecated Value Members
- def →[B](y: B): (Responses, B)
- Implicit
- This member is added by an implicit conversion from Responses toArrowAssoc[Responses] performed by method ArrowAssoc in scala.Predef.
- Definition Classes
- ArrowAssoc
- Annotations
- @deprecated
- Deprecated
(Since version 2.13.0) Use
->
instead. If you still wish to display it as one character, consider using a font with programming ligatures such as Fira Code.
Inherited from Headers
Inherited from StatusCodes
Inherited from algebra.Responses
Inherited from endpoints.InvariantFunctorSyntax
Inherited from algebra.StatusCodes
Inherited from AnyRef
Inherited from Any
Types
Types introduced by the algebra
Operations
Operations creating and transforming values