io.fintrospect

parameters

package parameters

Visibility
  1. Public
  2. All

Type Members

  1. case class ApiKey[T, K >: Request](param: Parameter with Mandatory[K, T], 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[Message, T] with Extractable[Message, T]

  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. trait Extractable[-From, T] extends AnyRef

    Mechanism to extract (or fail to extract) an entity value from a particular 'From' context

  9. trait ExtractableParameter[-From, T] extends AnyRef

    Mechanism to extract (or fail to extract) a parameter from a particular 'From' context, adding

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

    Represents a object which was provided and extracted successfully

  11. sealed trait Extraction[+T] extends AnyRef

    Result of an attempt to extract an object from a target

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

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

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

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

    Forms are effectively modelled as a collection of fields.

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

  16. class FormFieldBinding extends Binding

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

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

  19. trait Mandatory[-From, T] extends Retrieval[From, T] with Extractable[From, T]

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

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

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

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

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

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

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

  26. trait Optional[-From, T] extends Retrieval[From, Option[T]] with Extractable[From, T]

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

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

  29. sealed class ParamType extends AnyRef

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

  30. trait Parameter extends AnyRef

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

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

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

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

  33. trait ParameterSpecSupplier[T] extends AnyRef

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

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

    Prototype functions for creating parameters of various types.

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

  36. class PathBinding extends Binding

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

  38. class QueryBinding extends Binding

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

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

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

  41. class RequestBinding extends Binding

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

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

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

  44. sealed trait Security extends AnyRef

    Endpoint security.

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

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

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

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

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

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

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 Extractable

  7. object Extraction

  8. object ExtractionFailed extends Serializable

  9. object Form extends Serializable

  10. object FormBody

  11. object FormField

  12. object Header

    Parameters which are bound to request/response headers

  13. object IntegerParamType extends ParamType

  14. object InvalidParameter extends Serializable

  15. object NoSecurity extends Security

    Default NoOp security filter.

  16. object NotProvided extends Extraction[Nothing]

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

  17. object NullParamType extends ParamType

  18. object NumberParamType extends ParamType

  19. object ObjectParamType extends ParamType

  20. object ParameterSpec extends Serializable

    Predefined ParameterSpec instances for common types

  21. object Path extends Parameters[PathParameter, PathBindable]

    Parameters which are bound to the path segments of a URL

  22. object Query

    Parameters which are bound to the query part of a URL

  23. object StringParamType extends ParamType

Ungrouped