p

typedapi

server

package server

Linear Supertypes
FoldResultEvidenceLowPrio, ApiTransformer, TypeLevelFoldLeftListLowPrio, TypeLevelFoldLeftLowPrio, AnyRef, Any
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. server
  2. FoldResultEvidenceLowPrio
  3. ApiTransformer
  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
  2. final case class BodyType[Bd]() extends Product with Serializable
  3. abstract class Endpoint[El <: HList, KIn <: HList, VIn <: HList, ROut, F[_], Out] extends AnyRef

    Container storing the extractor and function of an endpoint.

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

    Fuses RouteExtractor, FunApply and endpoint function fun into an Endpoint.

  5. sealed trait EndpointExecutor[El <: HList, KIn <: HList, VIn <: HList, ROut, F[_], FOut] extends AnyRef
    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

    Request representation which every server implementation has to provide.

  7. final class ExecutableCompositionDerivation[F[_]] extends AnyRef
  8. final class ExecutableDerivation[F[_]] extends AnyRef
  9. sealed trait ExtractionError extends AnyRef
  10. final case class FunctionComposition[Fns <: HList](fns: Fns) extends Product with Serializable
  11. sealed trait MergeToEndpoint[F[_], Consts <: HList, Fns <: HList] extends AnyRef
    Annotations
    @implicitNotFound( ... )
  12. trait MergeToEndpointLowPrio extends AnyRef
  13. trait MountEndpoints[S, Req, Resp] extends AnyRef
  14. trait NoReqBodyExecutor[El <: HList, KIn <: HList, VIn <: HList, F[_], FOut] extends EndpointExecutor[El, KIn, VIn, VIn, F, FOut]
  15. sealed trait PrecompileEndpoint[F[_], H <: HList] extends AnyRef

    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( ... )
  16. trait PrecompileEndpointLowPrio extends AnyRef
  17. trait ReqBodyExecutor[El <: HList, KIn <: HList, VIn <: HList, Bd, ROut <: HList, POut <: HList, F[_], FOut] extends EndpointExecutor[El, KIn, VIn, (BodyType[Bd], ROut), F, FOut]
  18. trait RouteExtractor[El <: HList, KIn <: HList, VIn <: HList, EIn <: HList] extends AnyRef

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

    Build 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( ... )
  19. trait RouteExtractorLowPrio extends AnyRef
  20. trait RouteExtractorMediumPrio extends RouteExtractorLowPrio
  21. trait Serve[Req, Resp] extends AnyRef

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

  22. sealed trait ServeToList[H <: HList, Req, Resp] extends AnyRef
    Annotations
    @implicitNotFound( ... )
  23. trait ServeToListLowPrio extends AnyRef
  24. final case class ServerManager[S](server: S, host: String, port: Int) extends Product with Serializable
  25. sealed trait ValueExtractor[A] extends (String) ⇒ Option[A]
  26. trait ValueExtractorInstances extends AnyRef

