Package

typedapi

server

Permalink

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

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

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

    Permalink

    Container storing the extractor and function of an endpoint.

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

    Permalink

    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

    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. final case class FunctionComposition[Fns <: HList](fns: Fns) extends Product with Serializable

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

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

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

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

    Permalink
  15. 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( ... )
  16. trait PrecompileEndpointLowPrio extends AnyRef

    Permalink
  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]

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

    Permalink

    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

    Permalink
  20. trait RouteExtractorMediumPrio extends RouteExtractorLowPrio

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

    Permalink

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

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

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

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

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

    Permalink
  26. trait ValueExtractorInstances extends AnyRef

    Permalink

Value Members

  1. object =:

    Permalink
  2. object EndpointExecutor

    Permalink
  3. object MergeToEndpoint extends MergeToEndpointLowPrio

    Permalink
  4. object MountEndpoints

    Permalink
  5. object PrecompileEndpoint extends PrecompileEndpointLowPrio

    Permalink
  6. object RouteExtractor extends RouteExtractorMediumPrio

    Permalink
  7. object RouteNotFound extends ExtractionError with Product with Serializable

    Permalink
  8. object ServeToList extends ServeToListLowPrio

    Permalink
  9. object ServerManager extends Serializable

    Permalink
  10. object ValueExtractor extends ValueExtractorInstances

    Permalink
  11. implicit def deleteTransformer[A]: Aux[DeleteElement[A], (HNil, HNil, HNil), (::[DeleteCall, HNil], HNil, HNil, A)]

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

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

    Permalink
  14. object endpointToServe extends Poly1

    Permalink
  15. implicit def evidence[El0 <: HList, KIn0 <: HList, VIn0 <: HList, Out0]: Aux[(El0, KIn0, VIn0, Out0), El0, KIn0, VIn0, Out0]

    Permalink
    Definition Classes
    FoldResultEvidenceLowPrio
  16. 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
  17. 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
  18. implicit def getTransformer[A]: Aux[GetElement[A], (HNil, HNil, HNil), (::[GetCall, HNil], HNil, HNil, A)]

    Permalink
    Definition Classes
    ApiTransformer
  19. 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)]

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

    Permalink
    Definition Classes
    TypeLevelFoldLeftLowPrio
  21. 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
  22. 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
  23. 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

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

    Permalink
    Definition Classes
    ApiTransformer
  25. implicit def postTransformer[A]: Aux[PostElement[A], (HNil, HNil, HNil), (::[PostCall, HNil], HNil, HNil, A)]

    Permalink
    Definition Classes
    ApiTransformer
  26. implicit def postWithBodyTransformer[Bd, A]: Aux[PostWithBodyElement[Bd, A], (HNil, HNil, HNil), (::[PostWithBodyCall[Bd], HNil], ::[(BodyField)#T, HNil], ::[Bd, HNil], A)]

    Permalink
    Definition Classes
    ApiTransformer
  27. implicit def putTransformer[A]: Aux[PutElement[A], (HNil, HNil, HNil), (::[PutCall, HNil], HNil, HNil, A)]

    Permalink
    Definition Classes
    ApiTransformer
  28. implicit def putWithBodyTransformer[Bd, A]: Aux[PutWithBodyElement[Bd, A], (HNil, HNil, HNil), (::[PutWithBodyCall[Bd], HNil], ::[(BodyField)#T, HNil], ::[Bd, HNil], A)]

    Permalink
    Definition Classes
    ApiTransformer
  29. 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)]

    Permalink
    Definition Classes
    ApiTransformer
  30. 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)]

    Permalink
    Definition Classes
    ApiTransformer
  31. 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)]

    Permalink
    Definition Classes
    ApiTransformer
  32. 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)]

    Permalink
    Definition Classes
    ApiTransformer

Inherited from FoldResultEvidenceLowPrio

Inherited from ApiTransformer

Inherited from TypeLevelFoldLeftListLowPrio

Inherited from TypeLevelFoldLeftLowPrio

Inherited from AnyRef

Inherited from Any

Ungrouped