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 Extractor[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 ExtractableParameter[-From, +T] extends AnyRef

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

  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(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

  11. trait Extractor[-From, +T] extends AnyRef

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

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

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

    Forms are effectively modelled as a collection of fields.

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

  15. class FormFieldBinding extends Binding

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

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

  18. trait Mandatory[-From, T] extends Retrieval[From, T] with Extractor[From, T]

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

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

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

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

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

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

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

  25. trait Optional[-From, T] extends Retrieval[From, Option[T]] with Extractor[From, T]

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

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

  28. sealed class ParamType extends AnyRef

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

  29. trait Parameter extends AnyRef

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

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

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

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

  32. trait ParameterSpecSupplier[T] extends AnyRef

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

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

    Prototype functions for creating parameters of various types.

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

  35. class PathBinding extends Binding

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

  37. class QueryBinding extends Binding

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

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

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

  40. class RequestBinding extends Binding

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

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

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

  43. sealed trait Security extends AnyRef

    Endpoint security.

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

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

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

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

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

  49. case class Validated[T](value: T) extends Validation[T] with Product with Serializable

  50. sealed trait Validation[+T] extends AnyRef

    Specialised ADT fot validation of parameters from a request

  51. case class ValidationFailed(errors: Seq[InvalidParameter]) extends Validation[Nothing] with Product with Serializable

  52. class Validator[In <: Product] 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 Extraction

  7. object ExtractionFailed extends Serializable

  8. object Extractor

  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

  24. object ValidationFailed extends Serializable

  25. object Validator

  26. object types

Ungrouped