Endpoint

smithy4s.Endpoint
See theEndpoint companion object
trait Endpoint[Op[_, _, _, _, _], I, E, O, SI, SO]

A representation of a smithy operation.

Type parameters

E:

the error ADT of the operation (Nothing if N/A)

I:

the input type of the operation (Unit if N/A)

O:

the output of the operation (Unit if N/A)

Op:

the GADT of all operations in a service

SI:

the Streamed input of the operaton (Nothing if N/A)

SO:

the Streamed output of the operaton (Nothing if N/A) This type carries references to the Schemas of the various types involved, allowing to compile corresponding codecs. Optionally, an endpoint can have an ErrorSchema which allows for matching throwables against the errors the operation knows about (which form an ADT in the Scala representation) NB: SI an SO respectively are derived from the @streaming trait in smithy. If this trait is present in one on one of the members of Input/Output, the member is removed from the Scala representation, in order to avoid polluting datatypes that typically fit in memory with concerns of streaming (which can be encoded a great many ways, using a great many libraries)

Attributes

Companion
object
Graph
Supertypes
class Object
trait Matchable
class Any

Members list

Type members

Classlikes

object Error

Attributes

Supertypes
class Object
trait Matchable
class Any
Self type
Error.type

Value members

Abstract methods

def schema: OperationSchema[I, E, O, SI, SO]
def wrap(input: I): Op[I, E, O, SI, SO]

Concrete methods

final def error: Option[ErrorSchema[E]]
final def hints: Hints
final def id: ShapeId
final def input: Schema[I]
final def mapSchema(f: OperationSchema[I, E, O, SI, SO] => OperationSchema[I, E, O, SI, SO]): Endpoint[Op, I, E, O, SI, SO]
final def name: String
final def output: Schema[O]
final def streamedInput: Option[StreamingSchema[SI]]
final def streamedOutput: Option[StreamingSchema[SO]]

Deprecated methods

final def errorschema: Option[ErrorSchema[E]]

Attributes

Deprecated
[Since version 0.18]