trait MuxEndpoints extends EndpointsWithCustomErrors
Algebra interface for describing endpoints such that one endpoint can handle several types of requests and responses.
- Source
 - MuxEndpoints.scala
 
- Grouped
 - Alphabetic
 - By Inheritance
 
- MuxEndpoints
 - EndpointsWithCustomErrors
 - Errors
 - Responses
 - StatusCodes
 - Requests
 - SemigroupalSyntax
 - Methods
 - Urls
 - PartialInvariantFunctorSyntax
 - InvariantFunctorSyntax
 - AnyRef
 - Any
 
- by any2stringadd
 - 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 PartialInvariantFunctorSyntax[A, F[_]] extends AnyRef
- Definition Classes
 - PartialInvariantFunctorSyntax
 
 -   implicit  class SemigroupalSyntax[A, F[_]] extends AnyRef
- Definition Classes
 - SemigroupalSyntax
 
 -   final  class CallbackDocs extends Serializable
- Definition Classes
 - EndpointsWithCustomErrors
 
 -   final  class EndpointDocs extends Serializable
- Definition Classes
 - EndpointsWithCustomErrors
 
 -   implicit final  class EndpointSyntax[A, B] extends AnyRef
Extension methods for Endpoint.
Extension methods for Endpoint.
- Definition Classes
 - EndpointsWithCustomErrors
 
 -    type CallbacksDocs = Map[String, CallbackDocs]
Callbacks indexed by URL pattern
Callbacks indexed by URL pattern
- Definition Classes
 - EndpointsWithCustomErrors
 - See also
 Swagger Documentation at https://swagger.io/docs/specification/callbacks/
 -   abstract  type ClientErrors
Errors in a request built by a client
Errors in a request built by a client
- Definition Classes
 - Errors
 
 -   abstract  type Endpoint[A, B]
Information carried by an HTTP endpoint
Information carried by an HTTP endpoint
Values of type Endpoint can be constructed by using the operation endpoint.
- Definition Classes
 - EndpointsWithCustomErrors
 - Note
 This type has implicit methods provided by the EndpointSyntax class
 -   abstract  type Method
HTTP Method
HTTP Method
- Definition Classes
 - Methods
 
 -   abstract  type MuxEndpoint[Req <: MuxRequest, Resp, Transport]
Information carried by a multiplexed HTTP endpoint.
 -   abstract  type Path[A] <: Url[A]
An URL path carrying an
AinformationAn URL path carrying an
AinformationValues of type
Path[A]can be constructed by the operations path, segment, and remainingSegments.path / "user" / segment[UUID]("id")
- Server interpreters raise an error if they can’t parse the incoming
    request path as a value of type 
A. By default, they produce a Bad Request (400) response with a list of error messages in a JSON array. Refer to the documentation of your server interpreter to customize this behavior. 
- Definition Classes
 - Urls
 - Note
 This type has implicit methods provided by the PathOps, InvariantFunctorSyntax, and the PartialInvariantFunctorSyntax classes.
 - Server interpreters raise an error if they can’t parse the incoming
    request path as a value of type 
 -   abstract  type QueryString[A]
A query string carrying an
AinformationA query string carrying an
AinformationQueryString values can be created with the qs operation, and can be combined with the
&operation:val queryPageAndLang: QueryString[(Int, Option[String])] = qs[Int]("page") & qs[Option[String]]("lang")
- Server interpreters raise an error if they can’t parse the incoming
    request query string parameters as a value of type 
A. By default, they produce a Bad Request (400) response with a list of error messages in a JSON array. Refer to the documentation of your server interpreter to customize this behavior. 
- Definition Classes
 - Urls
 - Note
 This type has implicit methods provided by the QueryStringSyntax, InvariantFunctorSyntax, and the PartialInvariantFunctorSyntax classes.
 - Server interpreters raise an error if they can’t parse the incoming
    request query string parameters as a value of type 
 -   abstract  type QueryStringParam[A]
A query string parameter codec for type
A.A query string parameter codec for type
A.The trait
Urlsprovides implicit instances of typeQueryStringParam[A]for basic types (e.g.,Int,String, etc.). You can create additional instances by transforming or refining the existing instances withxmapandxmapPartial.- Definition Classes
 - Urls
 - Note
 This type has implicit methods provided by the PartialInvariantFunctorSyntax and the InvariantFunctorSyntax classes.
 -   abstract  type Request[A]
Information carried by a whole request (headers and entity)
Information carried by a whole request (headers and entity)
Values of type
Request[A]can be constructed by using the operations request, get, post, put, or delete.- Server interpreters raise an error if they can’t parse the incoming
    request as a value of type 
A. By default, they produce a Bad Request (400) response with a list of error messages in a JSON array. Refer to the documentation of your server interpreter to customize this behavior. 
- Definition Classes
 - Requests
 - Note
 This type has implicit methods provided by the PartialInvariantFunctorSyntax and RequestSyntax classes.
 - Server interpreters raise an error if they can’t parse the incoming
    request as a value of type 
 -   abstract  type RequestEntity[A]
Information carried by request entity
Information carried by request entity
Values of type
RequestEntity[A]can be constructed by using the operations emptyRequest or textRequest. Additional types of request entities are provided by other algebra modules, such as JsonEntities or ChunkedEntities.- Server interpreters raise an error if they can’t parse the incoming
    request entity as a value of type 
