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
contrib/wurfl 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 contrib/wurfl
    $ make TARGET=<target> USE_WURFL=1 WURFL_INC=$PWD/contrib/wurfl WURFL_LIB=$PWD/contrib/wurfl

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
