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 case class ErrorCode(statusCode: Int) extends AnyVal with Product with Serializable
  8. final class ExecutableCompositionDerivation[F[_]] extends AnyRef
  9. final class ExecutableDerivation[F[_]] extends AnyRef
  10. sealed trait ExtractionError extends AnyRef
  11. sealed trait FilterClientElements[H <: HList] extends AnyRef
  12. sealed trait FilterClientElementsList[H <: HList] extends AnyRef
  13. sealed trait FilterClientElementsLowPrio extends AnyRef
  14. final case class HttpError(code: ErrorCode, message: String) extends Product with Serializable
  15. sealed trait MergeToEndpoint[F[_], Consts <: HList, Fns <: HList] extends AnyRef
    Annotations
    @implicitNotFound( ... )
  16. trait MergeToEndpointLowPrio extends AnyRef
  17. trait MountEndpoints[S, Req, Resp] extends AnyRef
  18. trait NoReqBodyExecutor[El <: HList, KIn <: HList, VIn <: HList, M <: MethodType, F[_], FOut] extends EndpointExecutor[El, KIn, VIn, M, VIn, F, FOut]
  19. 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( ... )
  20. trait PrecompileEndpointLowPrio extends AnyRef
  21. 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]
  22. type Result[A] = Either[HttpError, (SuccessCode, A)]
  23. 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( ... )
  24. trait RouteExtractorLowPrio extends AnyRef
  25. trait RouteExtractorMediumPrio extends RouteExtractorLowPrio
  26. trait Serve[Req, Resp] extends AnyRef

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

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

Value Members

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

Inherited from ApiTransformer

Inherited from WitnessToStringLowPrio

Inherited from TypeLevelFoldLeftListLowPrio

Inherited from TypeLevelFoldLeftLowPrio

Inherited from AnyRef

Inherited from Any

Ungrouped