A. By default, they produce a Bad Request (400) response with a list of error messages in a JSON array. Refer to the documentation of your server interpreter to customize this behavior. 
- Definition Classes
 - Requests
 - Note
 This type has implicit methods provided by the PartialInvariantFunctorSyntax and RequestEntitySyntax classes.
 - Server interpreters raise an error if they can’t parse the incoming
    request entity as a value of type 
 -   abstract  type RequestHeaders[A]
Information carried by requests’ headers.
Information carried by requests’ headers.
You can construct values of type
RequestHeadersby using the operations requestHeader, optRequestHeader, or emptyRequestHeaders.- Server interpreters raise an error if they can’t parse the incoming
    request headers as a value of type 
A. By default, they produce a Bad Request (400) response with a list of error messages in a JSON array. Refer to the documentation of your server interpreter to customize this behavior. 
- Definition Classes
 - Requests
 - Note
 This type has implicit methods provided by the SemigroupalSyntax and PartialInvariantFunctorSyntax classes.
 - Server interpreters raise an error if they can’t parse the incoming
    request headers as a value of type 
 -   abstract  type Response[A]
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
Values of type
Response[A]can be constructed by using the operations ok, badRequest, internalServerError, or the more general operation response.- Definition Classes
 - Responses
 - Note
 This type has implicit methods provided by the InvariantFunctorSyntax and ResponseSyntax classes
 -   abstract  type ResponseEntity[A]
An HTTP response entity carrying an information of type A
An HTTP response entity carrying an information of type A
Values of type ResponseEntity can be constructed by using the operations emptyResponse or textResponse. Additional types of response entities are provided by other algebra modules, such as JsonEntities or ChunkedEntities.
- Definition Classes
 - Responses
 - Note
 This type has implicit methods provided by the InvariantFunctorSyntax class
 -   abstract  type ResponseHeaders[A]
Information carried by responses’ headers.
Information carried by responses’ headers.
You can construct values of type
ResponseHeadersby using the operations responseHeader, optResponseHeader, or emptyResponseHeaders.- Definition Classes
 - Responses
 - Note
 This type has implicit methods provided by the SemigroupalSyntax and InvariantFunctorSyntax classes.
 -   abstract  type Segment[A]
An URL path segment codec for type
A.An URL path segment codec for type
A.The trait
Urlsprovides implicit instances ofSegment[A]for basic types (e.g.,Int,String, etc.). You can create additional instances by transforming or refining the existing instances withxmapandxmapPartial.- Definition Classes
 - Urls
 - Note
 This type has implicit methods provided by the PartialInvariantFunctorSyntax and the InvariantFunctorSyntax classes.
 -   abstract  type ServerError
Error raised by the business logic of a server
Error raised by the business logic of a server
- Definition Classes
 - Errors
 
 -   abstract  type StatusCode
HTTP Status Code
HTTP Status Code
- Definition Classes
 - StatusCodes
 
 -   abstract  type Url[A]
An URL carrying an
AinformationAn URL carrying an
AinformationValues of type
URL[A]are typically constructed by first using the path constructor and then chaining it with segments and query parameters.path / "users" / segment[UUID]("id") /? qs[String]("apiKey")
- Server interpreters raise an error if they can’t parse the incoming
    request URL as a value of type 
A. By default, they produce a Bad Request (400) response with a list of error messages in a JSON array. Refer to the documentation of your server interpreter to customize this behavior. 
- Definition Classes
 - Urls
 - Note
 This type has implicit methods provided by the PartialInvariantFunctorSyntax and InvariantFunctorSyntax classes.
 - Server interpreters raise an error if they can’t parse the incoming
    request URL as a value of type 
 -   abstract  type WithDefault[A]
This type is necessary to express different perspectives of servers and clients on optional query string parameters with default value:
This type is necessary to express different perspectives of servers and clients on optional query string parameters with default value:
- Client interpreters should define it as 
Option[A]and omit query string parameters with default value that are empty - Server interpreters should define it as 
Aand accept incoming requests whose query string parameters with default value are missing, while providing the defined default value - Documentation interpreters should mark the parameter as optional and document the provided default value
 
- Definition Classes
 - Urls
 
 - Client interpreters should define it as 
 -   implicit  class RequestEntitySyntax[A] extends AnyRef
- Definition Classes
 - Requests
 
 -   implicit final  class RequestSyntax[A] extends AnyRef
Extension methods for Request.
 -   implicit  class ResponseSyntax[A] extends AnyRef
Extension methods for Response.
 -   implicit  class PathOps[A] extends AnyRef
Convenient methods for Paths.
 -   implicit  class QueryStringSyntax[A] extends AnyRef
Extension methods on QueryString.
Extension methods on QueryString.
- Definition Classes
 - Urls
 
 
Abstract Value Members
-   abstract  def Accepted: StatusCode
- Definition Classes
 - StatusCodes
 
 -   abstract  def BadRequest: StatusCode
- Definition Classes
 - StatusCodes
 - Note
 You should use the
badRequestconstructor provided by the endpoints4s.algebra.Responses trait to ensure that errors produced by endpoints4s are consistently handled by interpreters.
 -   abstract  def Created: StatusCode
- Definition Classes
 - StatusCodes
 
 -   abstract  def Delete: Method
- Definition Classes
 - Methods
 
 -   abstract  def Forbidden: StatusCode
- Definition Classes
 - StatusCodes
 
 -   abstract  def Get: Method
