Scientiamobile WURFL Device Detection
-------------------------------------

You can also include WURFL for inbuilt device detection enabling attributes.

WURFL is a high-performance and low-memory footprint mobile device detection
software component that can quickly and accurately detect over 500 capabilities
of visiting devices. It can differentiate between portable mobile devices, desktop devices,
SmartTVs and any other types of devices on which a web browser can be installed.

In order to add WURFL device detection support, you would need to download Scientiamobile
InFuze C API and install it on your system. Refer to www.scientiamobile.com to obtain a valid
InFuze license.
Compile haproxy as shown :

    $ make TARGET=<target> USE_WURFL=1

Optionally WURFL_DEBUG=1 may be set to increase logs verbosity

For HAProxy developers who need to verify that their changes didn't accidentally
break the WURFL code, it is possible to build a dummy library provided in the
addons/wurfl/dummy directory and to use it as an alternative for the full library.
This will not provide the full functionalities, it will just allow haproxy to
start with a wurfl configuration, which generally is enough to validate API
changes :

    $ make -C addons/wurfl/dummy
    $ make TARGET=<target> USE_WURFL=1 WURFL_INC=$PWD/addons/wurfl/dummy WURFL_LIB=$PWD/addons/wurfl/dummy

These are the supported WURFL directives (see doc/configuration.txt) :
- wurfl-data-file <path to WURFL data file>
- wurfl-information-list [<string>] (list of WURFL capabilities,
   virtual capabilities, property names we plan to use in injected headers)
- wurfl-information-list-separator <char> (character that will be
   used to separate values in a response header, ',' by default).
- wurfl-cache-size <string> (Sets the WURFL caching strategy)
- wurfl-patch-file [<file path>] (Sets the paths to custom WURFL patch files)

Sample configuration :

    global
	wurfl-data-file /usr/share/wurfl/wurfl.zip

	wurfl-information-list wurfl_id model_name

	#wurfl-information-list-separator |

	## single LRU cache
	#wurfl-cache-size 100000
	## no cache
	#wurfl-cache-size 0

	#wurfl-patch-file <paths to custom patch files>

    ...
    frontend
	bind *:8888
	default_backend servers

There are two distinct methods available to transmit the WURFL data downstream
to the target application:

All data listed in wurfl-information-list

    http-request set-header X-WURFL-All %[wurfl-get-all()]

A subset of data listed in wurfl-information-list

    http-request set-header X-WURFL-Properties %[wurfl-get(wurfl_id,is_tablet)]

Please find more information about WURFL and the detection methods at https://www.scientiamobile.com
