p

typedapi

server

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

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

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

Value Members

  1. final val Accepted: SuccessCode
    Definition Classes
    EndpointResult
  2. final val AlreadyReported: SuccessCode
    Definition Classes
    EndpointResult
  3. final val BadGateway: ErrorCode
    Definition Classes
    EndpointResult
  4. final val BadRequest: ErrorCode
    Definition Classes
    EndpointResult
  5. final val ClientClosedRequest: ErrorCode
    Definition Classes
    EndpointResult
  6. final val Conflict: ErrorCode
    Definition Classes
    EndpointResult
  7. final val ConnectionClosedWithoutResult: ErrorCode
    Definition Classes
    EndpointResult
  8. final val Continue: SuccessCode
    Definition Classes
    EndpointResult
  9. final val Created: SuccessCode
    Definition Classes
    EndpointResult
  10. final val ExpectationFailed: ErrorCode
    Definition Classes
    EndpointResult
  11. final val FailedDependency: ErrorCode
    Definition Classes
    EndpointResult
  12. final val Forbidden: ErrorCode
    Definition Classes
    EndpointResult
  13. final val Found: SuccessCode
    Definition Classes
    EndpointResult
  14. final val GatewayTimeout: ErrorCode
    Definition Classes
    EndpointResult
  15. final val Gone: ErrorCode
    Definition Classes
    EndpointResult
  16. final val HTTPVersionNotSupported: ErrorCode
    Definition Classes
    EndpointResult
  17. final val IMUsed: SuccessCode
    Definition Classes
    EndpointResult
  18. final val ImAteapot: ErrorCode
    Definition Classes
    EndpointResult
  19. final val InsufficientStorage: ErrorCode
    Definition Classes
    EndpointResult
  20. final val InternalServerError: ErrorCode
    Definition Classes
    EndpointResult
  21. final val LengthRequired: ErrorCode
    Definition Classes
    EndpointResult
  22. final val Locked: ErrorCode
    Definition Classes
    EndpointResult
  23. final val LoopDetected: ErrorCode
    Definition Classes
    EndpointResult
  24. final val MethodNotAllowed: ErrorCode
    Definition Classes
    EndpointResult
  25. final val MisdirectedRequest: ErrorCode
    Definition Classes
    EndpointResult
  26. final val MovedPermanently: SuccessCode
    Definition Classes
    EndpointResult
  27. final val MultiStatus: SuccessCode
    Definition Classes
    EndpointResult
  28. final val MultipleChoices: SuccessCode
    Definition Classes
    EndpointResult
  29. final val NetworkAuthenticationRequired: ErrorCode
    Definition Classes
    EndpointResult
  30. final val NetworkConnectTimeoutError: ErrorCode
    Definition Classes
    EndpointResult
  31. final val NoContent: SuccessCode
    Definition Classes
    EndpointResult
  32. final val NonAuthoritativeInformation: SuccessCode
    Definition Classes
    EndpointResult
  33. final val NotAcceptable: ErrorCode
    Definition Classes
    EndpointResult
  34. final val NotExtended: ErrorCode
    Definition Classes
    EndpointResult
  35. final val NotFound: ErrorCode
    Definition Classes
    EndpointResult
  36. final val NotImplemented: ErrorCode
    Definition Classes
    EndpointResult
  37. final val NotModified: SuccessCode
    Definition Classes
    EndpointResult
  38. final val Ok: SuccessCode
    Definition Classes
    EndpointResult
  39. final val PartialContent: SuccessCode
    Definition Classes
    EndpointResult
  40. final val PayloadTooLarge: ErrorCode
    Definition Classes
    EndpointResult
  41. final val PaymentRequired: ErrorCode
    Definition Classes
    EndpointResult
  42. final val PermanentRedirect: SuccessCode
    Definition Classes
    EndpointResult
  43. final val PreconditionFailed: ErrorCode
    Definition Classes
    EndpointResult
  44. final val PreconditionRequired: ErrorCode
    Definition Classes
    EndpointResult
  45. final val Processing: SuccessCode
    Definition Classes
    EndpointResult
  46. final val ProxyAuthenticationRequired: ErrorCode
    Definition Classes
    EndpointResult
  47. final val RequestHeaderFieldsTooLarge: ErrorCode
    Definition Classes
    EndpointResult
  48. final val RequestTimeout: ErrorCode
    Definition Classes
    EndpointResult
  49. final val RequestURITooLong: ErrorCode
    Definition Classes
    EndpointResult
  50. final val RequestedRangeNotSatisfiable: ErrorCode
    Definition Classes
    EndpointResult
  51. final val ResetContent: SuccessCode
    Definition Classes
    EndpointResult
  52. final val SeeOther: SuccessCode
    Definition Classes
    EndpointResult
  53. final val ServiceUnavailable: ErrorCode
    Definition Classes
    EndpointResult
  54. final val SwitchingProtocols: SuccessCode
    Definition Classes
    EndpointResult
  55. final val TemporaryRedirect: SuccessCode
    Definition Classes
    EndpointResult
  56. final val TooManyRequests: ErrorCode
    Definition Classes
    EndpointResult
  57. final val Unauthorized: ErrorCode
    Definition Classes
    EndpointResult
  58. final val UnavailableForLegalReasons: ErrorCode
    Definition Classes
    EndpointResult
  59. final val UnprocessableEntity: ErrorCode
    Definition Classes
    EndpointResult
  60. final val UnsupportedMediaType: ErrorCode
    Definition Classes
    EndpointResult
  61. final val UpgradeRequired: ErrorCode
    Definition Classes
    EndpointResult
  62. final val UseProxy: SuccessCode
    Definition Classes
    EndpointResult
  63. final val VariantAlsoNegotiates: ErrorCode
    Definition Classes
    EndpointResult
  64. 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
  65. 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
  66. 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
  67. implicit def deleteTransformer[MT <: MediaType, A]: Aux[DeleteElement[MT, A], Unit, (HNil, HNil, HNil, DeleteCall, FieldType[MT, A])]
    Definition Classes
    ApiTransformer
  68. def derive[F[_]]: ExecutableDerivation[F]
  69. def deriveAll[F[_]]: ExecutableCompositionDerivation[F]
  70. final def errorWith[A](code: ErrorCode, message: String): Result[A]
    Definition Classes
    EndpointResult
  71. 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
  72. 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
  73. 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
  74. implicit def getTransformer[MT <: MediaType, A]: Aux[GetElement[MT, A], Unit, (HNil, HNil, HNil, GetCall, FieldType[MT, A])]
    Definition Classes
    ApiTransformer
  75. 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
  76. implicit def hnilCase[Agg]: Aux[HNil, Agg, Agg]
    Definition Classes
    TypeLevelFoldLeftLowPrio
  77. implicit def lastFoldLeftList[H <: HList, Agg](implicit folder0: TypeLevelFoldLeft[H, Agg]): TypeLevelFoldLeftList[::[H, HNil]] { type Out = folder0.Out :: shapeless.HNil }
    Definition Classes
    TypeLevelFoldLeftListLowPrio
  78. 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
  79. 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
  80. 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
  81. implicit def postTransformer[MT <: MediaType, A]: Aux[PostElement[MT, A], Unit, (HNil, HNil, HNil, PostCall, FieldType[MT, A])]
    Definition Classes
    ApiTransformer
  82. 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
  83. implicit def putTransformer[MT <: MediaType, A]: Aux[PutElement[MT, A], Unit, (HNil, HNil, HNil, PutCall, FieldType[MT, A])]
    Definition Classes
    ApiTransformer
  84. 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
  85. 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
  86. 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
  87. 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
  88. 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
  89. 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
  90. implicit def stringKey[K <: String]: WitnessToString[K]
    Definition Classes
    WitnessToStringLowPrio
  91. final def success[A](a: A): Result[A]
    Definition Classes
    EndpointResult
  92. final def successWith[A](code: SuccessCode)(a: A): Result[A]
    Definition Classes
    EndpointResult
  93. implicit def symbolKey[K <: Symbol]: WitnessToString[K]
    Definition Classes
    WitnessToStringLowPrio
  94. object EndpointExecutor
  95. object FilterClientElements extends FilterClientElementsLowPrio
  96. object FilterClientElementsList
  97. object MergeToEndpoint extends MergeToEndpointLowPrio
  98. object MountEndpoints
  99. object PrecompileEndpoint extends PrecompileEndpointLowPrio
  100. object RouteExtractor extends RouteExtractorMediumPrio
  101. object RouteNotFound extends ExtractionError with Product with Serializable
  102. object ServeToList extends ServeToListLowPrio
  103. object ServerHeaderExtractor extends ServerHeaderExtractorLowPrio
  104. object ServerManager extends Serializable
  105. object ValueExtractor extends ValueExtractorInstances
  106. object endpointToServe extends Poly1

Inherited from EndpointResult

Inherited from ApiTransformer

Inherited from WitnessToStringLowPrio

Inherited from TypeLevelFoldLeftListLowPrio

Inherited from TypeLevelFoldLeftLowPrio

Inherited from AnyRef

Inherited from Any

Ungrouped