- Definition Classes
 - Methods
 
 -   abstract  def InternalServerError: StatusCode
- Definition Classes
 - StatusCodes
 - Note
 You should use the
internalServerErrorconstructor provided by the endpoints4s.algebra.Responses trait to ensure that errors produced by endpoints4s are consistently handled by interpreters.
 -   abstract  def NoContent: StatusCode
- Definition Classes
 - StatusCodes
 
 -   abstract  def NotFound: StatusCode
- Definition Classes
 - StatusCodes
 
 -   abstract  def NotImplemented: StatusCode
- Definition Classes
 - StatusCodes
 
 -   abstract  def OK: StatusCode
- Definition Classes
 - StatusCodes
 
 -   abstract  def Options: Method
- Definition Classes
 - Methods
 
 -   abstract  def Patch: Method
- Definition Classes
 - Methods
 
 -   abstract  def PayloadTooLarge: StatusCode
- Definition Classes
 - StatusCodes
 
 -   abstract  def Post: Method
- Definition Classes
 - Methods
 
 -   abstract  def Put: Method
- Definition Classes
 - Methods
 
 -   abstract  def TooManyRequests: StatusCode
- Definition Classes
 - StatusCodes
 
 -   abstract  def Unauthorized: StatusCode
- Definition Classes
 - StatusCodes
 
 -   abstract  def chainPaths[A, B](first: Path[A], second: Path[B])(implicit tupler: Tupler[A, B]): Path[Out]
Chains the two paths
Chains the two paths
- Definition Classes
 - Urls
 
 -   abstract  def choiceRequestEntity[A, B](requestEntityA: RequestEntity[A], requestEntityB: RequestEntity[B]): RequestEntity[Either[A, B]]
Alternative between two possible request entities, differentiated by the
Content-TypeheaderAlternative between two possible request entities, differentiated by the
Content-Typeheader- Definition Classes
 - Requests
 - Note
 If
AandBare both JSON-encoded and use disjoint schemas, use endpoints4s.algebra.JsonSchemas.TaggedOps#orElse at the schema level instead- Server interpreters accept either of the request entities
 - Client interpreters provide one of the two request entities
 - Documentation interpreters list all possible content types and their entities
 
 -   abstract  def choiceResponse[A, B](responseA: Response[A], responseB: Response[B]): Response[Either[A, B]]
Alternative between two possible choices of responses.
Alternative between two possible choices of responses.
Server interpreters construct either one or the other response. Client interpreters accept either one or the other response. Documentation interpreters list all the possible responses.
- Definition Classes
 - Responses
 
 -   abstract  def clientErrorsResponseEntity: ResponseEntity[ClientErrors]
Format of the response entity carrying the client errors.
Format of the response entity carrying the client errors.
- Definition Classes
 - Errors
 
 -   abstract  def clientErrorsToInvalid(clientErrors: ClientErrors): Invalid
Convert the ClientErrors type into the endpoints4s internal client error type
Convert the ClientErrors type into the endpoints4s internal client error type
- Definition Classes
 - Errors
 
 -   abstract  def combineQueryStrings[A, B](first: QueryString[A], second: QueryString[B])(implicit tupler: Tupler[A, B]): QueryString[Out]
Concatenates two
QueryStringsConcatenates two
QueryStrings- Definition Classes
 - Urls
 
 -   abstract  def emptyRequest: RequestEntity[Unit]
Empty request -- request without a body.
Empty request -- request without a body. Use
descriptionof endpoints4s.algebra.Endpoints#endpoint to document an empty body.- Definition Classes
 - Requests
 
 -   abstract  def emptyRequestHeaders: RequestHeaders[Unit]
Ignore headers
Ignore headers
- Server interpreters don’t try to parse any information from the request headers,
 - Client interpreters supply no specific headers
 
Use
descriptionof endpoints4s.algebra.Endpoints#endpoint to document empty headers.- Definition Classes
 - Requests
 
 -   abstract  def emptyResponse: ResponseEntity[Unit]
Empty response entity
Empty response entity
- Server interpreters produce no response entity,
 - Client interpreters ignore the response entity.
 
- Definition Classes
 - Responses
 
 -   abstract  def emptyResponseHeaders: ResponseHeaders[Unit]
No particular response header.
No particular response header.
- Client interpreters should ignore information carried by response headers.
 
- Definition Classes
 - Responses
 
 -   abstract  def endpoint[A, B](request: Request[A], response: Response[B], docs: EndpointDocs = EndpointDocs()): Endpoint[A, B]
Define an HTTP endpoint
Define an HTTP endpoint
- request
 Request
- response
 Response
- docs
 Documentation (used by documentation interpreters)
- Definition Classes
 - EndpointsWithCustomErrors
 
 -   abstract  def invalidToClientErrors(invalid: Invalid): ClientErrors
Convert the endpoints4s internal client error type into the ClientErrors type
Convert the endpoints4s internal client error type into the ClientErrors type
- Definition Classes
 - Errors
 
 -   abstract  def muxEndpoint[Req <: MuxRequest, Resp, Transport](request: Request[Transport], response: Response[Transport]): MuxEndpoint[Req, Resp, Transport]
Multiplexed HTTP endpoint.
Multiplexed HTTP endpoint.
A multiplexing endpoint makes it possible to use several request and response types in the same HTTP endpoint. In other words, it allows to define several different actions through a singe HTTP endpoint.
- Req
 The base type of possible requests
