Package

typedapi

server

Permalink

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

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

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

    Permalink

    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

    Permalink

    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

    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 case class ErrorCode(statusCode: Int) extends AnyVal with Product with Serializable

    Permalink
  8. final class ExecutableCompositionDerivation[F[_]] extends AnyRef

    Permalink
  9. final class ExecutableDerivation[F[_]] extends AnyRef

    Permalink
  10. sealed trait ExtractionError extends AnyRef

    Permalink
  11. sealed trait FilterClientElements[H <: HList] extends AnyRef

    Permalink
  12. sealed trait FilterClientElementsList[H <: HList] extends AnyRef

    Permalink
  13. sealed trait FilterClientElementsLowPrio extends AnyRef

    Permalink
  14. final case class HttpError(code: ErrorCode, message: String) extends Product with Serializable

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

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

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

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

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

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

    Permalink
  22. type Result[A] = Either[HttpError, (SuccessCode, A)]

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

    Permalink

    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

    Permalink
  25. trait RouteExtractorMediumPrio extends RouteExtractorLowPrio

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

    Permalink

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

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

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

    Permalink
  29. sealed trait ServerHeaderExtractor[El <: HList] extends AnyRef

    Permalink
    Annotations
    @implicitNotFound( ... )
  30. sealed trait ServerHeaderExtractorLowPrio extends AnyRef

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

    Permalink
  32. final case class SuccessCode(statusCode: Int) extends AnyVal with Product with Serializable

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

    Permalink
  34. trait ValueExtractorInstances extends AnyRef

    Permalink

Value Members

  1. object EndpointExecutor

    Permalink
  2. object FilterClientElements extends FilterClientElementsLowPrio

    Permalink
  3. object FilterClientElementsList

    Permalink
  4. object MergeToEndpoint extends MergeToEndpointLowPrio

    Permalink
  5. object MountEndpoints

    Permalink
  6. object PrecompileEndpoint extends PrecompileEndpointLowPrio

    Permalink
  7. object RouteExtractor extends RouteExtractorMediumPrio

    Permalink
  8. object RouteNotFound extends ExtractionError with Product with Serializable

    Permalink
  9. val SC: StatusCodes.type

    Permalink
  10. object ServeToList extends ServeToListLowPrio

    Permalink
  11. object ServerHeaderExtractor extends ServerHeaderExtractorLowPrio

    Permalink
  12. object ServerManager extends Serializable

    Permalink
  13. object StatusCodes

    Permalink
  14. object ValueExtractor extends ValueExtractorInstances

    Permalink
  15. 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)]

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

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

    Permalink
    Definition Classes
    ApiTransformer
  18. implicit def deleteTransformer[MT <: MediaType, A]: Aux[DeleteElement[MT, A], Unit, (HNil, HNil, HNil, DeleteCall, FieldType[MT, A])]

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

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

    Permalink
  21. object endpointToServe extends Poly1

    Permalink
  22. def errorWith[A](code: ErrorCode, message: String): Result[A]

    Permalink
  23. 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)]

    Permalink
    Definition Classes
    ApiTransformer
  24. 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
  25. 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
  26. implicit def getTransformer[MT <: MediaType, A]: Aux[GetElement[MT, A], Unit, (HNil, HNil, HNil, GetCall, FieldType[MT, A])]

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

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

    Permalink
    Definition Classes
    TypeLevelFoldLeftLowPrio
  29. 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
  30. 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
  31. 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

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

    Permalink
    Definition Classes
    ApiTransformer
  33. implicit def postTransformer[MT <: MediaType, A]: Aux[PostElement[MT, A], Unit, (HNil, HNil, HNil, PostCall, FieldType[MT, A])]

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

    Permalink
    Definition Classes
    ApiTransformer
  35. implicit def putTransformer[MT <: MediaType, A]: Aux[PutElement[MT, A], Unit, (HNil, HNil, HNil, PutCall, FieldType[MT, A])]

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

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

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

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

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

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

    Permalink
    Definition Classes
    ApiTransformer
  42. implicit def stringKey[K <: String]: WitnessToString[K]

    Permalink
    Definition Classes
    WitnessToStringLowPrio
  43. def success[A](a: A): Result[A]

    Permalink
  44. def successWith[A](code: SuccessCode)(a: A): Result[A]

    Permalink
  45. implicit def symbolKey[K <: Symbol]: WitnessToString[K]

    Permalink
    Definition Classes
    WitnessToStringLowPrio

Inherited from ApiTransformer

Inherited from WitnessToStringLowPrio

Inherited from TypeLevelFoldLeftListLowPrio

Inherited from TypeLevelFoldLeftLowPrio

Inherited from AnyRef

Inherited from Any

Ungrouped