Value Members

  1. implicit def deleteTransformer[A]: Aux[DeleteElement[A], (HNil, HNil, HNil), (::[DeleteCall, HNil], HNil, HNil, A)]
    Definition Classes
    ApiTransformer
  2. def derive[F[_]]: ExecutableDerivation[F]
  3. def deriveAll[F[_]]: ExecutableCompositionDerivation[F]
  4. implicit def evidence[El0 <: HList, KIn0 <: HList, VIn0 <: HList, Out0]: Aux[(El0, KIn0, VIn0, Out0), El0, KIn0, VIn0, Out0]
    Definition Classes
    FoldResultEvidenceLowPrio
  5. 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]
    Definition Classes
    TypeLevelFoldLeftLowPrio
  6. implicit def folderLeftList[H <: HList, Agg, T <: HList](implicit folder0: TypeLevelFoldLeft[H, Agg], list: TypeLevelFoldLeftList[T]): TypeLevelFoldLeftList[::[H, T]] { type Out = folder0.Out :: list.Out }
    Definition Classes
    TypeLevelFoldLeftListLowPrio
  7. implicit def getTransformer[A]: Aux[GetElement[A], (HNil, HNil, HNil), (::[GetCall, HNil], HNil, HNil, A)]
    Definition Classes
    ApiTransformer
  8. implicit def headerElementTransformer[S <: Symbol, A, El <: HList, KIn <: HList, VIn <: HList, Out]: Aux[HeaderParam[S, A], (El, KIn, VIn, Out), (::[HeaderInput, El], ::[S, KIn], ::[A, VIn], Out)]
    Definition Classes
    ApiTransformer
  9. implicit def hnilCase[Agg]: Aux[HNil, Agg, Agg]
    Definition Classes
    TypeLevelFoldLeftLowPrio
  10. implicit def lastFoldLeftList[H <: HList, Agg](implicit folder0: TypeLevelFoldLeft[H, Agg]): TypeLevelFoldLeftList[::[H, HNil]] { type Out = folder0.Out :: shapeless.HNil }
    Definition Classes
    TypeLevelFoldLeftListLowPrio
  11. 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
  12. def mount[S, El <: HList, KIn <: HList, VIn <: HList, ROut, F[_], FOut, Req, Resp, Out](server: ServerManager[S], endpoint: Endpoint[El, KIn, VIn, ROut, F, FOut])(implicit executor: Aux[Req, El, KIn, VIn, ROut, F, FOut, Resp], mounting: Aux[S, Req, Resp, Out]): Out
  13. implicit def pathElementTransformer[S, El <: HList, KIn <: HList, VIn <: HList, Out]: Aux[PathElement[S], (El, KIn, VIn, Out), (::[S, El], KIn, VIn, Out)]
    Definition Classes
    ApiTransformer
  14. implicit def postTransformer[A]: Aux[PostElement[A], (HNil, HNil, HNil), (::[PostCall, HNil], HNil, HNil, A)]
    Definition Classes
    ApiTransformer
  15. implicit def postWithBodyTransformer[Bd, A]: Aux[PostWithBodyElement[Bd, A], (HNil, HNil, HNil), (::[PostWithBodyCall[Bd], HNil], ::[(BodyField)#T, HNil], ::[Bd, HNil], A)]
    Definition Classes
    ApiTransformer
  16. implicit def putTransformer[A]: Aux[PutElement[A], (HNil, HNil, HNil), (::[PutCall, HNil], HNil, HNil, A)]
    Definition Classes
    ApiTransformer
  17. implicit def putWithBodyTransformer[Bd, A]: Aux[PutWithBodyElement[Bd, A], (HNil, HNil, HNil), (::[PutWithBodyCall[Bd], HNil], ::[(BodyField)#T, HNil], ::[Bd, HNil], A)]
    Definition Classes
    ApiTransformer
  18. implicit def queryElementTransformer[S <: Symbol, A, El <: HList, KIn <: HList, VIn <: HList, Out]: Aux[QueryParam[S, A], (El, KIn, VIn, Out), (::[QueryInput, El], ::[S, KIn], ::[A, VIn], Out)]
    Definition Classes
    ApiTransformer
  19. implicit def queryListElementTransformer[S <: Symbol, A, El <: HList, KIn <: HList, VIn <: HList, Out]: Aux[QueryParam[S, List[A]], (El, KIn, VIn, Out), (::[QueryInput, El], ::[S, KIn], ::[List[A], VIn], Out)]
    Definition Classes
    ApiTransformer
  20. implicit def rawHeadersElementTransformer[El <: HList, KIn <: HList, VIn <: HList, Out]: Aux[RawHeadersParam.type, (El, KIn, VIn, Out), (::[RawHeadersInput, El], ::[(RawHeadersField)#T, KIn], ::[Map[String, String], VIn], Out)]
    Definition Classes
    ApiTransformer
  21. implicit def segmentElementTransformer[S <: Symbol, A, El <: HList, KIn <: HList, VIn <: HList, Out]: Aux[SegmentParam[S, A], (El, KIn, VIn, Out), (::[SegmentInput, El], ::[S, KIn], ::[A, VIn], Out)]
    Definition Classes
    ApiTransformer
  22. object =:
  23. object EndpointExecutor
  24. object MergeToEndpoint extends MergeToEndpointLowPrio
  25. object MountEndpoints
  26. object PrecompileEndpoint extends PrecompileEndpointLowPrio
  27. object RouteExtractor extends RouteExtractorMediumPrio
  28. object RouteNotFound extends ExtractionError with Product with Serializable
  29. object ServeToList extends ServeToListLowPrio
  30. object ServerManager extends Serializable
  31. object ValueExtractor extends ValueExtractorInstances
  32. object endpointToServe extends Poly1

Inherited from FoldResultEvidenceLowPrio

Inherited from ApiTransformer

Inherited from TypeLevelFoldLeftListLowPrio

Inherited from TypeLevelFoldLeftLowPrio

Inherited from AnyRef

Inherited from Any

Ungrouped