- Resp
 The base type of possible responses
- Transport
 The data type used to transport the requests and responses
- request
 The request
- response
 The response
 -   abstract  def optRequestHeader(name: String, docs: Documentation = None): RequestHeaders[Option[String]]
An optional request header
 -   abstract  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], orNoneif the response header is missing. - Server interpreters should produce such a response header.
 - Documentation interpreters should document this header.
 
- Definition Classes
 - Responses
 
 - Client interpreters should model the header value as 
 -   implicit abstract  def optionalQueryStringParam[A](implicit arg0: QueryStringParam[A]): QueryStringParam[Option[A]]
Make a query string parameter optional:
Make a query string parameter optional:
path / "articles" /? qs[Option[Int]]("page")
- Client interpreters must omit optional query string parameters that are empty.
 - Server interpreters must accept incoming requests whose optional query string parameters are missing, and they must report a failure for incoming requests whose optional query string parameters are present, but malformed,
 - Documentation interpreters should mark the parameter as optional.
 
- Definition Classes
 - Urls
 
 -   implicit abstract  def pathPartialInvariantFunctor: PartialInvariantFunctor[Path]
Provides
xmapandxmapPartialoperations.Provides
xmapandxmapPartialoperations.- Definition Classes
 - Urls
 - See also
 
 -   abstract  def qs[A](name: String, docs: Documentation = None)(implicit value: QueryStringParam[A]): QueryString[A]
Builds a
QueryStringwith one parameter.Builds a
QueryStringwith one parameter.Examples:
qs[Int]("page") // mandatory `page` parameter qs[Option[String]]("lang") // optional `lang` parameter qs[List[Long]]("id") // repeated `id` parameter
- A
 Type of the value carried by the parameter
- name
 Parameter’s name
- Definition Classes
 - Urls
 
 -   implicit abstract  def queryStringParamPartialInvariantFunctor: PartialInvariantFunctor[QueryStringParam]
Provides
xmapandxmapPartialoperations.Provides
xmapandxmapPartialoperations.- Definition Classes
 - Urls
 - See also
 
 -   implicit abstract  def queryStringPartialInvariantFunctor: PartialInvariantFunctor[QueryString]
Provides
xmapandxmapPartialoperations.Provides
xmapandxmapPartialoperations.- Definition Classes
 - Urls
 - See also
 
 -   abstract  def remainingSegments(name: String = "", docs: Documentation = None): Path[String]
The remaining segments of the path.
The remaining segments of the path. The
Stringvalue carried by thisPathis still URL-encoded.- Definition Classes
 - Urls
 
 -   implicit abstract  def repeatedQueryStringParam[A, CC[X] <: Iterable[X]](implicit arg0: QueryStringParam[A], factory: Factory[A, CC[A]]): QueryStringParam[CC[A]]
Support query string parameters with multiple values:
Support query string parameters with multiple values:
path / "articles" /? qs[List[Long]]("id")
- Server interpreters must accept incoming requests where such parameters are missing (in such a case, its value is an empty collection), and report a failure if at least one value is malformed.
 
- Definition Classes
 - Urls
 
 -   abstract  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]
Request for given parameters
Request for given parameters
- UrlP
 Payload carried by url
- BodyP
 Payload carried by body
- HeadersP
 Payload carried by headers
- UrlAndBodyPTupled
 Payloads of Url and Body tupled together by Tupler
- method
 Request method
- url
 Request URL
- entity
 Request entity
- docs
 Request documentation
- headers
 Request headers
- Definition Classes
 - Requests
 
 -   implicit abstract  def requestEntityPartialInvariantFunctor: PartialInvariantFunctor[RequestEntity]
Provides the operations
xmapandxmapPartial.Provides the operations
xmapandxmapPartial.- Definition Classes
 - Requests
 - See also
 
 -   abstract  def requestHeader(name: String, docs: Documentation = None): RequestHeaders[String]
A required request header
 -   implicit abstract  def requestHeadersPartialInvariantFunctor: PartialInvariantFunctor[RequestHeaders]
Provides the operations
xmapandxmapPartial.Provides the operations
xmapandxmapPartial.- Definition Classes
 - Requests
 - See also
 
 -   implicit abstract  def requestHeadersSemigroupal: Semigroupal[RequestHeaders]
Provides
++operation.Provides
++operation.- Definition Classes
 - Requests
 - See also
 
 -   implicit abstract  def requestPartialInvariantFunctor: PartialInvariantFunctor[Request]
Provides the operations
xmapandxmapPartial.Provides the operations
xmapandxmapPartial.- Definition Classes
 - Requests
 - See also
 
 -   abstract  def response[A, B, R](statusCode: StatusCode, entity: ResponseEntity[A], docs: Documentation = None, headers: ResponseHeaders[B] = emptyResponseHeaders)(implicit tupler: Tupler.Aux[A, B, R]): Response[R]
Define an HTTP response
Define an HTTP response
- 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
 
 -   implicit abstract  def responseEntityInvariantFunctor: InvariantFunctor[ResponseEntity]
- Definition Classes
 - Responses
 
 -   abstract  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
 
 - Client interpreters should model the header value as 
 -   implicit abstract  def responseHeadersInvariantFunctor: InvariantFunctor[ResponseHeaders]
