trait Endpoints extends algebra.Endpoints with EndpointsWithCustomErrors with BuiltInErrors
Interpreter for algebra.Endpoints that produces an endpoints.openapi.model.OpenApi instance for endpoints, and uses algebra.BuiltInErrors to model client and server errors.
- Source
- Endpoints.scala
- Alphabetic
- By Inheritance
- Endpoints
- BuiltInErrors
- EndpointsWithCustomErrors
- Responses
- StatusCodes
- Requests
- Methods
- Urls
- Endpoints
- BuiltInErrors
- EndpointsWithCustomErrors
- Errors
- Responses
- StatusCodes
- Requests
- SemigroupalSyntax
- Methods
- Urls
- PartialInvariantFunctorSyntax
- InvariantFunctorSyntax
- AnyRef
- Any
- Hide All
- Show All
- Public
- Protected
Type Members
- case class CallbackDocs extends Product with Serializable
- Definition Classes
- EndpointsWithCustomErrors
- type CallbacksDocs = Map[String, CallbackDocs]
- Definition Classes
- EndpointsWithCustomErrors
- type ClientErrors = Invalid
- Definition Classes
- BuiltInErrors → Errors
- type Endpoint[A, B] = DocumentedEndpoint
- Definition Classes
- EndpointsWithCustomErrors → EndpointsWithCustomErrors
- case class EndpointDocs extends Product with Serializable
- Definition Classes
- EndpointsWithCustomErrors
- implicit class InvariantFunctorSyntax[A, F[_]] extends AnyRef
- Definition Classes
- InvariantFunctorSyntax
- implicit class PartialInvariantFunctorSyntax[A, F[_]] extends AnyRef
- Definition Classes
- PartialInvariantFunctorSyntax
- type Path[A] = DocumentedUrl
- Definition Classes
- Urls → Urls
- implicit class PathOps[A] extends AnyRef
- Definition Classes
- Urls
- type QueryString[A] = DocumentedQueryString
- Definition Classes
- Urls → Urls
- type QueryStringParam[A] = DocumentedQueryStringParam
- Definition Classes
- Urls → Urls
- implicit class QueryStringSyntax[A] extends AnyRef
- Definition Classes
- Urls
- type Request[A] = DocumentedRequest
- Definition Classes
- Requests → Requests
- type RequestEntity[A] = Map[String, MediaType]
- Definition Classes
- Requests → Requests
- type RequestHeaders[A] = DocumentedHeaders
- Definition Classes
- Requests → Requests
- type Response[A] = List[DocumentedResponse]
- Definition Classes
- Responses → Responses
- type ResponseEntity[A] = Map[String, MediaType]
- Definition Classes
- Responses → Responses
- implicit class ResponseSyntax[A] extends AnyRef
- Definition Classes
- Responses
- type Segment[A] = Schema
- Definition Classes
- Urls → Urls
- implicit class SemigroupalSyntax[A, F[_]] extends AnyRef
- Definition Classes
- SemigroupalSyntax
- type ServerError = Throwable
- Definition Classes
- BuiltInErrors → Errors
- type StatusCode = Int
- Definition Classes
- StatusCodes → StatusCodes
- type Url[A] = DocumentedUrl
- Definition Classes
- Urls → Urls
- case class DocumentedEndpoint(path: String, item: PathItem) extends Product with Serializable
- path
Path template (e.g. “/user/{id}”)
- item
Item documentation
- Definition Classes
- EndpointsWithCustomErrors
- sealed trait Method extends AnyRef
- Definition Classes
- Methods
- case class DocumentedHeader(name: String, description: Option[String], required: Boolean, schema: Schema) extends Product with Serializable
- Definition Classes
- Requests
- case class DocumentedHeaders(value: List[DocumentedHeader]) extends Product with Serializable
- value
List of request header names (e.g. “Authorization”)
- Definition Classes
- Requests
- case class DocumentedRequest(method: Requests.Method, url: Requests.DocumentedUrl, headers: DocumentedHeaders, documentation: Documentation, entity: Map[String, MediaType]) extends Product with Serializable
- Definition Classes
- Requests
- case class DocumentedResponse(status: (Responses.this)#StatusCode, documentation: String, 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
- content
Map that associates each possible content-type (e.g. “text/html”) with a
MediaType
description
- Definition Classes
- Responses
- case class DocumentedParameter(name: String, required: Boolean, description: Option[String], schema: Schema) extends Product with Serializable
- name
Name of the parameter
- required
Whether this parameter is required or not (MUST be true for path parameters)
- Definition Classes
- Urls
- case class DocumentedQueryString(parameters: List[DocumentedParameter]) extends Product with Serializable
- parameters
List of query string parameters
- Definition Classes
- Urls
- case class DocumentedQueryStringParam(schema: Schema, isRequired: Boolean) extends Product with Serializable
- Definition Classes
- Urls
- case class DocumentedUrl(path: List[Either[String, DocumentedParameter]], queryParameters: List[DocumentedParameter]) extends Product with Serializable
- path
List of path segments. Left is a static segment, right is a path parameter
- queryParameters
Query string parameters
- Definition Classes
- Urls
Value Members
- final def !=(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
- final def ##(): Int
- Definition Classes
- AnyRef → Any
- final def ==(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
- def Accepted: Int
- Definition Classes
- StatusCodes → StatusCodes
- def BadRequest: Int
- Definition Classes
- StatusCodes → StatusCodes
- def Created: Int
- Definition Classes
- StatusCodes → StatusCodes
- def Forbidden: Int
- Definition Classes
- StatusCodes → StatusCodes
- def InternalServerError: Int
- Definition Classes
- StatusCodes → StatusCodes
- 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(docs: Documentation): Response[ClientErrors]
- Definition Classes
- Responses
- def booleanQueryString: QueryStringParam[Boolean]
- Definition Classes
- Urls → Urls
- def chainPaths[A, B](first: Path[A], second: Path[B])(implicit tupler: Tupler[A, B]): Path[Out]
- Definition Classes
- Urls → Urls
- def choiceResponse[A, B](responseA: Response[A], responseB: Response[B]): Response[Either[A, B]]
- Definition Classes
- Responses → Responses
- lazy val clientErrorsResponse: Response[ClientErrors]
- Definition Classes
- Errors
- lazy val clientErrorsResponseEntity: ResponseEntity[Invalid]
- Definition Classes
- BuiltInErrors → BuiltInErrors → Errors
- final def clientErrorsToInvalid(clientErrors: ClientErrors): Invalid
- Definition Classes
- BuiltInErrors → Errors
- def clone(): AnyRef
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.CloneNotSupportedException]) @native()
- def combineQueryStrings[A, B](first: QueryString[A], second: QueryString[B])(implicit tupler: Tupler[A, B]): QueryString[Out]
- Definition Classes
- Urls → Urls
- 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
- def doubleQueryString: QueryStringParam[Double]
- Definition Classes
- Urls → Urls
- def doubleSegment: Segment[Double]
- Definition Classes
- Urls → Urls
- implicit def dummyPathToUrl[A](p: Path[A]): Url[A]
- Definition Classes
- Urls
- def emptyHeaders: DocumentedHeaders
- Definition Classes
- Requests → Requests
- lazy val emptyRequest: Map[String, MediaType]
- Definition Classes
- Requests → Requests
- def emptyResponse: ResponseEntity[Unit]
- Definition Classes
- Responses → Responses
- def endpoint[A, B](request: Request[A], response: Response[B], docs: EndpointDocs = EndpointDocs()): Endpoint[A, B]
- Definition Classes
- EndpointsWithCustomErrors → EndpointsWithCustomErrors
- 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])
- 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
- final def getClass(): Class[_ <: AnyRef]
- Definition Classes
- AnyRef → Any
- Annotations
- @native()
- def hashCode(): Int
- Definition Classes
- AnyRef → Any
- Annotations
- @native()
- def header(name: String, docs: Documentation): RequestHeaders[String]
- Definition Classes
- Requests → Requests
- def intQueryString: QueryStringParam[Int]
- Definition Classes
- Urls → Urls
- def intSegment: Segment[Int]
- Definition Classes
- Urls → Urls
- final def internalServerError(docs: Documentation): Response[ServerError]
- Definition Classes
- Responses
- final def invalidToClientErrors(invalid: Invalid): ClientErrors
- Definition Classes
- BuiltInErrors → Errors
- final def isInstanceOf[T0]: Boolean
- Definition Classes
- Any
- def longQueryString: QueryStringParam[Long]
- Definition Classes
- Urls → Urls
- def longSegment: Segment[Long]
- Definition Classes
- Urls → Urls
- 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](entity: ResponseEntity[A], docs: Documentation): Response[A]
- Definition Classes
- Responses
- def openApi(info: Info)(endpoints: DocumentedEndpoint*): OpenApi
- info
General information about the documentation to generate
- endpoints
The endpoints to generate the documentation for
- returns
An
OpenApi
instance for the given endpoint descriptions
- Definition Classes
- EndpointsWithCustomErrors
- def optHeader(name: String, docs: Documentation): RequestHeaders[Option[String]]
- Definition Classes
- Requests → Requests
- implicit def optionalQueryStringParam[A](implicit param: QueryStringParam[A]): QueryStringParam[Option[A]]
- Definition Classes
- Urls → Urls
- val path: Path[Unit]
- Definition Classes
- Urls
- implicit lazy val pathPartialInvariantFunctor: PartialInvariantFunctor[Path]
- Definition Classes
- Urls → Urls
- 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
- 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
- def qs[A](name: String, docs: Documentation)(implicit value: QueryStringParam[A]): QueryString[A]
- Definition Classes
- Urls → Urls
- implicit lazy val queryStringParamPartialInvFunctor: PartialInvariantFunctor[QueryStringParam]
- Definition Classes
- Urls → Urls
- implicit lazy val queryStringPartialInvFunctor: PartialInvariantFunctor[QueryString]
- Definition Classes
- Urls → Urls
- def remainingSegments(name: String, docs: Documentation): Path[String]
- Definition Classes
- Urls → Urls
- implicit def repeatedQueryStringParam[A, CC[X] <: Iterable[X]](implicit param: QueryStringParam[A], factory: Factory[A, CC[A]]): QueryStringParam[CC[A]]
- Definition Classes
- Urls → Urls
- implicit lazy val reqEntityInvFunctor: InvariantFunctor[RequestEntity]
- Definition Classes
- Requests → Requests
- implicit lazy val reqHeadersInvFunctor: InvariantFunctor[RequestHeaders]
- Definition Classes
- Requests → Requests
- implicit lazy val reqHeadersSemigroupal: Semigroupal[RequestHeaders]
- Definition Classes
- Requests → Requests
- def request[A, B, C, AB, Out](method: Method, url: Url[A], entity: RequestEntity[B] = emptyRequest, docs: Documentation = None, headers: RequestHeaders[C] = emptyHeaders)(implicit tuplerAB: Tupler.Aux[A, B, AB], tuplerABC: Tupler.Aux[AB, C, Out]): Request[Out]
- Definition Classes
- Requests → Requests
- def response[A](statusCode: StatusCode, entity: ResponseEntity[A], docs: Documentation = None): Response[A]
- Definition Classes
- Responses → Responses
- implicit lazy val responseInvFunctor: InvariantFunctor[Response]
- Definition Classes
- Responses → Responses
- def segment[A](name: String, docs: Documentation)(implicit A: Segment[A]): Path[A]
- Definition Classes
- Urls → Urls
- implicit lazy val segmentPartialInvFunctor: PartialInvariantFunctor[Segment]
- Definition Classes
- Urls → Urls
- lazy val serverErrorResponse: Response[ServerError]
- Definition Classes
- Errors
- lazy val serverErrorResponseEntity: ResponseEntity[Throwable]
- Definition Classes
- BuiltInErrors → BuiltInErrors → Errors
- final def serverErrorToThrowable(serverError: ServerError): Throwable
- Definition Classes
- BuiltInErrors → Errors
- def staticPathSegment(segment: String): Path[Unit]
- Definition Classes
- Urls → Urls
- def stringQueryString: QueryStringParam[String]
- Definition Classes
- Urls → Urls
- def stringSegment: Segment[String]
- Definition Classes
- Urls → Urls
- final def synchronized[T0](arg0: => T0): T0
- Definition Classes
- AnyRef
- lazy val textRequest: Map[String, MediaType]
- Definition Classes
- Requests → Requests
- def textResponse: ResponseEntity[String]
- Definition Classes
- Responses → Responses
- final def throwableToServerError(throwable: Throwable): ServerError
- Definition Classes
- BuiltInErrors → Errors
- def toString(): String
- Definition Classes
- AnyRef → Any
- def tryParseString[A](type: String)(parse: (String) => A): (String) => Validated[A]
- Definition Classes
- Urls
- implicit lazy val urlPartialInvFunctor: PartialInvariantFunctor[Url]
- Definition Classes
- Urls → Urls
- def urlWithQueryString[A, B](path: Path[A], qs: QueryString[B])(implicit tupler: Tupler[A, B]): Url[Out]
- Definition Classes
- Urls → Urls
- def uuidQueryString: QueryStringParam[UUID]
- Definition Classes
- Urls → Urls
- def uuidSegment: Segment[UUID]
- Definition Classes
- Urls → Urls
- 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: Response[A], notFoundDocs: Documentation): Response[Option[A]]
- Definition Classes
- Responses
- object Delete extends Method with Product with Serializable
- Definition Classes
- Methods → Methods
- object Get extends Method with Product with Serializable
- Definition Classes
- Methods → Methods
- object Options extends Method with Product with Serializable
- Definition Classes
- Methods → Methods
- object Patch extends Method with Product with Serializable
- Definition Classes
- Methods → Methods
- object Post extends Method with Product with Serializable
- Definition Classes
- Methods → Methods
- object Put extends Method with Product with Serializable
- Definition Classes
- Methods → Methods