io.fintrospect

parameters

package parameters

Visibility
  1. Public
  2. All

Type Members

  1. case class ApiKey[T, K >: Request](param: Parameter with Mandatory[T, K], validateKey: (T) ⇒ Future[Boolean]) extends Security with Product with Serializable

    Checks the presence of the named Api Key parameter.

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

    Allows binding of a value to an entity (eg.

  3. sealed trait Binding extends AnyRef

    Represents the binding of a parameter to it's value in a particular context

  4. abstract class Body[T] extends Iterable[BodyParameter] with Mandatory[T, Message] with Validatable[T, Message]

  5. trait BodyParameter extends Parameter

  6. 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

  7. trait Builder[T] extends AnyRef

  8. case class Extracted[T](value: T) extends Extraction[T] with Product with Serializable

    Represents a object which was provided and extracted successfully

  9. sealed trait Extraction[+T] extends AnyRef

    Result of an attempt to extract an object from a target

  10. case class ExtractionFailed[T](invalid: Seq[InvalidParameter]) extends Extraction[T] with Product with Serializable

    Represents a object which could not be extracted due to it being invalid or missing when required

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

    The body entity of a encoded HTML form.

  12. class FormBody extends Body[Form] with Bindable[Form, Binding] with MandatoryRebind[Form, Message, Binding]

    Forms are effectively modelled as a collection of fields.

  13. trait FormField[T] extends BodyParameter with Bindable[T, FormFieldBinding]

  14. class FormFieldBinding extends Binding

  15. trait HeaderParameter[T] extends Parameter with Bindable[T, RequestBinding]

  16. case class InvalidParameter(param: Parameter, reason: String) extends Product with Serializable

  17. trait Mandatory[T, -From] extends Retrieval[T, From] with Validatable[T, From]

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

  19. abstract class MultiFormField[T] extends MultiParameter[T, Form, FormFieldBinding] with FormField[Seq[T]]

  20. abstract class MultiHeaderParameter[T] extends MultiParameter[T, Message, RequestBinding] with HeaderParameter[Seq[T]]

  21. abstract class MultiParameter[T, From, B <: Binding] extends AnyRef

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

    Support for parameters which can have more than one value (e.

  23. abstract class MultiQueryParameter[T] extends MultiParameter[T, Request, QueryBinding] with QueryParameter[Seq[T]]

  24. trait Optional[T, -From] extends Retrieval[Option[T], From] with Validatable[T, From]

  25. trait OptionalBindable[T, B <: Binding] extends Bindable[T, B]

    For optional Parameters, adds the ability to bind an Optional value as well as a concrete value

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

  27. sealed class ParamType extends AnyRef

    How a parameter is represented in the HTTP message (JSON type)

  28. trait Parameter extends AnyRef

    A parameter is a name-value pair which can be encoded into an HTTP message.

  29. trait ParameterExtractAndBind[From, B <: Binding] extends AnyRef

    Parameter location specific utility functions to assist with extraction and binding of values

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

    Spec required to marshall and demarshall a parameter of a custom type

  31. trait ParameterSpecSupplier[T] extends AnyRef

    By implementing ParameterSpecSupplier[T], we can declare parameters using a shorthand: eg.

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

    Prototype functions for creating parameters of various types.

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

  34. class PathBinding extends Binding

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

  36. class QueryBinding extends Binding

  37. trait QueryParameter[T] extends Parameter with Bindable[T, QueryBinding]

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

    Used to transparently copy the value out of an incoming request (or form etc.

  39. class RequestBinding extends Binding

  40. case class RequestBuilder(method: Method, uriParts: Seq[String] = immutable.this.Nil, queries: Map[String, Seq[String]] = ..., fn: (Request) ⇒ Request = ...) extends Builder[Request] with Product with Serializable

  41. trait Retrieval[T, -From] extends AnyRef

    Represents the ability to retrieve a parameter value from an enclosing object (request/form etc.

  42. sealed trait Security extends AnyRef

    Endpoint security.

  43. abstract class SingleFormField[T] extends SingleParameter[T, Form, FormFieldBinding] with FormField[T]

  44. abstract class SingleHeaderParameter[T] extends SingleParameter[T, Message, RequestBinding] with HeaderParameter[T]

  45. abstract class SingleParameter[T, From, B <: Binding] extends AnyRef

  46. abstract class SingleQueryParameter[T] extends SingleParameter[T, Request, QueryBinding] with QueryParameter[T]

  47. class UniBody[T] extends Body[T] with Bindable[T, RequestBinding] with MandatoryRebind[T, Message, RequestBinding]

    Represents a single entity which makes up the entirety of an HTTP message body.

  48. trait Validatable[T, -From] extends AnyRef

    Provides validation about the presence of a value parameter/entity value in a particular context

  49. trait ValidatableParameter[T, -From] extends AnyRef

Value Members

  1. object ApiKey extends Serializable

  2. object ArrayParamType extends ParamType

  3. object Body

    Factory methods for various supported HTTP body types.

  4. object BodySpec extends Serializable

  5. object BooleanParamType extends ParamType

  6. object Composite

    A composite is an outbound object which can be deserialised from many parameters in an inbound object, for example a number of query parameters in a Request.

  7. object Extraction

  8. object ExtractionFailed extends Serializable

  9. object Form extends Serializable

  10. object FormBody

  11. object FormField

  12. object FormFieldExtractAndRebind extends ParameterExtractAndBind[Form, FormFieldBinding]

  13. object Header

    Parameters which are bound to request/response headers

  14. object HeaderExtractAndRebind extends ParameterExtractAndBind[Message, RequestBinding]

  15. object IntegerParamType extends ParamType

  16. object InvalidParameter extends Serializable

  17. object NoSecurity extends Security

    Default NoOp security filter.

  18. object NotProvided extends Extraction[Nothing]

    Represents an optional object which was not provided - this is still a non-failing case

  19. object NullParamType extends ParamType

  20. object NumberParamType extends ParamType

  21. object ObjectParamType extends ParamType

  22. object ParameterSpec extends Serializable

    Predefined ParameterSpec instances for common types

  23. object Path extends Parameters[PathParameter, PathBindable]

    Parameters which are bound to the path segments of a URL

  24. object Query

    Parameters which are bound to the query part of a URL

  25. object QueryExtractAndRebind extends ParameterExtractAndBind[Request, QueryBinding]

  26. object StringParamType extends ParamType

Ungrouped