Provides
xmapoperation.Provides
xmapoperation.- Definition Classes
 - Responses
 - See also
 
 -   implicit abstract  def responseHeadersSemigroupal: Semigroupal[ResponseHeaders]
Provides
++operation.Provides
++operation.- Definition Classes
 - Responses
 - See also
 
 -   implicit abstract  def responseInvariantFunctor: InvariantFunctor[Response]
Provides the operation
xmapto the typeResponseProvides the operation
xmapto the typeResponse- Definition Classes
 - Responses
 - See also
 
 -   abstract  def segment[A](name: String = "", docs: Documentation = None)(implicit s: Segment[A]): Path[A]
A path segment carrying an
AinformationA path segment carrying an
Ainformation- Definition Classes
 - Urls
 
 -   implicit abstract  def segmentPartialInvariantFunctor: PartialInvariantFunctor[Segment]
Provides
xmapandxmapPartialoperations.Provides
xmapandxmapPartialoperations.- Definition Classes
 - Urls
 - See also
 
 -   abstract  def serverErrorResponseEntity: ResponseEntity[ServerError]
Format of the response entity carrying the server error.
Format of the response entity carrying the server error.
- Definition Classes
 - Errors
 
 -   abstract  def serverErrorToThrowable(serverError: ServerError): Throwable
Convert the ServerError type into the endpoints4s internal server error type
Convert the ServerError type into the endpoints4s internal server error type
- Definition Classes
 - Errors
 
 -   abstract  def staticPathSegment(segment: String): Path[Unit]
A path segment whose value is the given
segmentA path segment whose value is the given
segment- Definition Classes
 - Urls
 
 -   implicit abstract  def stringQueryString: QueryStringParam[String]
Ability to define
Stringquery string parametersAbility to define
Stringquery string parameters- Definition Classes
 - Urls
 
 -   implicit abstract  def stringSegment: Segment[String]
Path segment codec for type
StringPath segment codec for type
String- Server interpreters should return an URL-decoded string value,
 - Client interpreters should take an URL-decoded string value.
 
- Definition Classes
 - Urls
 
 -   abstract  def textRequest: RequestEntity[String]
Request with a
Stringbody.Request with a
Stringbody.- Server interpreters accept requests with content-type 
text/plainand reject requests with an incorrect content-type. - Server interpreters will use the character encoding set in the content-type header to determine how the text is decoded.
 - Client interpreters supply content-type 
text/plainwith an explicit character encoding 
- Definition Classes
 - Requests
 
 - Server interpreters accept requests with content-type 
 -   abstract  def textResponse: ResponseEntity[String]
Text response entity
Text response entity
- Server interpreters produce an HTTP response with a 
text/plaincontent type. 
- Definition Classes
 - Responses
 
 - Server interpreters produce an HTTP response with a 
 -   abstract  def throwableToServerError(throwable: Throwable): ServerError
Convert the endpoints4s internal server error type into the ServerError type
Convert the endpoints4s internal server error type into the ServerError type
- Definition Classes
 - Errors
 
 -   implicit abstract  def urlPartialInvariantFunctor: PartialInvariantFunctor[Url]
Provides
xmapandxmapPartialoperationsProvides
xmapandxmapPartialoperations- Definition Classes
 - Urls
 - See also
 
 -   abstract  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
 
 
Concrete Value Members
-    object CallbackDocs extends Serializable
- Definition Classes
 - EndpointsWithCustomErrors
 
 -    object EndpointDocs extends Serializable
- Definition Classes
 - EndpointsWithCustomErrors
 
 -   final  def !=(arg0: Any): Boolean
- Definition Classes
 - AnyRef → Any
 
 -   final  def ##: Int
- Definition Classes
 - AnyRef → Any
 
 -    def +(other: String): String
- Implicit
 - This member is added by an implicit conversion from MuxEndpoints toany2stringadd[MuxEndpoints] performed by method any2stringadd in scala.Predef.
 - Definition Classes
 - any2stringadd
 
 -    def ->[B](y: B): (MuxEndpoints, B)
- Implicit
 - This member is added by an implicit conversion from MuxEndpoints toArrowAssoc[MuxEndpoints] performed by method ArrowAssoc in scala.Predef.
 - Definition Classes
 - ArrowAssoc
 - Annotations
 - @inline()
 
 -   final  def ==(arg0: Any): Boolean
- Definition Classes
 - AnyRef → Any
 
 -    def AlreadyReported: StatusCode
- Definition Classes
 - StatusCodes
 
 -    def Conflict: StatusCode
- Definition Classes
 - StatusCodes
 
 -    def ExpectationFailed: StatusCode
- Definition Classes
 - StatusCodes
 
 -    def FailedDependency: StatusCode
- Definition Classes
 - StatusCodes
 
 -    def Gone: StatusCode
- Definition Classes
 - StatusCodes
 
 -    def IMUsed: StatusCode
- Definition Classes
 - StatusCodes
 
 -    def LengthRequired: StatusCode
- Definition Classes
 - StatusCodes
 
 -    def Locked: StatusCode
- Definition Classes
 - StatusCodes
 
 -    def MethodNotAllowed: StatusCode
- Definition Classes
 - StatusCodes
 
 -    def MisdirectedRequest: StatusCode
- Definition Classes
 - StatusCodes
 
 -    def MultiStatus: StatusCode
- Definition Classes
 - StatusCodes
 
 -    def NonAuthoritativeInformation: StatusCode
