Type level api representation encoded as HList.
Type level api representation encoded as HList. This wrapper is used to encapsulate shapeless code and enforces api structure: path -> all segment -> all query -> [query, header, body, method] header -> [header, body, method] body -> [method] method -> nothing
Basic operations.
Separates uri, input description and out type from ApiList
.
Separates uri, input description and out type from ApiList
.
Example:
val api: FinalCons[Get[Foo] :: Segment["name".type, String] :: "find".type :: HNil] = := :> "find" :> Segment[String]('name) :> Get[Foo]
val trans: ("name".type :: SegmentInput :: HNil, FieldType['name.type, String :: HNil], Foo)
Compose multiple type level api descriptions in a HList of HLists.
A final element is a method describing the request type.
Last set element is a header.
Header which represents its key as singleton type and describes the value type.
Header which represents its key as singleton type and describes the value type.
header key
Last set element is a path.
Static path element represented as singleton type.
Static path element represented as singleton type.
singleton type of static path element
Last set element is a query parameter.
Query parameter which represents its key as singleton type and describes the value type.
Query parameter which represents its key as singleton type and describes the value type.
query key
Last set element is a header.
Request body type description.
Last set element is a segment.
Dynamically set segment within an URI which has a unique name to reference it on input.
Dynamically set segment within an URI which has a unique name to reference it on input.
unique name reference
Reimplements shapeles Case2 but on the type level (no real HList instance)
Reimplements shapeles Case2 but on the type level (no real HList instance)
Reimplements shapeless LeftFolder but on the type level (no real HList instance)
Reimplements shapeless LeftFolder but on the type level (no real HList instance)
Helper to work on a composition of HLists we want to fold over.
Last set element is a request body.
Initial element with empty api description.
Convenience class to add headers as Map[String, String]
patch.
Convenience class to add headers as Map[String, String]
patch. This class cannot guarantee type safety.