Package

typedapi

server

Permalink

package server

Linear Supertypes
EndpointResult, ApiTransformer, WitnessToStringLowPrio, TypeLevelFoldLeftListLowPrio, TypeLevelFoldLeftLowPrio, AnyRef, Any
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. server
  2. EndpointResult
  3. ApiTransformer
  4. WitnessToStringLowPrio
  5. TypeLevelFoldLeftListLowPrio
  6. TypeLevelFoldLeftLowPrio
  7. AnyRef
  8. 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. trait EndpointResult extends AnyRef

    Permalink
  8. final case class ErrorCode(statusCode: Int) extends AnyVal with Product with Serializable

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

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

    Permalink
  11. sealed trait ExtractionError extends AnyRef

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

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

    Permalink
  14. sealed trait FilterClientElementsLowPrio extends AnyRef

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

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

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

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

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

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

    Permalink
  22. 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
  23. type Result[A] = Either[HttpError, (SuccessCode, A)]

    Permalink
    Definition Classes
    EndpointResult
  24. 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( ... )
  25. trait RouteExtractorLowPrio extends AnyRef

    Permalink
  26. trait RouteExtractorMediumPrio extends RouteExtractorLowPrio

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

    Permalink

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

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

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

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

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

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

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

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

    Permalink
  35. trait ValueExtractorInstances extends AnyRef

    Permalink