- Definition Classes
 - StatusCodes
 
 -    def NotAcceptable: StatusCode
- Definition Classes
 - StatusCodes
 
 -    def NotModified: StatusCode
- Definition Classes
 - StatusCodes
 
 -    def PartialContent: StatusCode
- Definition Classes
 - StatusCodes
 
 -    def PaymentRequired: StatusCode
- Definition Classes
 - StatusCodes
 
 -    def PermanentRedirect: StatusCode
- Definition Classes
 - StatusCodes
 
 -    def PreconditionFailed: StatusCode
- Definition Classes
 - StatusCodes
 
 -    def PreconditionRequired: StatusCode
- Definition Classes
 - StatusCodes
 
 -    def ProxyAuthenticationRequired: StatusCode
- Definition Classes
 - StatusCodes
 
 -    def RangeNotSatisfiable: StatusCode
- Definition Classes
 - StatusCodes
 
 -    def RequestHeaderFieldsTooLarge: StatusCode
- Definition Classes
 - StatusCodes
 
 -    def RequestTimeout: StatusCode
- Definition Classes
 - StatusCodes
 
 -    def ResetContent: StatusCode
- Definition Classes
 - StatusCodes
 
 -    def TemporaryRedirect: StatusCode
- Definition Classes
 - StatusCodes
 
 -    def TooEarly: StatusCode
- Definition Classes
 - StatusCodes
 
 -    def UnavailableForLegalReasons: StatusCode
- Definition Classes
 - StatusCodes
 
 -    def UnprocessableEntity: StatusCode
- Definition Classes
 - StatusCodes
 
 -    def UnsupportedMediaType: StatusCode
- Definition Classes
 - StatusCodes
 
 -    def UpgradeRequired: StatusCode
- Definition Classes
 - StatusCodes
 
 -    def UriTooLong: StatusCode
- Definition Classes
 - StatusCodes
 
 -    def addRequestHeaders[A, H](request: Request[A], headers: RequestHeaders[H])(implicit tupler: Tupler[A, H]): Request[Out]
Add the provided
headersto therequest.Add the provided
headersto therequest.- Definition Classes
 - Requests
 
 -    def addRequestQueryString[A, Q](request: Request[A], queryString: QueryString[Q])(implicit tupler: Tupler[A, Q]): Request[Out]
Add the provided
queryStringto therequest.Add the provided
queryStringto therequest.- Definition Classes
 - Requests
 
 -    def addResponseHeaders[A, H](response: Response[A], headers: ResponseHeaders[H])(implicit tupler: Tupler[A, H]): Response[Out]
Add the provided
headersto theresponse.Add the provided
headersto theresponse.Note that if the
responsedescribes a choice of several possible responses (resulting from theorElseoperation), theheaderswill be added to all the possible responses.- Definition Classes
 - Responses
 
 -   final  def asInstanceOf[T0]: T0
- Definition Classes
 - Any
 
 -   final  def badRequest[A, R](docs: Documentation = None, headers: ResponseHeaders[A] = emptyResponseHeaders)(implicit tupler: Tupler.Aux[ClientErrors, A, R]): 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
 endpoints4s.algebra.Errors and endpoints4s.algebra.BuiltInErrors
 -   implicit  def booleanQueryString: QueryStringParam[Boolean]
Query string parameter containing a
BooleanvalueQuery string parameter containing a
Booleanvalue- Definition Classes
 - Urls
 
 -    lazy val clientErrorsResponse: Response[ClientErrors]
Response used by endpoints4s when decoding a request fails.
Response used by endpoints4s when decoding a request fails.
The provided implementation forwards to
badRequest.- Definition Classes
 - Errors
 
 -    def clone(): AnyRef
- Attributes
 - protected[lang]
 - Definition Classes
 - AnyRef
 - Annotations
 - @throws(classOf[java.lang.CloneNotSupportedException]) @IntrinsicCandidate() @native()
 
 -   final  def delete[UrlP, HeadersP, Out](url: Url[UrlP], docs: Documentation = None, headers: RequestHeaders[HeadersP] = emptyRequestHeaders)(implicit tuplerUH: Tupler.Aux[UrlP, HeadersP, Out]): Request[Out]
Helper method to perform DELETE request
Helper method to perform DELETE request
- UrlP
 Payload carried by url
- HeadersP
 Payload carried by headers
- Definition Classes
 - Requests
 
 -   implicit  def doubleQueryString: QueryStringParam[Double]
Codec for query string parameters of type
DoubleCodec for query string parameters of type
Double- Definition Classes
 - Urls
 
 -   implicit  def doubleSegment: Segment[Double]
Path segment codec for type
DoublePath segment codec for type
Double- Definition Classes
 - Urls
 
 -    def ensuring(cond: (MuxEndpoints) => Boolean, msg: => Any): MuxEndpoints
- Implicit
 - This member is added by an implicit conversion from MuxEndpoints toEnsuring[MuxEndpoints] performed by method Ensuring in scala.Predef.
 - Definition Classes
 - Ensuring
 
 -    def ensuring(cond: (MuxEndpoints) => Boolean): MuxEndpoints
- Implicit
 - This member is added by an implicit conversion from MuxEndpoints toEnsuring[MuxEndpoints] performed by method Ensuring in scala.Predef.
 - Definition Classes
 - Ensuring
 
 -    def ensuring(cond: Boolean, msg: => Any): MuxEndpoints
