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[K, T], 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 Mandatory[Message, T] with Extractable[Message, T]

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

    Permalink

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

  8. trait ExtractableParameter[-From, +T] extends AnyRef

    Permalink

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

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

    Permalink

    Represents a object which was provided and extracted successfully

  10. sealed trait Extraction[+T] extends AnyRef

    Permalink

    Result of an attempt to extract an object from a target

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

    Permalink

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

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

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

    Permalink

    Forms are effectively modelled as a collection of fields.

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

    Permalink
  15. class FormFieldBinding extends Binding

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

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

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

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

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

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

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

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

    Permalink

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

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

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

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

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

    Permalink
  28. sealed class ParamType extends AnyRef

    Permalink

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

  29. 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)

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

    Permalink

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

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

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

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

    Permalink

    Prototype functions for creating parameters of various types.

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

    Permalink
  35. class PathBinding extends Binding

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

    Permalink
  37. class QueryBinding extends Binding

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

    Permalink
  39. trait Rebindable[From, T, 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.

  40. class RequestBinding extends Binding

    Permalink
  41. 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
  42. trait Retrieval[-From, T] extends AnyRef

    Permalink

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

  43. sealed trait Security extends AnyRef

    Permalink

    Endpoint security.

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

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

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

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

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

    Permalink
  48. class UniBody[T] extends Body[T] with Bindable[T, RequestBinding] with MandatoryRebind[Message, T, 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

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 Extractable

    Permalink
  7. object Extraction

    Permalink
  8. object ExtractionFailed extends Serializable

    Permalink
  9. object Form extends Serializable

    Permalink
  10. object FormBody

    Permalink
  11. object FormField

    Permalink
  12. object Header

    Permalink

    Parameters which are bound to request/response headers

  13. object IntegerParamType extends ParamType

    Permalink
  14. object InvalidParameter extends Serializable

    Permalink
  15. object NoSecurity extends Security

    Permalink

    Default NoOp security filter.

    Default NoOp security filter. Filter allows all traffic through.

  16. object NotProvided extends Extraction[Nothing]

    Permalink

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

  17. object NullParamType extends ParamType

    Permalink
  18. object NumberParamType extends ParamType

    Permalink
  19. object ObjectParamType extends ParamType

    Permalink
  20. object ParameterSpec extends Serializable

    Permalink

    Predefined ParameterSpec instances for common types

  21. object Path extends Parameters[PathParameter, PathBindable]

    Permalink

    Parameters which are bound to the path segments of a URL

  22. object Query

    Permalink

    Parameters which are bound to the query part of a URL

  23. object StringParamType extends ParamType

    Permalink
  24. object types

    Permalink

Ungrouped