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. sealed trait MergeToEndpoint[F[_], Consts <: HList, Fns <: HList] extends AnyRef

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

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

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

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

    Permalink
  16. 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
  17. 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( ... )
  18. trait RouteExtractorLowPrio extends AnyRef

    Permalink
  19. trait RouteExtractorMediumPrio extends RouteExtractorLowPrio

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

    Permalink

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

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

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

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

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

    Permalink
  25. trait ValueExtractorInstances extends AnyRef

    Permalink

Value Members

  1. object EndpointExecutor

    Permalink
  2. object MergeToEndpoint extends MergeToEndpointLowPrio

    Permalink
  3. object MountEndpoints

    Permalink
  4. object PrecompileEndpoint extends PrecompileEndpointLowPrio

    Permalink
  5. object RouteExtractor extends RouteExtractorMediumPrio

    Permalink
  6. object RouteNotFound extends ExtractionError with Product with Serializable

    Permalink
  7. object ServeToList extends ServeToListLowPrio

    Permalink
  8. object ServerManager extends Serializable

    Permalink
  9. object ValueExtractor extends ValueExtractorInstances

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

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

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

    Permalink
  13. object endpointToServe extends Poly1

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

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

    Permalink
    Definition Classes
    ApiTransformer
  18. 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
  19. implicit def hnilCase[Agg]: Aux[HNil, Agg, Agg]

    Permalink
    Definition Classes
    TypeLevelFoldLeftLowPrio
  20. 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
  21. 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
  22. 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
  23. 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
  24. implicit def postTransformer[A]: Aux[PostElement[A], (HNil, HNil, HNil), (::[PostCall, HNil], HNil, HNil, A)]

    Permalink
    Definition Classes
    ApiTransformer
  25. 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
  26. implicit def putTransformer[A]: Aux[PutElement[A], (HNil, HNil, HNil), (::[PutCall, HNil], HNil, HNil, A)]

    Permalink
    Definition Classes
    ApiTransformer
  27. 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
  28. 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
  29. 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
  30. 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
  31. 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