This document is aimed at developers and system administrators who intend to install and configure the WURFL InFuze Module for HAProxy on Unix, Linux, and other Unix-based systems.
IMPORTANT: Installing libwurfl
In order for the Module to work it is ESSENTIAL that the
libwurfl library is installed on your system.
libwurfl is provided in your Customer Vault/FileX.
WURFL device detection is included in the HAProxy source code from release 1.7-dev6 (http://www.haproxy.org/download/1.7/src/devel/). You are required to download and compile the HAProxy source code including WURFL device detection: please refer to the HAProxy documentation for building instructions. You will need the WURFL InFuze C API (libwurfl) installed on your system at compile time (refer to "installing libwurfl" above). To enable WURFL device detection, you will need to add USE_WURFL=1 to your HAProxy compile command as shown below:
$ make TARGET=<target> USE_WURFL=1
Optionally WURFL_DEBUG=1 can be set to increase logging verbosity.
The following are supported WURFL directives (see doc/configuration.txt in your HAProxy source tree):
Sample configuration file :
Sample configuration : global wurfl-data-file /usr/share/wurfl/wurfl-eval.xml wurfl-information-list wurfl_id model_name #wurfl-information-list-separator | wurfl-engine-mode performance #wurfl-engine-mode accuracy ## double LRU cache wurfl-cache-size 100000,30000 ## 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 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)]
wurfl-information-list configuration directive may include :
Capabilities and virtual capabilities
Refer to WURFL capabilities for all capabilities and virtual capabilities names.
2017 ScientiaMobile Incorporated All Rights Reserved.
NOTICE: All information contained herein is, and remains the property of ScientiaMobile Incorporated and its suppliers, if any. The intellectual and technical concepts contained herein are proprietary to ScientiaMobile Incorporated and its suppliers and may be covered by U.S. and Foreign Patents, patents in process, and are protected by trade secret or copyright law. Dissemination of this information or reproduction of this material is strictly forbidden unless prior written permission is obtained from ScientiaMobile Incorporated.
2017 - ScientiaMobile, Inc. All rights reserved. WURFL® is the registered trademark of ScientiaMobile, Inc.