Package

io.udash.rest

raw

Permalink

package raw

Visibility
  1. Public
  2. All

Type Members

  1. sealed abstract class AbstractMapping[V] extends PartialFunction[String, V]

    Permalink
  2. abstract class AbstractMappingCompanion[M[V] <: AbstractMapping[V]] extends AnyRef

    Permalink
  3. sealed trait HttpBody extends AnyRef

    Permalink

    Value used to represent HTTP body.

    Value used to represent HTTP body. Also used as direct encoding of Body parameter in CustomBody methods. Types that have encoding to JsonValue automatically have encoding to HttpBody with application/json media type. There is also a specialized encoding provided for Unit which returns empty HTTP body when writing and ignores the body when reading.

  4. trait HttpBodyLowPrio extends AnyRef

    Permalink
  5. final case class HttpCall(pathParams: List[PlainValue], metadata: HttpMethodMetadata[_]) extends RestMethodCall with Product with Serializable

    Permalink
  6. final case class HttpErrorException(code: Int, payload: com.avsystem.commons.OptArg[String] = OptArg.Empty, cause: Throwable = null) extends RuntimeException with NoStackTrace with Product with Serializable

    Permalink
  7. final class HttpMethod extends AbstractValueEnum

    Permalink

    Enum representing HTTP methods.

  8. final case class HttpMethodMetadata[T](name: String, methodTag: HttpMethodTag, bodyTypeTag: BodyTypeTag, parametersMetadata: RestParametersMetadata, bodyParams: List[ParamMetadata[_]], formBody: Boolean, requestAdjusters: List[RequestAdjuster], responseAdjusters: List[ResponseAdjuster], responseType: HttpResponseType[T]) extends RestMethodMetadata[T] with Product with Serializable

    Permalink
  9. final case class HttpResponseType[T]() extends Product with Serializable

    Permalink

    Typeclass used during RestMetadata materialization to determine whether a real method is a valid HTTP method.

    Typeclass used during RestMetadata materialization to determine whether a real method is a valid HTTP method. Usually this means that the result must be a type wrapped into something that captures asynchronous computation, e.g. Future. Because REST framework core tries to be agnostic about this asynchronous wrapper (not everyone likes Futures), there are no default implicits provided for HttpResponseType. They must be provided externally.

    For example, FutureRestImplicits introduces an instance of HttpResponseType for Future[T], for arbitrary type T. For RestMetadata materialization this means that every method which returns a Future is considered a valid HTTP method. FutureRestImplicits is injected into materialization of RestMetadata through one of the base companion classes, e.g. DefaultRestApiCompanion. See MacroInstances for more information on injection of implicits.

    Annotations
    @implicitNotFound( ... )
  10. final case class IMapping[V](entries: com.avsystem.commons.ISeq[(String, V)]) extends AbstractMapping[V] with Product with Serializable

    Permalink

    A version of Mapping which is case-insensitive when looking up values by key.

    A version of Mapping which is case-insensitive when looking up values by key. Used primarily to represent Header parameter values.

  11. final case class JsonValue(value: String) extends AnyVal with Product with Serializable

    Permalink

    Value used as encoding of Body parameters of JsonBody methods.

    Value used as encoding of Body parameters of JsonBody methods. Wrapped value MUST be a valid JSON.

  12. final case class Mapping[V](entries: com.avsystem.commons.ISeq[(String, V)]) extends AbstractMapping[V] with Product with Serializable

    Permalink

    Represents an immutable, ordered sequence of key-value pairs with textual keys.

    Represents an immutable, ordered sequence of key-value pairs with textual keys. Mapping additionally holds a lazy initialized map which allows fast lookup by key. When looking up values by key, duplicate entries are dropped and only the last value for given key is returned.

    Mappings have O(1) prepend, append and concatenation operations.

  13. final case class ParamMetadata[T](name: String) extends TypedMetadata[T] with Product with Serializable

    Permalink
  14. final case class PathName(value: PlainValue) extends PathPatternElement with Product with Serializable

    Permalink
  15. final case class PathParam(param: PathParamMetadata[_]) extends PathPatternElement with Product with Serializable

    Permalink
  16. final case class PathParamMetadata[T](name: String, pathAnnot: Path) extends TypedMetadata[T] with Product with Serializable

    Permalink
  17. sealed trait PathPatternElement extends AnyRef

    Permalink
  18. final case class PlainValue(value: String) extends AnyVal with Product with Serializable

    Permalink

    Value used as encoding of Path, Header and Query parameters as well as Body parameters of FormBody methods.

    Value used as encoding of Path, Header and Query parameters as well as Body parameters of FormBody methods.

    Wrapped string MUST NOT be URL-encoded.

  19. final case class PrefixCall(pathParams: List[PlainValue], metadata: PrefixMetadata[_]) extends RestMethodCall with Product with Serializable

    Permalink
  20. final case class PrefixMetadata[T](name: String, methodTag: Prefix, parametersMetadata: RestParametersMetadata, requestAdjusters: List[RequestAdjuster], responseAdjusters: List[ResponseAdjuster], result: RestMetadata.Lazy[T]) extends RestMethodMetadata[T] with Product with Serializable

    Permalink
  21. trait RawRest extends AnyRef

    Permalink
    Annotations
    @methodTag( ... ) @methodTag( ... )
  22. final case class ResolvedCall(root: RestMetadata[_], prefixes: List[PrefixCall], finalCall: HttpCall) extends Product with Serializable

    Permalink
  23. final case class RestMetadata[T](prefixMethods: List[PrefixMetadata[_]], httpGetMethods: List[HttpMethodMetadata[_]], httpBodyMethods: List[HttpMethodMetadata[_]]) extends Product with Serializable

    Permalink
    Annotations
    @implicitNotFound( ... ) @methodTag( ... ) @methodTag( ... )
  24. sealed abstract class RestMethodCall extends AnyRef

    Permalink
  25. sealed abstract class RestMethodMetadata[T] extends TypedMetadata[T]

    Permalink
  26. final case class RestParameters(path: List[PlainValue] = Nil, headers: IMapping[PlainValue] = IMapping.empty, query: Mapping[PlainValue] = Mapping.empty, cookies: Mapping[PlainValue] = Mapping.empty) extends Product with Serializable

    Permalink

    Aggregates serialized path, header and query parameters of an HTTP request.

  27. final case class RestParametersMetadata(pathParams: List[PathParamMetadata[_]], headerParams: List[ParamMetadata[_]], queryParams: List[ParamMetadata[_]], cookieParams: List[ParamMetadata[_]]) extends Product with Serializable

    Permalink
  28. final case class RestRequest(method: HttpMethod, parameters: RestParameters, body: HttpBody) extends Product with Serializable

    Permalink
  29. final case class RestResponse(code: Int, headers: IMapping[PlainValue], body: HttpBody) extends Product with Serializable

    Permalink
  30. trait RestResponseLowPrio extends AnyRef

    Permalink

Ungrouped