- Implicit
 - This member is added by an implicit conversion from MuxEndpoints toEnsuring[MuxEndpoints] performed by method Ensuring in scala.Predef.
 - Definition Classes
 - Ensuring
 
 -    def ensuring(cond: Boolean): MuxEndpoints
- Implicit
 - This member is added by an implicit conversion from MuxEndpoints toEnsuring[MuxEndpoints] performed by method Ensuring in scala.Predef.
 - Definition Classes
 - Ensuring
 
 -   final  def eq(arg0: AnyRef): Boolean
- Definition Classes
 - AnyRef
 
 -    def equals(arg0: AnyRef): Boolean
- Definition Classes
 - AnyRef → Any
 
 -   final  def get[UrlP, HeadersP, Out](url: Url[UrlP], docs: Documentation = None, headers: RequestHeaders[HeadersP] = emptyRequestHeaders)(implicit tuplerUH: Tupler.Aux[UrlP, HeadersP, Out]): Request[Out]
Helper method to perform GET request
Helper method to perform GET request
- UrlP
 Payload carried by url
- HeadersP
 Payload carried by headers
- Definition Classes
 - Requests
 
 -   final  def getClass(): Class[_ <: AnyRef]
- Definition Classes
 - AnyRef → Any
 - Annotations
 - @IntrinsicCandidate() @native()
 
 -    def hashCode(): Int
- Definition Classes
 - AnyRef → Any
 - Annotations
 - @IntrinsicCandidate() @native()
 
 -   implicit  def intQueryString: QueryStringParam[Int]
Ability to define
Intquery string parametersAbility to define
Intquery string parameters- Definition Classes
 - Urls
 
 -   implicit  def intSegment: Segment[Int]
Path segment codec for type
IntPath segment codec for type
Int- Definition Classes
 - Urls
 
 -   final  def internalServerError[A, R](docs: Documentation = None, headers: ResponseHeaders[A] = emptyResponseHeaders)(implicit tupler: Tupler.Aux[ServerError, A, R]): 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
 endpoints4s.algebra.Errors and endpoints4s.algebra.BuiltInErrors
 -   final  def isInstanceOf[T0]: Boolean
- Definition Classes
 - Any
 
 -   implicit  def longQueryString: QueryStringParam[Long]
Query string parameter containing a
LongvalueQuery string parameter containing a
Longvalue- Definition Classes
 - Urls
 
 -   implicit  def longSegment: Segment[Long]
Path segment codec for type
LongPath segment codec for type
Long- Definition Classes
 - Urls
 
 -    def mapEndpointDocs[A, B](endpoint: Endpoint[A, B], func: (EndpointDocs) => EndpointDocs): Endpoint[A, B]
Map the inner documentation of the endpoint to new documentation.
Map the inner documentation of the endpoint to new documentation.
- endpoint
 The current endpoint that is being mapped.
- func
 The function that maps the documentation to some new documentation.
- returns
 The endpoint with the mapped documentation.
- Definition Classes
 - EndpointsWithCustomErrors
 
 -    def mapEndpointRequest[A, B, C](endpoint: Endpoint[A, B], func: (Request[A]) => Request[C]): Endpoint[C, B]
Map the inner request of the endpoint to a new request.
Map the inner request of the endpoint to a new request. This is for example useful to add Auth headers to an existing endpoint.
- endpoint
 The current endpoint that is being mapped.
- func
 The function that maps the request to some new request.
- returns
 The endpoint with the mapped request.
- Definition Classes
 - EndpointsWithCustomErrors
 val myEndpoint: Endpoint[Input, Output] = ??? val basicAuthHeaders: RequestHeaders[Credentials] = ??? val endpointWithAuth: Endpoint[(Input, Credentials), Output] = myEndpoint.mapRequest(_.addHeaders(basicAuthHeader))
Example: -    def mapEndpointResponse[A, B, C](endpoint: Endpoint[A, B], func: (Response[B]) => Response[C]): Endpoint[A, C]
Map the inner response of the endpoint to a new response.
Map the inner response of the endpoint to a new response. This is for example useful so you can add error handling to an existing endpoint.
- endpoint
 The current endpoint that is being mapped.
- func
 The function that maps the response to some new response.
- returns
 The endpoint with the mapped response.
- Definition Classes
 - EndpointsWithCustomErrors
 val myEndpoint: Endpoint[Input, Output] = ??? val errorResponse: Response[Error] = ??? val endpointWithErrorHandling: Endpoint[Input, Either[Error, Output]] = myEndpoint.mapResponse(resp => resp orElse errorResponse)
Example: -   final  def ne(arg0: AnyRef): Boolean
- Definition Classes
 - AnyRef
 
 -   final  def notify(): Unit
- Definition Classes
 - AnyRef
 - Annotations
 - @IntrinsicCandidate() @native()
 
 -   final  def notifyAll(): Unit
- Definition Classes
 - AnyRef
 - Annotations
 - @IntrinsicCandidate() @native()
 
 -   final  def ok[A, B, R](entity: ResponseEntity[A], docs: Documentation = None, headers: ResponseHeaders[B] = emptyResponseHeaders)(implicit tupler: Tupler.Aux[A, B, R]): Response[R]
OK (200) Response with the given entity
OK (200) Response with the given entity
- Definition Classes
 - Responses
 
 -    def optQsWithDefault[A](name: String, default: A, docs: Documentation = None)(implicit value: QueryStringParam[A]): QueryString[WithDefault[A]]
