io.fintrospect

parameters

package parameters

Visibility
  1. Public
  2. All

Type Members

  1. trait Bindable[T, B <: Binding] extends AnyRef

  2. sealed trait Binding extends AnyRef

  3. abstract class Body[T] extends Iterable[BodyParameter] with Retrieval[T, HttpRequest]

  4. trait BodyParameter extends Parameter

  5. case class BodySpec[T](description: Option[String], contentType: ContentType, deserialize: (String) ⇒ T, serialize: (T) ⇒ String) extends Product with Serializable

    Spec required to marshall a body of a custom type

    Spec required to marshall a body of a custom type

    T

    the type of the parameter

    description

    Description to be used in the documentation

    contentType

    The HTTP content type header value

    deserialize

    function to take the input string from the request and attempt to construct a deserialized instance. Exceptions are automatically caught and translated into the appropriate result, so just concentrate on the Happy-path case

    serialize

    function to take the input type and serialize it to a string to be represented in the request

  6. case class Form(fields: Map[String, Set[String]]) extends Iterable[(String, Set[String])] with Product with Serializable

  7. class FormBody extends Body[Form] with Bindable[Form, Binding] with MandatoryRebind[Form, HttpRequest, Binding]

  8. abstract class FormField[T] extends BodyParameter with Validatable[T, Form] with Bindable[T, FormFieldBinding]

  9. class FormFieldBinding extends Binding

  10. abstract class HeaderParameter[T] extends Parameter with Validatable[T, HttpRequest] with Bindable[T, RequestBinding]

  11. trait Mandatory[T, From] extends Retrieval[T, From] with Parameter with Validatable[T, From]

  12. trait MandatoryRebind[T, From, B <: Binding] extends Rebindable[T, From, B]

  13. abstract class MultiFormField[T] extends FormField[Seq[T]]

  14. trait MultiParameters[P[_], R[_]] extends AnyRef

    Support for parameters which can have more than one value (e.g query parameters or forms)

  15. abstract class MultiQueryParameter[T] extends QueryParameter[Seq[T]]

  16. trait Optional[T, From] extends Retrieval[Option[T], From] with Parameter with Validatable[T, From]

  17. trait OptionalRebind[T, From, B <: Binding] extends Rebindable[T, From, B]

  18. sealed class ParamType extends AnyRef

  19. trait Parameter extends AnyRef

  20. case class ParameterSpec[T](name: String, description: Option[String] = None, paramType: ParamType, deserialize: (String) ⇒ T, serialize: (T) ⇒ String) extends Product with Serializable

    Spec required to marshall a parameter of a custom type

    Spec required to marshall a parameter of a custom type

    T

    the type of the parameter

    description

    optional description of the parameter (for use in description endpoints)

    paramType

    The parameter type to be used in the documentation. For custom types, this is usually ObjectParamType (for JSON) or StringParamType

    deserialize

    function to take the input string from the request and attempt to construct a deserialized instance of T. Exceptions are automatically caught and translated into the appropriate result, so just concentrate on the Happy-path case

    serialize

    function to take the input type and serialize it to a string to be represented in the request

    returns

    a parameter for retrieving a value of type [T] from the request

  21. trait Parameters[P[_], R[_]] extends AnyRef

    Prototype functions for creating parameters of various types.

  22. trait PathBindable[T] extends Bindable[T, PathBinding]

  23. class PathBinding extends Binding

  24. abstract class PathParameter[T] extends Parameter with Iterable[PathParameter[_]]

  25. class QueryBinding extends Binding

  26. abstract class QueryParameter[T] extends Parameter with Validatable[T, HttpRequest] with Bindable[T, QueryBinding]

  27. trait Rebindable[T, From, B <: Binding] extends AnyRef

    Used to transparently copy the value out of an incoming request (or form etc..) and into an outgoing one.

    Used to transparently copy the value out of an incoming request (or form etc..) and into an outgoing one. Useful when chaining requests together.

  28. class RequestBinding extends Binding

  29. case class RequestBuild(uriParts: Seq[String] = Seq(), queries: Map[String, Seq[String]] = Map(), fn: (HttpRequest) ⇒ HttpRequest = identity) extends Product with Serializable

  30. trait Retrieval[T, From] extends AnyRef

  31. abstract class SingleFormField[T] extends FormField[T]

  32. abstract class SingleQueryParameter[T] extends QueryParameter[T]

  33. class UniBody[T] extends Body[T] with Bindable[T, RequestBinding] with MandatoryRebind[T, HttpRequest, RequestBinding]

    Represents a generic body which can be written to and retrieved from a request.

    Represents a generic body which can be written to and retrieved from a request.

    T

    the type of the request when it has been deserialized from the request

  34. trait Validatable[T, From] extends AnyRef

Value Members

  1. object ArrayParamType extends ParamType

  2. object Body

  3. object BodySpec extends Serializable

  4. object BooleanParamType extends ParamType

  5. object Form extends Serializable

  6. object FormBody

  7. object FormField

  8. object Header

  9. object IntegerParamType extends ParamType

  10. object NullParamType extends ParamType

  11. object NumberParamType extends ParamType

  12. object ObjectParamType extends ParamType

  13. object ParameterSpec extends Serializable

    Predefined ParameterSpec instances for common types

  14. object Path extends Parameters[PathParameter, PathBindable]

  15. object Query

  16. object StringParamType extends ParamType

Ungrouped