Package

typedapi

server

Permalink

package server

Linear Supertypes
ApiTransformer, WitnessToStringLowPrio, TypeLevelFoldLeftListLowPrio, TypeLevelFoldLeftLowPrio, AnyRef, Any
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. server
  2. ApiTransformer
  3. WitnessToStringLowPrio
  4. TypeLevelFoldLeftListLowPrio
  5. TypeLevelFoldLeftLowPrio
  6. AnyRef
  7. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. All

Type Members

  1. final case class BadRouteRequest(msg: String) extends ExtractionError with Product with Serializable

    Permalink
  2. final case class BodyType[Bd]() extends Product with Serializable

    Permalink
  3. abstract class Endpoint[El <: HList, KIn <: HList, VIn <: HList, M <: MethodType, ROut, F[_], Out] extends AnyRef

    Permalink

    Represents a server endpoint and is basically a function which gets the expected input VIn and returns the expected output.

  4. trait EndpointConstructor[F[_], Fn, El <: HList, KIn <: HList, VIn <: HList, M <: MethodType, ROut, Out] extends AnyRef

    Permalink

    Fuses RouteExtractor and the endpoint function into an Endpoint.

  5. sealed trait EndpointExecutor[El <: HList, KIn <: HList, VIn <: HList, M <: MethodType, ROut, F[_], FOut] extends AnyRef

    Permalink
    Annotations
    @implicitNotFound( ... )
  6. final case class EndpointRequest(method: String, uri: List[String], queries: Map[String, List[String]], headers: Map[String, String]) extends Product with Serializable

    Permalink

    Request representation which every server implementation has to provide.

  7. final class ExecutableCompositionDerivation[F[_]] extends AnyRef

    Permalink
  8. final class ExecutableDerivation[F[_]] extends AnyRef

    Permalink
  9. sealed trait ExtractionError extends AnyRef

    Permalink
  10. sealed trait FilterClientElements[H <: HList] extends AnyRef

    Permalink
  11. sealed trait FilterClientElementsList[H <: HList] extends AnyRef

    Permalink
  12. sealed trait FilterClientElementsLowPrio extends AnyRef

    Permalink
  13. sealed trait MergeToEndpoint[F[_], Consts <: HList, Fns <: HList] extends AnyRef

    Permalink
    Annotations
    @implicitNotFound( ... )
  14. trait MergeToEndpointLowPrio extends AnyRef

    Permalink
  15. trait MountEndpoints[S, Req, Resp] extends AnyRef

    Permalink
  16. trait NoReqBodyExecutor[El <: HList, KIn <: HList, VIn <: HList, M <: MethodType, F[_], FOut] extends EndpointExecutor[El, KIn, VIn, M, VIn, F, FOut]

    Permalink
  17. sealed trait PrecompileEndpoint[F[_], H <: HList] extends AnyRef

    Permalink

    Compiles RouteExtractor and FunApply for every API endpoint and generates expected list of endpoint functions.

    Compiles RouteExtractor and FunApply for every API endpoint and generates expected list of endpoint functions.

    Annotations
    @implicitNotFound( ... )
  18. trait PrecompileEndpointLowPrio extends AnyRef

    Permalink
  19. trait ReqBodyExecutor[El <: HList, KIn <: HList, VIn <: HList, Bd, M <: MethodType, ROut <: HList, POut <: HList, F[_], FOut] extends EndpointExecutor[El, KIn, VIn, M, (BodyType[Bd], ROut), F, FOut]

    Permalink
  20. trait RouteExtractor[El <: HList, KIn <: HList, VIn <: HList, M <: MethodType, EIn <: HList] extends AnyRef

    Permalink

    Builds a function which extracts inputs from a given requests based on the API.

    Builds a function which extracts inputs from a given requests based on the API.

    • if a request path does not fit the API definition RouteNotFound is returned
    • if a query, header, body, etc is missing BadRouteRequest is returned
    Annotations
    @implicitNotFound( ... )
  21. trait RouteExtractorLowPrio extends AnyRef

    Permalink
  22. trait RouteExtractorMediumPrio extends RouteExtractorLowPrio

    Permalink
  23. trait Serve[Req, Resp] extends AnyRef

    Permalink

    Reduces an Endpoint and its EndpointExecutor to a simple Request => Response function.

  24. sealed trait ServeToList[H <: HList, Req, Resp] extends AnyRef

    Permalink
    Annotations
    @implicitNotFound( ... )
  25. trait ServeToListLowPrio extends AnyRef

    Permalink
  26. sealed trait ServerHeaderExtractor[El <: HList] extends AnyRef

    Permalink
    Annotations
    @implicitNotFound( ... )
  27. sealed trait ServerHeaderExtractorLowPrio extends AnyRef

    Permalink
  28. final case class ServerManager[S](server: S, host: String, port: Int) extends Product with Serializable

    Permalink
  29. trait ValueExtractor[A] extends (String) ⇒ Option[A]

    Permalink
  30. trait ValueExtractorInstances extends AnyRef

    Permalink

