sttp.tapir.ztapir
Members list
Type members
Classlikes
Attributes
- Graph
- Supertypes
- trait MonadError[[_] =>> RIO[R, _$1]]class Objecttrait Matchableclass Any
An endpoint with the security logic provided, and the main logic yet unspecified. See RichZEndpoint.zServerLogic.
An endpoint with the security logic provided, and the main logic yet unspecified. See RichZEndpoint.zServerLogic.
The provided security part of the server logic transforms inputs of type SECURITY_INPUT
, either to an error of type ERROR_OUTPUT
, or
value of type PRINCIPAL
.
The part of the server logic which is not provided, will have to transform a tuple: (PRINCIPAL, INPUT)
either into an error, or a
value of type OUTPUT
.
Inputs/outputs can be added to partial endpoints as to regular endpoints, however the shape of the error outputs is fixed and cannot be changed. Hence, it's possible to create a base, secured input, and then specialise it with inputs, outputs and logic as needed.
Attributes
- C
The capabilities that are required by this endpoint's inputs/outputs.
Any
, if no requirements.- ERROR_OUTPUT
Error output parameter types.
- INPUT
Input parameter types.
- OUTPUT
Output parameter types.
- PRINCIPAL
Type of transformed security input.
- SECURITY_INPUT
Type of the security inputs, transformed into PRINCIPAL
- Graph
- Supertypes
- trait Serializabletrait Producttrait Equalstrait EndpointMetaOpstrait EndpointInfoOps[C]trait EndpointErrorOutputVariantsOps[SECURITY_INPUT, INPUT, ERROR_OUTPUT, OUTPUT, C]trait EndpointOutputsOps[SECURITY_INPUT, INPUT, ERROR_OUTPUT, OUTPUT, C]trait EndpointOutputsMacros[SECURITY_INPUT, INPUT, ERROR_OUTPUT, OUTPUT, C]trait EndpointInputsOps[SECURITY_INPUT, INPUT, ERROR_OUTPUT, OUTPUT, C]trait EndpointInputsMacros[SECURITY_INPUT, INPUT, ERROR_OUTPUT, OUTPUT, C]class Objecttrait Matchableclass Any
- Self type
Attributes
- Graph
- Supertypes
- class Objecttrait Matchableclass Any
Attributes
- Graph
- Supertypes
- class Objecttrait Matchableclass Any
- Self type
- ZioServerSentEvents.type
Inherited classlikes
Attributes
- Inherited from:
- Tapir
- Graph
- Supertypes
- class Objecttrait Matchableclass Any
Attributes
- Inherited from:
- ModifyMacroFunctorSupport
- Graph
- Supertypes
- class Objecttrait Matchableclass Any
Attributes
- Inherited from:
- ModifyMacroSupport
- Graph
- Supertypes
- class Objecttrait Matchableclass Any
Attributes
- Inherited from:
- ModifyMacroFunctorSupport
- Graph
- Supertypes
- class Objecttrait Matchableclass Any
Attributes
- Inherited from:
- ZTapir
- Graph
- Supertypes
- class Objecttrait Matchableclass Any
Attributes
- Inherited from:
- ZTapir
- Graph
- Supertypes
- class Objecttrait Matchableclass Any
Attributes
- Inherited from:
- Tapir
- Graph
- Supertypes
- class Objecttrait Matchableclass Any
Value members
Inherited methods
Inputs which describe authentication credentials with metadata.
Inputs which describe authentication credentials with metadata.
Attributes
- Inherited from:
- Tapir
Usage:
Usage:
binaryBody(RawBodyType.FileBody)[MyType]
, given that a codec between a file and MyType
is available in the implicit
scope.
binaryBody(RawBodyType.FileBody)[MyType] }}} scope.
Attributes
- Inherited from:
- Tapir
Attributes
- Inherited from:
- Tapir
Attributes
- Inherited from:
- Tapir
Attributes
- Inherited from:
- TapirComputedInputs
Attributes
- Inherited from:
- Tapir
Attributes
- Inherited from:
- Tapir
Requires an implicit Codec.JsonCodec in scope. Such a codec can be created using Codec.json.
Requires an implicit Codec.JsonCodec in scope. Such a codec can be created using Codec.json.
However, json codecs are usually derived from json-library-specific implicits. That's why integrations with various json libraries
define jsonBody
methods, which directly require the library-specific implicits.
Unless you have defined a custom json codec, the jsonBody
methods should be used.
Attributes
- Inherited from:
- Tapir
An empty output. Useful if one of the oneOf branches of a coproduct type is a case object that should be mapped to an empty body.
An empty output. Useful if one of the oneOf branches of a coproduct type is a case object that should be mapped to an empty body.
Attributes
- Inherited from:
- Tapir
Extract a value from a server request. This input is only used by server interpreters, it is ignored by documentation interpreters and the provided value is discarded by client interpreters.
Extract a value from a server request. This input is only used by server interpreters, it is ignored by documentation interpreters and the provided value is discarded by client interpreters.
Attributes
- Inherited from:
- Tapir
Attributes
- Inherited from:
- Tapir
A server endpoint, which exposes a single file from local storage found at systemPath
, using the given path
.
A server endpoint, which exposes a single file from local storage found at systemPath
, using the given path
.
fileGetServerEndpoint("static" / "hello.html")("/home/app/static/data.html")
Attributes
- Inherited from:
- TapirStaticContentEndpoints
Attributes
- Inherited from:
- Tapir
Attributes
- Inherited from:
- TapirStaticContentEndpoints
A server endpoint, which exposes files from local storage found at systemPath
, using the given prefix
. Typically, the prefix is a
path, but it can also contain other inputs. For example:
A server endpoint, which exposes files from local storage found at systemPath
, using the given prefix
. Typically, the prefix is a
path, but it can also contain other inputs. For example:
filesGetServerEndpoint("static" / "files")("/home/app/static")
A request to /static/files/css/styles.css
will try to read the /home/app/static/css/styles.css
file.
Attributes
- Inherited from:
- TapirStaticContentEndpoints
A server endpoint, used to verify if sever supports range requests for file under particular path Additionally it verify file existence and returns its size
A server endpoint, used to verify if sever supports range requests for file under particular path Additionally it verify file existence and returns its size
Attributes
- Inherited from:
- TapirStaticContentEndpoints
Create a pair of endpoints (head, get) for exposing files from local storage found at systemPath
, using the given prefix
.
Typically, the prefix is a path, but it can also contain other inputs. For example:
Create a pair of endpoints (head, get) for exposing files from local storage found at systemPath
, using the given prefix
.
Typically, the prefix is a path, but it can also contain other inputs. For example:
filesServerEndpoints("static" / "files")("/home/app/static")
A request to /static/files/css/styles.css
will try to read the /home/app/static/css/styles.css
file.
Attributes
- Inherited from:
- TapirStaticContentEndpoints
Attributes
- Inherited from:
- Tapir
Attributes
- Inherited from:
- Tapir
Attributes
- Inherited from:
- Tapir
Attributes
- Inherited from:
- Tapir
Attributes
- Inherited from:
- Tapir
Attributes
- Inherited from:
- Tapir
Attributes
- Inherited from:
- Tapir
Attributes
- Inherited from:
- TapirComputedInputs
Attributes
- Inherited from:
- Tapir
An output which contains a number of variant outputs. Each variant can contain different outputs and represent different content. To describe an output which represents same content, but with different content types, use oneOfBody.
An output which contains a number of variant outputs. Each variant can contain different outputs and represent different content. To describe an output which represents same content, but with different content types, use oneOfBody.
All possible outputs must have a common supertype (T
). Typically, the supertype is a sealed trait, and the variants are implementing
case classes.
When encoding to a response, the first matching output is chosen, using the following rules:
- the variant's
appliesTo
method, applied to the output value (as returned by the server logic) must returntrue
. - when a fixed content type is specified by the output, it must match the request's
Accept
header (if present). This implements content negotiation.
When decoding from a response, the first output which decodes successfully is chosen.
The outputs might vary in status codes, headers (e.g. different content types), and body implementations. However, for bodies, only replayable ones can be used, and they need to have the same raw representation (e.g. all byte-array-base, or all file-based).
Note that exhaustiveness of the variants (that all subtypes of T
are covered) is not checked.
Attributes
- Inherited from:
- Tapir
Streaming variant of oneOfBody.
Streaming variant of oneOfBody.
Allows explicitly specifying the content type range, for which each body will be used, instead of defaulting to the exact media type as specified by the body's codec. This is only used when choosing which body to decode.
Attributes
- Inherited from:
- Tapir
See oneOfBody.
See oneOfBody.
Allows explicitly specifying the content type range, for which each body will be used, instead of defaulting to the exact media type as specified by the body's codec. This is only used when choosing which body to decode.
Attributes
- Inherited from:
- Tapir
Streaming variant of oneOfBody.
Streaming variant of oneOfBody.
Attributes
- Inherited from:
- Tapir
A body input or output, which can be one of the given variants. All variants should represent T
instances using different content
types. Hence, the content type is used as a discriminator to choose the appropriate variant.
A body input or output, which can be one of the given variants. All variants should represent T
instances using different content
types. Hence, the content type is used as a discriminator to choose the appropriate variant.
Should be used to describe an input or output which represents the same content, but using different content types. For an output which describes variants including possibly different outputs (representing different content), see oneOf.
The server behavior is as follows:
- when encoding to a response, the first variant matching the request's
Accept
header is chosen (if present). Otherwise, the first variant is used. This implements content negotiation. - when decoding a request, the variant corresponding to the request's
Content-Type
header is chosen (if present). Otherwise, a decode failure is returned, which by default results in an415 Unsupported Media Type
response.
The client behavior is as follows:
- when encoding a request, the first variant is used.
- when decoding a response, the variant corresponding to the response's
Content-Type
header is chosen (if present). Otherwise, the first variant is used. For client interpreters to work correctly, all body variants must have the same raw type (e.g. all are string-based or all byte-array-based)
All possible bodies must have the same type T
. Typically, the bodies will vary in the Codecs that are used for the body.
Attributes
- Inherited from:
- Tapir
Create a fallback variant to be used in oneOf output descriptions. Multiple such variants can be specified, with different body content types.
Create a fallback variant to be used in oneOf output descriptions. Multiple such variants can be specified, with different body content types.
Attributes
- Inherited from:
- Tapir
Create a one-of-variant which uses output
if the class of the provided value (when interpreting as a server) matches the runtime
class of T
. Adds a fixed status-code output with the given value.
Create a one-of-variant which uses output
if the class of the provided value (when interpreting as a server) matches the runtime
class of T
. Adds a fixed status-code output with the given value.
This will fail at compile-time if the type erasure of T
is different from T
, as a runtime check in this situation would give
invalid results. In such cases, use oneOfVariantClassMatcher, oneOfVariantValueMatcher or oneOfVariantFromMatchType
instead.
Should be used in oneOf output descriptions.
Attributes
- Inherited from:
- Tapir
Create a one-of-variant which uses output
if the class of the provided value (when interpreting as a server) matches the runtime
class of T
.
Create a one-of-variant which uses output
if the class of the provided value (when interpreting as a server) matches the runtime
class of T
.
This will fail at compile-time if the type erasure of T
is different from T
, as a runtime check in this situation would give
invalid results. In such cases, use oneOfVariantClassMatcher, oneOfVariantValueMatcher or oneOfVariantFromMatchType
instead.
Should be used in oneOf output descriptions.
Attributes
- Inherited from:
- Tapir
Create a one-of-variant which uses output
i the class of the provided value (when interpreting as a server) matches the given
runtimeClass
. Note that this does not take into account type erasure. Adds a fixed status-code output with the given value.
Create a one-of-variant which uses output
i the class of the provided value (when interpreting as a server) matches the given
runtimeClass
. Note that this does not take into account type erasure. Adds a fixed status-code output with the given value.
Should be used in oneOf output descriptions.
Attributes
- Inherited from:
- Tapir
Create a one-of-variant which uses output
if the class of the provided value (when interpreting as a server) matches the given
runtimeClass
. Note that this does not take into account type erasure.
Create a one-of-variant which uses output
if the class of the provided value (when interpreting as a server) matches the given
runtimeClass
. Note that this does not take into account type erasure.
Should be used in oneOf output descriptions.
Attributes
- Inherited from:
- Tapir
Create a one-of-variant which uses output
if the provided value exactly matches one of the values provided in the second argument
list. Adds a fixed status-code output with the given value.
Create a one-of-variant which uses output
if the provided value exactly matches one of the values provided in the second argument
list. Adds a fixed status-code output with the given value.
Should be used in oneOf output descriptions.
Attributes
- Inherited from:
- Tapir
Create a one-of-variant which output
if the provided value exactly matches one of the values provided in the second argument list.
Create a one-of-variant which output
if the provided value exactly matches one of the values provided in the second argument list.
Should be used in oneOf output descriptions.
Attributes
- Inherited from:
- Tapir
Create a one-of-variant which uses output
if the provided value matches the target type, as checked by MatchType. Instances of
MatchType are automatically derived and recursively check that classes of all fields match, to bypass issues caused by type
erasure. Adds a fixed status-code output with the given value.
Create a one-of-variant which uses output
if the provided value matches the target type, as checked by MatchType. Instances of
MatchType are automatically derived and recursively check that classes of all fields match, to bypass issues caused by type
erasure. Adds a fixed status-code output with the given value.
Should be used in oneOf output descriptions.
Attributes
- Inherited from:
- Tapir
Create a one-of-variant which uses output
if the provided value matches the target type, as checked by MatchType. Instances of
MatchType are automatically derived and recursively check that classes of all fields match, to bypass issues caused by type
erasure.
Create a one-of-variant which uses output
if the provided value matches the target type, as checked by MatchType. Instances of
MatchType are automatically derived and recursively check that classes of all fields match, to bypass issues caused by type
erasure.
Should be used in oneOf output descriptions.
Attributes
- Inherited from:
- Tapir
Create a one-of-variant which uses output
if the provided value (when interpreting as a server matches the matcher
predicate).
Adds a fixed status-code output with the given value.
Create a one-of-variant which uses output
if the provided value (when interpreting as a server matches the matcher
predicate).
Adds a fixed status-code output with the given value.
Should be used in oneOf output descriptions.
Attributes
- Inherited from:
- Tapir
Create a one-of-variant which uses output
if the provided value (when interpreting as a server matches the matcher
predicate).
Create a one-of-variant which uses output
if the provided value (when interpreting as a server matches the matcher
predicate).
Should be used in oneOf output descriptions.
Attributes
- Inherited from:
- Tapir
Attributes
- Inherited from:
- Tapir
Attributes
- Inherited from:
- Tapir
Attributes
- Inherited from:
- TapirExtensions
Attributes
- Inherited from:
- Tapir
Attributes
- Inherited from:
- Tapir
Attributes
- Inherited from:
- Tapir
Attributes
- Inherited from:
- Tapir
A query parameter in any format, read using the given codec
.
A query parameter in any format, read using the given codec
.
Attributes
- Inherited from:
- Tapir
Attributes
- Inherited from:
- Tapir
Attributes
- Inherited from:
- Tapir
A server endpoint, which exposes a single resource available from the given classLoader
at resourcePath
, using the given path
.
A server endpoint, which exposes a single resource available from the given classLoader
at resourcePath
, using the given path
.
resourceGetServerEndpoint("static" / "hello.html")(classOf[App].getClassLoader, "app/data.html")
Attributes
- Inherited from:
- TapirStaticContentEndpoints
Attributes
- Inherited from:
- TapirStaticContentEndpoints
A server endpoint, which exposes resources available from the given classLoader
, using the given prefix
. Typically, the prefix is
a path, but it can also contain other inputs. For example:
A server endpoint, which exposes resources available from the given classLoader
, using the given prefix
. Typically, the prefix is
a path, but it can also contain other inputs. For example:
resourcesGetServerEndpoint("static" / "files")(classOf[App].getClassLoader, "app")
A request to /static/files/css/styles.css
will try to read the /app/css/styles.css
resource.
Attributes
- Inherited from:
- TapirStaticContentEndpoints
Attributes
- Inherited from:
- Tapir
Attributes
- Inherited from:
- Tapir
Attributes
- Inherited from:
- Tapir
An fixed status code output.
An fixed status code output.
Attributes
- Inherited from:
- Tapir
An output which maps to the status code in the response.
An output which maps to the status code in the response.
Attributes
- Inherited from:
- Tapir
Creates a stream body with a binary schema.
Creates a stream body with a binary schema.
Attributes
- format
The media type to use by default. Can be later overridden by providing a custom
Content-Type
header.- s
A supported streams implementation.
- Inherited from:
- Tapir
Creates a stream body with the given schema.
Creates a stream body with the given schema.
Attributes
- charset
An optional charset of the resulting stream's data, to be used in the content type.
- format
The media type to use by default. Can be later overridden by providing a custom
Content-Type
header.- s
A supported streams implementation.
- schema
Schema of the body. This should be a schema for the "deserialized" stream.
- Inherited from:
- Tapir
Creates a stream body with a text schema.
Creates a stream body with a text schema.
Attributes
- charset
An optional charset of the resulting stream's data, to be used in the content type.
- format
The media type to use by default. Can be later overridden by providing a custom
Content-Type
header.- s
A supported streams implementation.
- Inherited from:
- Tapir
Attributes
- Inherited from:
- Tapir
Attributes
- Inherited from:
- Tapir
Attributes
- Inherited from:
- Tapir
A body in any format, read using the given codec
, from a raw string read using charset
.
A body in any format, read using the given codec
, from a raw string read using charset
.
Attributes
- Inherited from:
- Tapir
A body in any format, read using the given codec
, from a raw string read using UTF-8.
A body in any format, read using the given codec
, from a raw string read using UTF-8.
Attributes
- Inherited from:
- Tapir
A body in the JSON format, read from a raw string using charset
.
A body in the JSON format, read from a raw string using charset
.
Attributes
- Inherited from:
- Tapir
A body in the JSON format, read from a raw string using UTF-8.
A body in the JSON format, read from a raw string using UTF-8.
Attributes
- Inherited from:
- Tapir
Attributes
- REQ
The type of messages that are sent to the server.
- REQ_CF
The codec format (media type) of messages that are sent to the server.
- RESP
The type of messages that are received from the server.
- RESP_CF
The codec format (media type) of messages that are received from the server.
- Inherited from:
- Tapir
Attributes
- Inherited from:
- Tapir
Requires an implicit Codec.XmlCodec in scope. Such a codec can be created using Codec.xml.
Requires an implicit Codec.XmlCodec in scope. Such a codec can be created using Codec.xml.
Attributes
- Inherited from:
- Tapir
Inherited fields
An empty authentication input, to express the fact (for documentation) that authentication is optional, even in the presence of multiple optional authentication inputs (which by default are treated as alternatives).
An empty authentication input, to express the fact (for documentation) that authentication is optional, even in the presence of multiple optional authentication inputs (which by default are treated as alternatives).
Attributes
- Inherited from:
- Tapir
Attributes
- Inherited from:
- Tapir
Attributes
- Inherited from:
- Tapir
Attributes
- Inherited from:
- Tapir
Attributes
- Inherited from:
- TapirStaticContentEndpoints
Attributes
- Inherited from:
- Tapir
Attributes
- Inherited from:
- Tapir
Attributes
- Inherited from:
- Tapir
An input which matches if the request URI ends with a trailing slash, otherwise the result is a decode failure on the path. Has no effect when used by documentation or client interpreters.
An input which matches if the request URI ends with a trailing slash, otherwise the result is a decode failure on the path. Has no effect when used by documentation or client interpreters.
Attributes
- Inherited from:
- TapirComputedInputs
Attributes
- Inherited from:
- TapirStaticContentEndpoints
Implicits
Inherited implicits
Attributes
- Inherited from:
- ModifyMacroFunctorSupport
Attributes
- Inherited from:
- ModifyMacroSupport
Attributes
- Inherited from:
- ZTapir
Attributes
- Inherited from:
- ZTapir
Attributes
- Inherited from:
- ModifyMacroFunctorSupport
Attributes
- Inherited from:
- Tapir
Attributes
- Inherited from:
- ModifyMacroSupport