ChunkedJsonEntitiesTestApi
Type members
Inherited classlikes
- Value parameters:
- entity
Contents of the callback message
- method
HTTP method used for the callback
- response
Expected response
- Inherited from:
- EndpointsWithCustomErrors
- Value parameters:
- callbacks
Callbacks indexed by event name
- deprecated
Indicates whether this endpoint is deprecated or not
- description
Detailed description
- operationId
A unique identifier which identifies this operation
- summary
Short description
- tags
OpenAPI tags
- Inherited from:
- EndpointsWithCustomErrors
Extension methods for Endpoint.
Extension methods for Endpoint.
- Inherited from:
- EndpointsWithCustomErrors
Extension methods for values of type F[A]
for which there is an implicit
InvariantFunctor[F]
instance.
Extension methods for values of type F[A]
for which there is an implicit
InvariantFunctor[F]
instance.
- Inherited from:
- InvariantFunctorSyntax
- Inherited from:
- PartialInvariantFunctorSyntax
Inherited types
Callbacks indexed by URL pattern
Callbacks indexed by URL pattern
- See also:
Swagger Documentation at https://swagger.io/docs/specification/callbacks/
- Inherited from:
- EndpointsWithCustomErrors
A stream of chunks of type A
.
A stream of chunks of type A
.
- Type parameters:
- A
Information carried by each chunk
- Inherited from:
- Chunks
Information carried by an HTTP endpoint
Information carried by an HTTP endpoint
Values of type Endpoint can be constructed by using the operation endpoint.
- Type parameters:
- A
Information carried by the request
- B
Information carried by the response
- Note:
This type has implicit methods provided by the EndpointSyntax class
- Inherited from:
- EndpointsWithCustomErrors
A strategy for delimiting chunk frames in a stream of chunks. Framing has to be consistent between client and server - server interpreter must be able to decode chunks encoded by the client, and vice versa.
A strategy for delimiting chunk frames in a stream of chunks. Framing has to be consistent between client and server - server interpreter must be able to decode chunks encoded by the client, and vice versa.
- Inherited from:
- Framing
An URL path carrying an A
information
An URL path carrying an A
information
Values 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.
A query string carrying an A
information
A query string carrying an A
information
QueryString 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.
- Note:
This type has implicit methods provided by the QueryStringSyntax, InvariantFunctorSyntax, and the PartialInvariantFunctorSyntax classes.
- Inherited from:
- Urls
A query string parameter codec for type A
.
A query string parameter codec for type A
.
The trait Urls
provides implicit instances of type QueryStringParam[A]
for basic types (e.g., Int
, String
, etc.). You can create additional
instances by transforming or refining the existing instances with xmap
and xmapPartial
.
- Note:
This type has implicit methods provided by the PartialInvariantFunctorSyntax and the InvariantFunctorSyntax classes.
- Inherited from:
- Urls
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.
- Note:
This type has implicit methods provided by the PartialInvariantFunctorSyntax and RequestSyntax classes.
- Inherited from:
- Requests
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.
- Note:
This type has implicit methods provided by the PartialInvariantFunctorSyntax and RequestEntitySyntax classes.
- Inherited from:
- Requests
Information carried by requests’ headers.
Information carried by requests’ headers.
You can construct values of type RequestHeaders
by 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.
- Note:
This type has implicit methods provided by the SemigroupalSyntax and PartialInvariantFunctorSyntax classes.
- Inherited from:
- Requests
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.
- Note:
This type has implicit methods provided by the InvariantFunctorSyntax and ResponseSyntax classes
- Inherited from:
- Responses
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.
- Note:
This type has implicit methods provided by the InvariantFunctorSyntax class
- Inherited from:
- Responses
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.
- Note:
This type has implicit methods provided by the SemigroupalSyntax and InvariantFunctorSyntax classes.
- Inherited from:
- Responses
An URL path segment codec for type A
.
An URL path segment codec for type A
.
The trait Urls
provides implicit instances of Segment[A]
for basic types
(e.g., Int
, String
, etc.). You can create additional instances by transforming
or refining the existing instances with xmap
and xmapPartial
.
- Note:
This type has implicit methods provided by the PartialInvariantFunctorSyntax and the InvariantFunctorSyntax classes.
- Inherited from:
- Urls
An URL carrying an A
information
An URL carrying an A
information
Values 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.
- Note:
This type has implicit methods provided by the PartialInvariantFunctorSyntax and InvariantFunctorSyntax classes.
- Inherited from:
- Urls
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
A
and 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
- Inherited from:
- Urls
Value members
Inherited methods
- Note:
You should use the
badRequest
constructor provided by the endpoints4s.algebra.Responses trait to ensure that errors produced by endpoints4s are consistently handled by interpreters.- Inherited from:
- StatusCodes
- Note:
You should use the
internalServerError
constructor provided by the endpoints4s.algebra.Responses trait to ensure that errors produced by endpoints4s are consistently handled by interpreters.- Inherited from:
- StatusCodes
Add the provided headers
to the request
.
Add the provided headers
to the request
.
- Inherited from:
- Requests
Add the provided queryString
to the request
.
Add the provided queryString
to the request
.
- Inherited from:
- Requests
Add the provided headers
to the response
.
Add the provided headers
to the response
.
Note that if the response
describes a choice of several
possible responses (resulting from the orElse
operation),
the headers
will be added to all the possible responses.
- Inherited from:
- Responses
Bad Request (400) response, with an entity of type ClientErrors
.
Bad Request (400) response, with an entity of type ClientErrors
.
- See also:
- Inherited from:
- Responses
A request entity carrying chunks of Array[Byte]
values
A request entity carrying chunks of Array[Byte]
values
- Inherited from:
- ChunkedRequestEntities
A response entity carrying chunks of Array[Byte]
values
A response entity carrying chunks of Array[Byte]
values
- Inherited from:
- ChunkedResponseEntities
Alternative between two possible request entities, differentiated by the
Content-Type
header
Alternative between two possible request entities, differentiated by the
Content-Type
header
- Note:
If
A
andB
are 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
- Inherited from:
- Requests
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.
- Inherited from:
- Responses
Response entity format for Invalid values
Response entity format for Invalid values
- Inherited from:
- BuiltInErrors
Concatenates two QueryString
s
Concatenates two QueryString
s
- Inherited from:
- Urls
Helper method to perform DELETE request
Helper method to perform DELETE request
- Type parameters:
- HeadersP
Payload carried by headers
- UrlP
Payload carried by url
- Inherited from:
- Requests
Empty request -- request without a body.
Use description
of endpoints4s.algebra.Endpoints#endpoint to document an empty body.
Empty request -- request without a body.
Use description
of endpoints4s.algebra.Endpoints#endpoint to document an empty body.
- Inherited from:
- Requests
Ignore headers
Ignore headers
- Server interpreters don’t try to parse any information from the request headers,
- Client interpreters supply no specific headers
Use description
of endpoints4s.algebra.Endpoints#endpoint to document empty headers.
- Inherited from:
- Requests
Empty response entity
Empty response entity
- Server interpreters produce no response entity,
- Client interpreters ignore the response entity.
- Inherited from:
- Responses
No particular response header.
No particular response header.
- Client interpreters should ignore information carried by response headers.
- Inherited from:
- Responses
Define an HTTP endpoint
Define an HTTP endpoint
- Value parameters:
- docs
Documentation (used by documentation interpreters)
- request
Request
- response
Response
- Inherited from:
- EndpointsWithCustomErrors
Helper method to perform GET request
Helper method to perform GET request
- Type parameters:
- HeadersP
Payload carried by headers
- UrlP
Payload carried by url
- Inherited from:
- Requests
Internal Server Error (500) response, with an entity of type ServerError
.
Internal Server Error (500) response, with an entity of type ServerError
.
- See also:
- Inherited from:
- Responses
A request entity carrying chunks of JSON values
A request entity carrying chunks of JSON values
- Type parameters:
- A
Type of values serialized into JSON
- Value parameters:
- framing
Framing applied to chunks
- Inherited from:
- ChunkedJsonRequestEntities
A response entity carrying chunks of JSON values
A response entity carrying chunks of JSON values
- Type parameters:
- A
Type of values serialized into JSON
- Value parameters:
- framing
Framing applied to chunks
- Inherited from:
- ChunkedJsonResponseEntities
Request with a JSON body, given an implicit JsonRequest[A]
Request with a JSON body, given an implicit JsonRequest[A]
- Server interpreters accept requests with content-type
application/json
and reject requests with an incorrect content-type. - Client interpreters supply content-type
application/json
- Inherited from:
- JsonEntities
Defines a Response[A]
given an implicit JsonResponse[A]
Defines a Response[A]
given an implicit JsonResponse[A]
- Inherited from:
- JsonEntities
Map the inner documentation of the endpoint to new documentation.
Map the inner documentation of the endpoint to new documentation.
- Value parameters:
- 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.
- Inherited from:
- EndpointsWithCustomErrors
Map the inner request of the endpoint to a new request. This is for example useful to add Auth headers to an existing endpoint.
Map the inner request of the endpoint to a new request. This is for example useful to add Auth headers to an existing endpoint.
- Value parameters:
- 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.
- Example:
val myEndpoint: Endpoint[Input, Output] = ??? val basicAuthHeaders: RequestHeaders[Credentials] = ??? val endpointWithAuth: Endpoint[(Input, Credentials), Output] = myEndpoint.mapRequest(_.addHeaders(basicAuthHeader))
- Inherited from:
- EndpointsWithCustomErrors
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.
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.
- Value parameters:
- 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.
- Example:
val myEndpoint: Endpoint[Input, Output] = ??? val errorResponse: Response[Error] = ??? val endpointWithErrorHandling: Endpoint[Input, Either[Error, Output]] = myEndpoint.mapResponse(resp => resp orElse errorResponse)
- Inherited from:
- EndpointsWithCustomErrors
Frames are delimited by a new-line separator
Frames are delimited by a new-line separator
- Inherited from:
- Framing
OK (200) Response with the given entity
OK (200) Response with the given entity
- Inherited from:
- Responses
Builds a QueryString
with one optional parameter, which has a default value.
Builds a QueryString
with one optional parameter, which has a default value.
Examples:
optQsWithDefault[Int]("page", 1) // optional `page` parameter, with default value 1
- Type parameters:
- A
Type of the value carried by the parameter
- Value parameters:
- name
Parameter’s name
- Inherited from:
- Urls
An optional request header
An optional request header
- Value parameters:
- name
Header name (e.g., “Authorization”)
- Inherited from:
- Requests
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]
, orNone
if the response header is missing. - Server interpreters should produce such a response header.
- Documentation interpreters should document this header.
- Inherited from:
- Responses
Helper method to perform PATCH request
Helper method to perform POST request
Builds a QueryString
with one parameter.
Builds a QueryString
with one parameter.
Examples:
qs[Int]("page") // mandatory `page` parameter
qs[Option[String]]("lang") // optional `lang` parameter
qs[List[Long]]("id") // repeated `id` parameter
- Type parameters:
- A
Type of the value carried by the parameter
- Value parameters:
- name
Parameter’s name
- Inherited from:
- Urls
The remaining segments of the path. The String
value carried by this Path
is still URL-encoded.
The remaining segments of the path. The String
value carried by this Path
is still URL-encoded.
- Inherited from:
- Urls
Request for given parameters
Request for given parameters
- Type parameters:
- BodyP
Payload carried by body
- HeadersP
Payload carried by headers
- UrlAndBodyPTupled
Payloads of Url and Body tupled together by Tupler
- UrlP
Payload carried by url
- Value parameters:
- docs
Request documentation
- entity
Request entity
- headers
Request headers
- method
Request method
- url
Request URL
- Inherited from:
- Requests
A required request header
A required request header
- Value parameters:
- name
Header name (e.g., “Authorization”)
- Inherited from:
- Requests
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.
- Value parameters:
- docs
Response documentation
- entity
Response entity
- headers
Response headers
- statusCode
Response status code
- Inherited from:
- Responses
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")
)
)
- Inherited from:
- Responses
A path segment carrying an A
information
A path segment carrying an A
information
- Inherited from:
- Urls
Response entity format for Throwable
values
Response entity format for Throwable
values
- Inherited from:
- BuiltInErrors
A path segment whose value is the given segment
A path segment whose value is the given segment
- Inherited from:
- Urls
Turns a JsonCodec[A] into a Codec[String, A]
Turns a JsonCodec[A] into a Codec[String, A]
- Inherited from:
- JsonEntitiesFromCodecs
A request entity carrying chunks of String
values
A request entity carrying chunks of String
values
- Inherited from:
- ChunkedRequestEntities
A response entity carrying chunks of String
values
A response entity carrying chunks of String
values
- Inherited from:
- ChunkedResponseEntities
Request with a String
body.
Request with a String
body.
- Server interpreters accept requests with content-type
text/plain
and 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/plain
with an explicit character encoding
- Inherited from:
- Requests
Text response entity
Text response entity
- Server interpreters produce an HTTP response with a
text/plain
content type.
- Inherited from:
- Responses
Builds an URL from the given path and query string
Builds an URL from the given path and query string
- Inherited from:
- Urls
Turns a Response[A]
into a Response[Option[A]]
.
Turns a Response[A]
into a Response[Option[A]]
.
Interpreters represent None
with
an empty HTTP response whose status code is 404 (Not Found).
- Inherited from:
- Responses
Deprecated and Inherited methods
- Deprecated
- Inherited from:
- ChunkedJsonRequestEntities
- Deprecated
- Inherited from:
- ChunkedJsonResponseEntities
Inherited fields
Response used by endpoints4s when decoding a request fails.
Response used by endpoints4s when decoding a request fails.
The provided implementation forwards to badRequest
.
- Inherited from:
- Errors
An empty path.
An empty path.
Useful to begin a path definition:
path / "foo" / segment[Int] /? qs[String]("bar")
- Inherited from:
- Urls
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
- Inherited from:
- Errors
Implicits
Inherited implicits
Extension methods for Endpoint.
Extension methods for Endpoint.
- Inherited from:
- EndpointsWithCustomErrors
Extension methods for values of type F[A]
for which there is an implicit
InvariantFunctor[F]
instance.
Extension methods for values of type F[A]
for which there is an implicit
InvariantFunctor[F]
instance.
- Inherited from:
- InvariantFunctorSyntax
- Inherited from:
- PartialInvariantFunctorSyntax
- Inherited from:
- SemigroupalSyntax
Query string parameter containing a Boolean
value
Query string parameter containing a Boolean
value
- Inherited from:
- Urls
Codec for query string parameters of type Double
Codec for query string parameters of type Double
- Inherited from:
- Urls
Ability to define Int
query string parameters
Ability to define Int
query string parameters
- Inherited from:
- Urls
Query string parameter containing a Long
value
Query string parameter containing a Long
value
- Inherited from:
- Urls
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.
- Inherited from:
- Urls
Provides xmap
and xmapPartial
operations.
Provides xmap
and xmapPartial
operations.
- See also:
PartialInvariantFunctorSyntax and InvariantFunctorSyntax
- Inherited from:
- Urls
Provides xmap
and xmapPartial
operations.
Provides xmap
and xmapPartial
operations.
- See also:
PartialInvariantFunctorSyntax and InvariantFunctorSyntax
- Inherited from:
- Urls
Provides xmap
and xmapPartial
operations.
Provides xmap
and xmapPartial
operations.
- See also:
PartialInvariantFunctorSyntax and InvariantFunctorSyntax
- Inherited from:
- Urls
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.
- Inherited from:
- Urls
Provides the operations xmap
and xmapPartial
.
Provides the operations xmap
and xmapPartial
.
- See also:
PartialInvariantFunctorSyntax
- Inherited from:
- Requests
Provides the operations xmap
and xmapPartial
.
Provides the operations xmap
and xmapPartial
.
- See also:
PartialInvariantFunctorSyntax
- Inherited from:
- Requests
Provides the operations xmap
and xmapPartial
.
Provides the operations xmap
and xmapPartial
.
- See also:
PartialInvariantFunctorSyntax
- Inherited from:
- Requests
Provides xmap
operation.
Provides xmap
operation.
- See also:
InvariantFunctorSyntax
- Inherited from:
- Responses
Provides the operation xmap
to the type Response
Provides the operation xmap
to the type Response
- See also:
InvariantFunctorSyntax
- Inherited from:
- Responses
Provides xmap
and xmapPartial
operations.
Provides xmap
and xmapPartial
operations.
- See also:
PartialInvariantFunctorSyntax and InvariantFunctorSyntax
- Inherited from:
- Urls
Ability to define String
query string parameters
Ability to define String
query string parameters
- Inherited from:
- Urls
Path segment codec for type String
Path segment codec for type String
- Server interpreters should return an URL-decoded string value,
- Client interpreters should take an URL-decoded string value.
- Inherited from:
- Urls
Provides xmap
and xmapPartial
operations
Provides xmap
and xmapPartial
operations
- See also:
PartialInvariantFunctorSyntax and InvariantFunctorSyntax
- Inherited from:
- Urls
Ability to define UUID
query string parameters
Ability to define UUID
query string parameters
- Inherited from:
- Urls