Value Members

  1. final val Accepted: SuccessCode

    Permalink
    Definition Classes
    EndpointResult
  2. final val AlreadyReported: SuccessCode

    Permalink
    Definition Classes
    EndpointResult
  3. final val BadGateway: ErrorCode

    Permalink
    Definition Classes
    EndpointResult
  4. final val BadRequest: ErrorCode

    Permalink
    Definition Classes
    EndpointResult
  5. final val ClientClosedRequest: ErrorCode

    Permalink
    Definition Classes
    EndpointResult
  6. final val Conflict: ErrorCode

    Permalink
    Definition Classes
    EndpointResult
  7. final val ConnectionClosedWithoutResult: ErrorCode

    Permalink
    Definition Classes
    EndpointResult
  8. final val Continue: SuccessCode

    Permalink
    Definition Classes
    EndpointResult
  9. final val Created: SuccessCode

    Permalink
    Definition Classes
    EndpointResult
  10. object EndpointExecutor

    Permalink
  11. final val ExpectationFailed: ErrorCode

    Permalink
    Definition Classes
    EndpointResult
  12. final val FailedDependency: ErrorCode

    Permalink
    Definition Classes
    EndpointResult
  13. object FilterClientElements extends FilterClientElementsLowPrio

    Permalink
  14. object FilterClientElementsList

    Permalink
  15. final val Forbidden: ErrorCode

    Permalink
    Definition Classes
    EndpointResult
  16. final val Found: SuccessCode

    Permalink
    Definition Classes
    EndpointResult
  17. final val GatewayTimeout: ErrorCode

    Permalink
    Definition Classes
    EndpointResult
  18. final val Gone: ErrorCode

    Permalink
    Definition Classes
    EndpointResult
  19. final val HTTPVersionNotSupported: ErrorCode

    Permalink
    Definition Classes
    EndpointResult
  20. final val IMUsed: SuccessCode

    Permalink
    Definition Classes
    EndpointResult
  21. final val ImAteapot: ErrorCode

    Permalink
    Definition Classes
    EndpointResult
  22. final val InsufficientStorage: ErrorCode

    Permalink
    Definition Classes
    EndpointResult
  23. final val InternalServerError: ErrorCode

    Permalink
    Definition Classes
    EndpointResult
  24. final val LengthRequired: ErrorCode

    Permalink
    Definition Classes
    EndpointResult
  25. final val Locked: ErrorCode

    Permalink
    Definition Classes
    EndpointResult
  26. final val LoopDetected: ErrorCode

    Permalink
    Definition Classes
    EndpointResult
  27. object MergeToEndpoint extends MergeToEndpointLowPrio

    Permalink
  28. final val MethodNotAllowed: ErrorCode

    Permalink
    Definition Classes
    EndpointResult
  29. final val MisdirectedRequest: ErrorCode

    Permalink
    Definition Classes
    EndpointResult
  30. object MountEndpoints

    Permalink
  31. final val MovedPermanently: SuccessCode

    Permalink
    Definition Classes
    EndpointResult
  32. final val MultiStatus: SuccessCode

    Permalink
    Definition Classes
    EndpointResult
  33. final val MultipleChoices: SuccessCode

    Permalink
    Definition Classes
    EndpointResult
  34. final val NetworkAuthenticationRequired: ErrorCode

    Permalink
    Definition Classes
    EndpointResult
  35. final val NetworkConnectTimeoutError: ErrorCode

    Permalink
    Definition Classes
    EndpointResult
  36. final val NoContent: SuccessCode

    Permalink
    Definition Classes
    EndpointResult
  37. final val NonAuthoritativeInformation: SuccessCode

    Permalink
    Definition Classes
    EndpointResult
  38. final val NotAcceptable: ErrorCode

    Permalink
    Definition Classes
    EndpointResult
  39. final val NotExtended: ErrorCode

    Permalink
    Definition Classes
    EndpointResult
  40. final val NotFound: ErrorCode

    Permalink
    Definition Classes
    EndpointResult
  41. final val NotImplemented: ErrorCode

    Permalink
    Definition Classes
    EndpointResult
  42. final val NotModified: SuccessCode

    Permalink
    Definition Classes
    EndpointResult
  43. final val Ok: SuccessCode

    Permalink
    Definition Classes
    EndpointResult
  44. final val PartialContent: SuccessCode

    Permalink
    Definition Classes
    EndpointResult
  45. final val PayloadTooLarge: ErrorCode

    Permalink
    Definition Classes
    EndpointResult
  46. final val PaymentRequired: ErrorCode

    Permalink
    Definition Classes
    EndpointResult
  47. final val PermanentRedirect: SuccessCode

    Permalink
    Definition Classes
    EndpointResult
  48. object PrecompileEndpoint extends PrecompileEndpointLowPrio

    Permalink
  49. final val PreconditionFailed: ErrorCode

    Permalink
    Definition Classes
    EndpointResult
  50. final val PreconditionRequired: ErrorCode

    Permalink
    Definition Classes
    EndpointResult
  51. final val Processing: SuccessCode

    Permalink
    Definition Classes
    EndpointResult
  52. final val ProxyAuthenticationRequired: ErrorCode

    Permalink
    Definition Classes
    EndpointResult
  53. final val RequestHeaderFieldsTooLarge: ErrorCode

    Permalink
    Definition Classes
    EndpointResult
  54. final val RequestTimeout: ErrorCode

    Permalink
    Definition Classes
    EndpointResult
  55. final val RequestURITooLong: ErrorCode

    Permalink
    Definition Classes
    EndpointResult
  56. final val RequestedRangeNotSatisfiable: ErrorCode

    Permalink
    Definition Classes
    EndpointResult
  57. final val ResetContent: SuccessCode

    Permalink
    Definition Classes
    EndpointResult
  58. object RouteExtractor extends RouteExtractorMediumPrio

    Permalink
  59. object RouteNotFound extends ExtractionError with Product with Serializable

    Permalink
  60. final val SeeOther: SuccessCode

    Permalink
    Definition Classes
    EndpointResult
  61. object ServeToList extends ServeToListLowPrio

    Permalink
  62. object ServerHeaderExtractor extends ServerHeaderExtractorLowPrio

    Permalink
  63. object ServerManager extends Serializable

    Permalink
  64. final val ServiceUnavailable: ErrorCode

    Permalink
    Definition Classes
    EndpointResult
  65. final val SwitchingProtocols: SuccessCode

    Permalink
    Definition Classes
    EndpointResult
  66. final val TemporaryRedirect: SuccessCode

    Permalink
    Definition Classes
    EndpointResult
  67. final val TooManyRequests: ErrorCode

    Permalink
    Definition Classes
    EndpointResult
  68. final val Unauthorized: ErrorCode

    Permalink
    Definition Classes
    EndpointResult
  69. final val UnavailableForLegalReasons: ErrorCode

    Permalink
    Definition Classes
    EndpointResult
  70. final val UnprocessableEntity: ErrorCode

    Permalink
    Definition Classes
    EndpointResult
  71. final val UnsupportedMediaType: ErrorCode

    Permalink
    Definition Classes
    EndpointResult
  72. final val UpgradeRequired: ErrorCode

    Permalink
    Definition Classes
    EndpointResult
  73. final val UseProxy: SuccessCode

    Permalink
    Definition Classes
    EndpointResult
  74. object ValueExtractor extends ValueExtractorInstances

    Permalink
  75. final val VariantAlsoNegotiates: ErrorCode

    Permalink
    Definition Classes
    EndpointResult
  76. 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
  77. 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
  78. implicit def deleteTransformer[MT <: MediaType, A]: Aux[DeleteElement[MT, A], Unit, (HNil, HNil, HNil, DeleteCall, FieldType[MT, A])]

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

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

    Permalink
  81. object endpointToServe extends Poly1

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

    Permalink
    Definition Classes
    EndpointResult
  83. 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
  84. 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
  85. 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
  86. implicit def getTransformer[MT <: MediaType, A]: Aux[GetElement[MT, A], Unit, (HNil, HNil, HNil, GetCall, FieldType[MT, A])]

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

    Permalink
    Definition Classes
    TypeLevelFoldLeftLowPrio
  89. 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
  90. 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
  91. 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
  92. 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
  93. implicit def postTransformer[MT <: MediaType, A]: Aux[PostElement[MT, A], Unit, (HNil, HNil, HNil, PostCall, FieldType[MT, A])]

    Permalink
    Definition Classes
    ApiTransformer
  94. 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
  95. implicit def putTransformer[MT <: MediaType, A]: Aux[PutElement[MT, A], Unit, (HNil, HNil, HNil, PutCall, FieldType[MT, A])]

    Permalink
    Definition Classes
    ApiTransformer
  96. 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
  97. 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
  98. 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
  99. 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
  100. 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)]

    Permalink
    Definition Classes
    ApiTransformer
  101. 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
  102. implicit def stringKey[K <: String]: WitnessToString[K]

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

    Permalink
    Definition Classes
    EndpointResult
  104. final def successWith[A](code: SuccessCode)(a: A): Result[A]

    Permalink
    Definition Classes
    EndpointResult
  105. implicit def symbolKey[K <: Symbol]: WitnessToString[K]

    Permalink
    Definition Classes
    WitnessToStringLowPrio

Inherited from EndpointResult

Inherited from ApiTransformer

Inherited from WitnessToStringLowPrio

Inherited from TypeLevelFoldLeftListLowPrio

Inherited from TypeLevelFoldLeftLowPrio

Inherited from AnyRef

Inherited from Any

Ungrouped