Package

io.fintrospect

parameters

Permalink

package parameters

Visibility
  1. Public
  2. All

Type Members

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

    Permalink

    Checks the presence of the named Api Key parameter.

    Checks the presence of the named Api Key parameter. Filter returns 401 if Api-Key is not found in request.

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

    Permalink

    Allows binding of a value to an entity (eg.

    Allows binding of a value to an entity (eg. query/header/field...)

  3. sealed trait Binding extends AnyRef

    Permalink

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

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

    Permalink
  5. trait BodyParameter extends Parameter

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

    Permalink

    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

  7. trait Builder[T] extends AnyRef

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

    Permalink

    The body entity of a encoded HTML form.

    The body entity of a encoded HTML form. Basically a wrapper for Form construction and field extraction.

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

    Permalink

    Forms are effectively modelled as a collection of fields.

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

    Permalink
  11. class FormFieldBinding extends Binding

    Permalink
  12. abstract class HeaderParameter[T] extends Parameter with Validatable[T, Message] with Bindable[T, RequestBinding]

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

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

    Permalink
  15. abstract class MultiFormField[T] extends FormField[Seq[T]]

    Permalink
  16. trait MultiParameters[P[_], R[_]] extends AnyRef

    Permalink

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

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

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

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

    Permalink

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

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

    Permalink
  21. sealed class ParamType extends AnyRef

    Permalink

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

  22. trait Parameter extends AnyRef

    Permalink

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

    A parameter is a name-value pair which can be encoded into an HTTP message. Sub-types represent the various places in which values are encoded (eg. header/form/query/path)

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

    Permalink

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

    Spec required to marshall and demarshall 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

  24. trait ParameterSpecSupplier[T] extends AnyRef

    Permalink

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

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

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

    Permalink

    Prototype functions for creating parameters of various types.

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

    Permalink
  27. class PathBinding extends Binding

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

    Permalink
  29. class QueryBinding extends Binding

    Permalink
  30. abstract class QueryParameter[T] extends Parameter with Validatable[T, Request] with Bindable[T, QueryBinding]

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

    Permalink

    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.

  32. class RequestBinding extends Binding

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

    Permalink
  34. trait Retrieval[T, From] extends AnyRef

    Permalink

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

  35. sealed trait Security extends AnyRef

    Permalink

    Endpoint security.

    Endpoint security. Provides filter to be applied to endpoints for all requests.

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

    Permalink
  37. abstract class SingleQueryParameter[T] extends QueryParameter[T]

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

    Permalink

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

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

    T

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

  39. trait Validatable[T, From] extends AnyRef

    Permalink

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

Value Members

  1. object ApiKey extends Serializable

    Permalink
  2. object ArrayParamType extends ParamType

    Permalink
  3. object Body

    Permalink

    Factory methods for various supported HTTP body types.

  4. object BodySpec extends Serializable

    Permalink
  5. object BooleanParamType extends ParamType

    Permalink
  6. object Form extends Serializable

    Permalink
  7. object FormBody

    Permalink
  8. object FormField

    Permalink
  9. object Header

    Permalink

    Parameters which are bound to request/response headers

  10. object IntegerParamType extends ParamType

    Permalink
  11. object NoSecurity extends Security

    Permalink

    Default NoOp security filter.

    Default NoOp security filter. Filter allows all traffic through.

  12. object NullParamType extends ParamType

    Permalink
  13. object NumberParamType extends ParamType

    Permalink
  14. object ObjectParamType extends ParamType

    Permalink
  15. object ParameterSpec extends Serializable

    Permalink

    Predefined ParameterSpec instances for common types

  16. object Path extends Parameters[PathParameter, PathBindable]

    Permalink

    Parameters which are bound to the path segments of a URL

  17. object Query

    Permalink

    Parameters which are bound to the query part of a URL

  18. object StringParamType extends ParamType

    Permalink

Ungrouped