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 accidently
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
