= cowboy_constraints:int(3)

== Name

cowboy_constraints:int - Integer constraint

== Description

Constraint functions implement a number of different operations.

[source,erlang]
----
int(forward, Bin) -> {ok, Int} | {error, not_an_integer}

Bin :: binary()
Int :: integer()
----

Validate and convert the text representation of an integer.

[source,erlang]
----
int(reverse, Int) -> {ok, Bin} | {error, not_an_integer}
----

Convert an integer back to its text representation.

[source,erlang]
----
int(format_error, Error) -> HumanReadable

Error         :: {not_an_integer, Bin | Int}
HumanReadable :: iolist()
----

Generate a human-readable error message.

== Arguments

Arguments vary depending on the operation. Constraint
functions always take the operation type as first argument,
and the value as second argument.

== Return value

The return value varies depending on the operation.

== Changelog

* *2.0*: Interface modified to allow for a variety of operations.
* *1.0*: Constraint introduced.

== Examples

This function is not meant to be called directly.

== See also

link:man:cowboy_constraints(3)[cowboy_constraints(3)],
link:man:cowboy_constraints:nonempty(3)[cowboy_constraints:nonempty(3)],
link:man:cowboy_router(3)[cowboy_router(3)],
link:man:cowboy_req:match_cookies(3)[cowboy_req:match_cookies(3)],
link:man:cowboy_req:match_qs(3)[cowboy_req:match_qs(3)]