Builds a
QueryStringwith one optional parameter, which has a default value.Builds a
QueryStringwith one optional parameter, which has a default value.Examples:
optQsWithDefault[Int]("page", 1) // optional `page` parameter, with default value 1
- A
 Type of the value carried by the parameter
- name
 Parameter’s name
- Definition Classes
 - Urls
 
 -   final  def patch[UrlP, BodyP, HeadersP, UrlAndBodyPTupled, Out](url: Url[UrlP], entity: RequestEntity[BodyP], docs: Documentation = None, headers: RequestHeaders[HeadersP] = emptyRequestHeaders)(implicit tuplerUB: Tupler.Aux[UrlP, BodyP, UrlAndBodyPTupled], tuplerUBH: Tupler.Aux[UrlAndBodyPTupled, HeadersP, Out]): Request[Out]
Helper method to perform PATCH request
 -    val path: Path[Unit]
An empty path.
An empty path.
Useful to begin a path definition:
path / "foo" / segment[Int] /? qs[String]("bar")
- Definition Classes
 - Urls
 
 -   final  def post[UrlP, BodyP, HeadersP, UrlAndBodyPTupled, Out](url: Url[UrlP], entity: RequestEntity[BodyP], docs: Documentation = None, headers: RequestHeaders[HeadersP] = emptyRequestHeaders)(implicit tuplerUB: Tupler.Aux[UrlP, BodyP, UrlAndBodyPTupled], tuplerUBH: Tupler.Aux[UrlAndBodyPTupled, HeadersP, Out]): Request[Out]
Helper method to perform POST request
 -   final  def put[UrlP, BodyP, HeadersP, UrlAndBodyPTupled, Out](url: Url[UrlP], entity: RequestEntity[BodyP], docs: Documentation = None, headers: RequestHeaders[HeadersP] = emptyRequestHeaders)(implicit tuplerUB: Tupler.Aux[UrlP, BodyP, UrlAndBodyPTupled], tuplerUBH: Tupler.Aux[UrlAndBodyPTupled, HeadersP, Out]): Request[Out]
Helper method to perform PUT request
 -    lazy val serverErrorResponse: Response[ServerError]
Response used by endpoints4s when the business logic of an endpoint fails.
Response used by endpoints4s when the business logic of an endpoint fails.
The provided implementation forwards to
internalServerError- Definition Classes
 - Errors
 
 -   final  def synchronized[T0](arg0: => T0): T0
- Definition Classes
 - AnyRef
 
 -    def toString(): String
- Definition Classes
 - AnyRef → Any
 
 -   implicit  def uuidQueryString: QueryStringParam[UUID]
Ability to define
UUIDquery string parametersAbility to define
UUIDquery string parameters- Definition Classes
 - Urls
 
 -   implicit  def uuidSegment: Segment[UUID]
Path segment codec for type
UUIDPath segment codec for type
UUID- Definition Classes
 - Urls
 
 -   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])
 
 -   final  def wait(): Unit
- Definition Classes
 - AnyRef
 - Annotations
 - @throws(classOf[java.lang.InterruptedException])
 
 -   final  def wheneverFound[A](responseA: Response[A], notFoundDocs: Documentation = None): Response[Option[A]]
Turns a
Response[A]into aResponse[Option[A]].Turns a
Response[A]into aResponse[Option[A]].Interpreters represent
Nonewith an empty HTTP response whose status code is 404 (Not Found).- Definition Classes
 - Responses
 
 
Deprecated Value Members
-    def finalize(): Unit
- Attributes
 - protected[lang]
 - Definition Classes
 - AnyRef
 - Annotations
 - @throws(classOf[java.lang.Throwable]) @Deprecated
 - Deprecated
 (Since version 9)
 -    def formatted(fmtstr: String): String
- Implicit
 - This member is added by an implicit conversion from MuxEndpoints toStringFormat[MuxEndpoints] performed by method StringFormat in scala.Predef.
 - Definition Classes
 - StringFormat
 - Annotations
 - @deprecated @inline()
 - Deprecated
 (Since version 2.12.16) Use
formatString.format(value)instead ofvalue.formatted(formatString), or use thef""string interpolator. In Java 15 and later,formattedresolves to the new method in String which has reversed parameters.
 -    def →[B](y: B): (MuxEndpoints, B)
- Implicit
 - This member is added by an implicit conversion from MuxEndpoints toArrowAssoc[MuxEndpoints] 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 EndpointsWithCustomErrors
Inherited from Errors
Inherited from Responses
Inherited from StatusCodes
Inherited from Requests
Inherited from endpoints4s.SemigroupalSyntax
Inherited from Methods
Inherited from Urls
Inherited from endpoints4s.PartialInvariantFunctorSyntax
Inherited from endpoints4s.InvariantFunctorSyntax
Inherited from AnyRef
Inherited from Any
Inherited by implicit conversion any2stringadd fromMuxEndpoints to any2stringadd[MuxEndpoints]
Inherited by implicit conversion StringFormat fromMuxEndpoints to StringFormat[MuxEndpoints]
Inherited by implicit conversion Ensuring fromMuxEndpoints to Ensuring[MuxEndpoints]
Inherited by implicit conversion ArrowAssoc fromMuxEndpoints to ArrowAssoc[MuxEndpoints]
Types
Types introduced by the algebra
Operations
Operations creating and transforming values