Endpoint

smithy4s.Endpoint
trait Endpoint[Op[_, _, _, _, _], I, E, O, SI, SO]

A representation of a smithy operation.

Attributes

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 Errorable 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 greatt many libraries)

Graph
Supertypes
class Object
trait Matchable
class Any
Self type
Endpoint[Op, I, E, O, SI, SO]

Members list

Concise view

Type members

Classlikes

object Error

Attributes

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

Value members

Abstract methods

def id: ShapeId
def input: Schema[I]
def output: Schema[O]
def wrap(input: I): Op[I, E, O, SI, SO]

Concrete methods

final def name: String