Value Members

  1. object EndpointExecutor

    Permalink
  2. object FilterClientElements extends FilterClientElementsLowPrio

    Permalink
  3. object FilterClientElementsList

    Permalink
  4. object MergeToEndpoint extends MergeToEndpointLowPrio

    Permalink
  5. object MountEndpoints

    Permalink
  6. object PrecompileEndpoint extends PrecompileEndpointLowPrio

    Permalink
  7. object RouteExtractor extends RouteExtractorMediumPrio

    Permalink
  8. object RouteNotFound extends ExtractionError with Product with Serializable

    Permalink
  9. object ServeToList extends ServeToListLowPrio

    Permalink
  10. object ServerHeaderExtractor extends ServerHeaderExtractorLowPrio

    Permalink
  11. object ServerManager extends Serializable

    Permalink
  12. object ValueExtractor extends ValueExtractorInstances

    Permalink
  13. implicit def clientHeaderElementTransformer[K, V, El <: HList, KIn <: HList, VIn <: HList, M <: MethodType, Out]: Aux[ClientHeaderElement[K, V], (El, KIn, VIn, M, Out), (::[ClientHeader[K, V], El], KIn, VIn, M, Out)]

    Permalink
    Definition Classes
    ApiTransformer
  14. implicit def clientHeaderParamTransformer[K, V, El <: HList, KIn <: HList, VIn <: HList, M <: MethodType, Out]: Aux[ClientHeaderParam[K, V], (El, KIn, VIn, M, Out), (::[ClientHeaderInput, El], ::[K, KIn], ::[V, VIn], M, Out)]

    Permalink
    Definition Classes
    ApiTransformer
  15. implicit def deleteTransformer[MT <: MediaType, A]: Aux[DeleteElement[MT, A], Unit, (HNil, HNil, HNil, DeleteCall, FieldType[MT, A])]

    Permalink
    Definition Classes
    ApiTransformer
  16. def derive[F[_]]: ExecutableDerivation[F]

    Permalink
  17. def deriveAll[F[_]]: ExecutableCompositionDerivation[F]

    Permalink
  18. object endpointToServe extends Poly1

    Permalink
  19. implicit def fixedHeaderElementTransformer[K, V, El <: HList, KIn <: HList, VIn <: HList, M <: MethodType, Out]: Aux[FixedHeaderElement[K, V], (El, KIn, VIn, M, Out), (::[FixedHeader[K, V], El], KIn, VIn, M, Out)]

    Permalink
    Definition Classes
    ApiTransformer
  20. implicit def foldCase[H, T <: HList, Agg, FtOut, FOut](implicit f: Aux[H, Agg, FtOut], next: Lazy[Aux[T, FtOut, FOut]]): Aux[::[H, T], Agg, FOut]

    Permalink
    Definition Classes
    TypeLevelFoldLeftLowPrio
  21. implicit def folderLeftList[H <: HList, Agg, T <: HList](implicit folder0: TypeLevelFoldLeft[H, Agg], list: TypeLevelFoldLeftList[T]): TypeLevelFoldLeftList[::[H, T]] { type Out = shapeless.::[folder0.Out,list.Out] }

    Permalink
    Definition Classes
    TypeLevelFoldLeftListLowPrio
  22. implicit def getTransformer[MT <: MediaType, A]: Aux[GetElement[MT, A], Unit, (HNil, HNil, HNil, GetCall, FieldType[MT, A])]

    Permalink
    Definition Classes
    ApiTransformer
  23. implicit def headerParamTransformer[S, A, El <: HList, KIn <: HList, VIn <: HList, M <: MethodType, Out]: Aux[HeaderParam[S, A], (El, KIn, VIn, M, Out), (::[HeaderInput, El], ::[S, KIn], ::[A, VIn], M, Out)]

    Permalink
    Definition Classes
    ApiTransformer
  24. implicit def hnilCase[Agg]: Aux[HNil, Agg, Agg]

    Permalink
    Definition Classes
    TypeLevelFoldLeftLowPrio
  25. implicit def lastFoldLeftList[H <: HList, Agg](implicit folder0: TypeLevelFoldLeft[H, Agg]): TypeLevelFoldLeftList[::[H, HNil]] { type Out = shapeless.::[folder0.Out,shapeless.HNil] }

    Permalink
    Definition Classes
    TypeLevelFoldLeftListLowPrio
  26. def mount[S, End <: HList, Serv <: HList, Req, Resp, Out](server: ServerManager[S], end: End)(implicit mapper: Aux[endpointToServe.type, End, Serv], toList: ServeToList[Serv, Req, Resp], mounting: Aux[S, Req, Resp, Out]): Out

    Permalink
  27. def mount[S, El <: HList, KIn <: HList, VIn <: HList, M <: MethodType, ROut, F[_], FOut, Req, Resp, Out](server: ServerManager[S], endpoint: Endpoint[El, KIn, VIn, M, ROut, F, FOut])(implicit executor: Aux[Req, El, KIn, VIn, M, ROut, F, FOut, Resp], mounting: Aux[S, Req, Resp, Out]): Out

    Permalink
  28. implicit def pathElementTransformer[S, El <: HList, KIn <: HList, VIn <: HList, M <: MethodType, Out]: Aux[PathElement[S], (El, KIn, VIn, M, Out), (::[S, El], KIn, VIn, M, Out)]

    Permalink
    Definition Classes
    ApiTransformer
  29. implicit def postTransformer[MT <: MediaType, A]: Aux[PostElement[MT, A], Unit, (HNil, HNil, HNil, PostCall, FieldType[MT, A])]

    Permalink
    Definition Classes
    ApiTransformer
  30. implicit def postWithBodyTransformer[BMT <: MediaType, Bd, MT <: MediaType, A]: Aux[PostWithBodyElement[BMT, Bd, MT, A], Unit, (HNil, ::[FieldType[BMT, (BodyField)#T], HNil], ::[Bd, HNil], PostWithBodyCall, FieldType[MT, A])]

    Permalink
    Definition Classes
    ApiTransformer
  31. implicit def putTransformer[MT <: MediaType, A]: Aux[PutElement[MT, A], Unit, (HNil, HNil, HNil, PutCall, FieldType[MT, A])]

    Permalink
    Definition Classes
    ApiTransformer
  32. implicit def putWithBodyTransformer[BMT <: MediaType, Bd, MT <: MediaType, A]: Aux[PutWithBodyElement[BMT, Bd, MT, A], Unit, (HNil, ::[FieldType[BMT, (BodyField)#T], HNil], ::[Bd, HNil], PutWithBodyCall, FieldType[MT, A])]

    Permalink
    Definition Classes
    ApiTransformer
  33. implicit def queryListParamTransformer[S, A, El <: HList, KIn <: HList, VIn <: HList, M <: MethodType, Out]: Aux[QueryParam[S, List[A]], (El, KIn, VIn, M, Out), (::[QueryInput, El], ::[S, KIn], ::[List[A], VIn], M, Out)]

    Permalink
    Definition Classes
    ApiTransformer
  34. implicit def queryParamTransformer[S, A, El <: HList, KIn <: HList, VIn <: HList, M <: MethodType, Out]: Aux[QueryParam[S, A], (El, KIn, VIn, M, Out), (::[QueryInput, El], ::[S, KIn], ::[A, VIn], M, Out)]

    Permalink
    Definition Classes
    ApiTransformer
  35. implicit def segmentParamTransformer[S, A, El <: HList, KIn <: HList, VIn <: HList, M <: MethodType, Out]: Aux[SegmentParam[S, A], (El, KIn, VIn, M, Out), (::[SegmentInput, El], ::[S, KIn], ::[A, VIn], M, Out)]

    Permalink
    Definition Classes
    ApiTransformer
  36. implicit def serverHeaderMatchParamTransformer[K, V, El <: HList, KIn <: HList, VIn <: HList, M <: MethodType, Out]: Aux[ServerHeaderMatchParam[K, V], (El, KIn, VIn, M, Out), (::[ServerHeaderMatchInput, El], ::[K, KIn], ::[Set[V], VIn], M, Out)]

    Permalink
    Definition Classes
    ApiTransformer
  37. implicit def serverHeaderSendElementTransformer[K, V, El <: HList, KIn <: HList, VIn <: HList, M <: MethodType, Out]: Aux[ServerHeaderSendElement[K, V], (El, KIn, VIn, M, Out), (::[ServerHeaderSend[K, V], El], KIn, VIn, M, Out)]

    Permalink
    Definition Classes
    ApiTransformer
  38. implicit def stringKey[K <: String]: WitnessToString[K]

    Permalink
    Definition Classes
    WitnessToStringLowPrio
  39. implicit def symbolKey[K <: Symbol]: WitnessToString[K]

    Permalink
    Definition Classes
    WitnessToStringLowPrio

Inherited from ApiTransformer

Inherited from WitnessToStringLowPrio

Inherited from TypeLevelFoldLeftListLowPrio

Inherited from TypeLevelFoldLeftLowPrio

Inherited from AnyRef

Inherited from Any

Ungrouped