NginX Module to integrate [login to view URL] C-Libary

Please refer to the attached PDF 51Degrees Nginx [url removed, login to view] which contains a formatted copy of this project brief.

Required Skills:

1. Nginx

2. C

Project Overview:

This project requires an Nginx Module to be developed which will use [url removed, login to view]’s C-Library ([url removed, login to view]) to determine information regarding a mobile device and then makes this available by defining Fast-CGI parameters. The source data file to use should be defined within the NginX configuration files as should a parameter which determines whether or not the extension should be loaded or not.

The module must run be designed to work on a Ubuntu 12.04 LTS server and Nginx 1.4.1


1. C-Library Lite Source Code - [url removed, login to view]

2. C-Library Premium Source Code – Attached to the Freelance Project as the [url removed, login to view]

3. Official Documentation - [url removed, login to view]

4. C Library Functions - [url removed, login to view]

5. Property Dictionary (the list of all properties) – [url removed, login to view]

6. Data Files: The “pattern” matching method does not require external data files, however the Trie matching method does. The Lite and Premium data files for the Pattern detection method is build into the source code.

a. Trie Lite Data - [url removed, login to view]

b. Trie Premium Data– Not Available

Project Brief:

1. The module must support all of the [url removed, login to view] Premium Data properties. Where the properties return a list / array of values, these should be joined together as a delimited string where | should be the delimiter to use.

2. The module should support both the “Pattern” and “Trie” detection methods (please see the [url removed, login to view] file within the [url removed, login to view] file).

3. The location of the data file used by the Trie detection method should be defined within the Nginx configuration settings

4. The “Detection Method” to use (pattern or trie) should be defined within the Nginx configuration settings

5. The device properties should be assigned to variables which can then be addressed within the NginX configuration files such as to assign them to as Fast CGI parameters. All Device Properties should be assigned to variables that start with the prefix of ‘fiftyonedegrees_’.

E.G the Device Property ‘BitsPerPixel’ (see [url removed, login to view]) should assigned to the Nginx variable $fiftyonedegrees_bitsperpixel which would then allow this variable to be assigned as a Fast-CGI parameter by adding the following line to the NginX Fast CGI Configuration File

fastcgi_param FIFTYONEDEGREES_BITSPERPIXEL $fiftyonedegrees_bitsperpixel;

NginX Configuration File Example

Below you will find an example of how we would expect to set the configuration settings for the module within an NginX configuration file.


# [url removed, login to view] Config


fiftyonedegrees on;

#fiftyonedegrees_detection_method pattern;

fiftyonedegrees_detection_method trie;

fiftyonedegrees_data /usr/share/51degrees/data/[url removed, login to view];

## Examples of how the Fast CGI parameters should be set

fastcgi_param FIFTYONEDEGREES_BITSPERPIXEL $fiftyonedegrees_bitsperpixel;

fastcgi_param FIFTYONEDEGREES_HARDWAREMODEL $fiftyonedegrees_hardwaremodel;

fastcgi_param FIFTYONEDEGREES_HARDWAREVENDOR $fiftyonedegrees_hardwarevendor;

What You Will Provide

You will provide full the full working source code for the module, documentation of the NginX Library, example Nginx settings, an installation and a bash script that will build both the 51Degrees C-library as well as the Nginx Module.

What We Will Provide

We will provide links to all 51Degree Documentation, links to the Lite data file and a zip archive containing the Premium C-library

Habilidades: Programação C, Nginx

Veja mais: working overview freelance, where to freelance, where to find freelance work, where to find freelance projects, where to code for freelance, what is string matching, what is a trie, what does freelance, trie s, trie on, trie example, trie dictionary, trie data, trie code, trie c code, to work as a freelance, the trie, string prefix, string pattern matching, string pattern, string library c, string find c, start freelance c#, source code documentation freelance, share code freelance

Acerca do Empregador:
( 1 comentário ) London, United Kingdom

ID do Projeto: #5083990