p

typedapi

server

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
  2. final case class BodyType[Bd]() extends Product with Serializable
  3. abstract class Endpoint[El <: HList, KIn <: HList, VIn <: HList, M <: MethodType, ROut, F[_], Out] extends AnyRef

    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

    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
    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. sealed trait FilterClientElements[H <: HList] extends AnyRef
  11. sealed trait FilterClientElementsList[H <: HList] extends AnyRef
  12. sealed trait FilterClientElementsLowPrio extends AnyRef
  13. sealed trait MergeToEndpoint[F[_], Consts <: HList, Fns <: HList] extends AnyRef
    Annotations
    @implicitNotFound( ... )
  14. trait MergeToEndpointLowPrio extends AnyRef
  15. trait MountEndpoints[S, Req, Resp] extends AnyRef
  16. trait NoReqBodyExecutor[El <: HList, KIn <: HList, VIn <: HList, M <: MethodType, F[_], FOut] extends EndpointExecutor[El, KIn, VIn, M, VIn, F, FOut]
  17. 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( ... )
  18. trait PrecompileEndpointLowPrio extends AnyRef
  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]
  20. trait RouteExtractor[El <: HList, KIn <: HList, VIn <: HList, M <: MethodType, EIn <: HList] extends AnyRef

    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
  22. trait RouteExtractorMediumPrio extends RouteExtractorLowPrio
  23. trait Serve[Req, Resp] extends AnyRef

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

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

Value Members

  1. 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)]
    Definition Classes
    ApiTransformer
  2. 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)]
    Definition Classes
    ApiTransformer
  3. implicit def deleteTransformer[MT <: MediaType, A]: Aux[DeleteElement[MT, A], Unit, (HNil, HNil, HNil, DeleteCall, FieldType[MT, A])]
    Definition Classes
    ApiTransformer
  4. def derive[F[_]]: ExecutableDerivation[F]
  5. def deriveAll[F[_]]: ExecutableCompositionDerivation[F]
  6. 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)]
    Definition Classes
    ApiTransformer
  7. 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
  8. 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
  9. implicit def getTransformer[MT <: MediaType, A]: Aux[GetElement[MT, A], Unit, (HNil, HNil, HNil, GetCall, FieldType[MT, A])]
    Definition Classes
    ApiTransformer
  10. 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)]
    Definition Classes
    ApiTransformer
  11. implicit def hnilCase[Agg]: Aux[HNil, Agg, Agg]
    Definition Classes
    TypeLevelFoldLeftLowPrio
  12. implicit def lastFoldLeftList[H <: HList, Agg](implicit folder0: TypeLevelFoldLeft[H, Agg]): TypeLevelFoldLeftList[::[H, HNil]] { type Out = folder0.Out :: shapeless.HNil }
    Definition Classes
    TypeLevelFoldLeftListLowPrio
  13. 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
  14. 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
  15. 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)]
    Definition Classes
    ApiTransformer
  16. implicit def postTransformer[MT <: MediaType, A]: Aux[PostElement[MT, A], Unit, (HNil, HNil, HNil, PostCall, FieldType[MT, A])]
    Definition Classes
    ApiTransformer
  17. 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])]
    Definition Classes
    ApiTransformer
  18. implicit def putTransformer[MT <: MediaType, A]: Aux[PutElement[MT, A], Unit, (HNil, HNil, HNil, PutCall, FieldType[MT, A])]
    Definition Classes
    ApiTransformer
  19. 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])]
    Definition Classes
    ApiTransformer
  20. 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)]
    Definition Classes
    ApiTransformer
  21. 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)]
    Definition Classes
    ApiTransformer
  22. 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)]
    Definition Classes
    ApiTransformer
  23. 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)]
    Definition Classes
    ApiTransformer
  24. 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)]
    Definition Classes
    ApiTransformer
  25. implicit def stringKey[K <: String]: WitnessToString[K]
    Definition Classes
    WitnessToStringLowPrio
  26. implicit def symbolKey[K <: Symbol]: WitnessToString[K]
    Definition Classes
    WitnessToStringLowPrio
  27. object EndpointExecutor
  28. object FilterClientElements extends FilterClientElementsLowPrio
  29. object FilterClientElementsList
  30. object MergeToEndpoint extends MergeToEndpointLowPrio
  31. object MountEndpoints
  32. object PrecompileEndpoint extends PrecompileEndpointLowPrio
  33. object RouteExtractor extends RouteExtractorMediumPrio
  34. object RouteNotFound extends ExtractionError with Product with Serializable
  35. object ServeToList extends ServeToListLowPrio
  36. object ServerHeaderExtractor extends ServerHeaderExtractorLowPrio
  37. object ServerManager extends Serializable
  38. object ValueExtractor extends ValueExtractorInstances
  39. object endpointToServe extends Poly1

Inherited from ApiTransformer

Inherited from WitnessToStringLowPrio

Inherited from TypeLevelFoldLeftListLowPrio

Inherited from TypeLevelFoldLeftLowPrio

Inherited from AnyRef

Inherited from Any

Ungrouped