<commit_before># x0 - HTTP WEB SERVER AND FRAMEWORK

[ ![Build status - Travis-ci](https://secure.travis-ci.org/xzero/x0.png) ](http://travis-ci.org/xzero/x0)

- official website: http://xzero.io/ (work in progress)
- github: http://github.com/xzero/x0
- ohloh: http://www.ohloh.net/p/x0
- travis-ci: https://travis-ci.org/xzero/x0

x0 is a low-latency scalable HTTP web server and web service framework
written in modern C++.

# FEATURES

- HTTP/1.1, including pipelining
- thin and clean core API with powerful plugin system
- fully asynchronous response content generation support
- response output filter API
- zero-copy networking optimization through sendfile() system call
- transmitting of static files with partial response support and cache-friendly
- instant mode (configuration-less basic HTTP serving)
- flow-based configuration system, just-in-time compiled into native CPU instructions
- automatic directory indexing
- customizable error pages
- on-the-fly executable upgrade with gracefully finishing currently active requests.
- CGI/1.1 support (plugin)
- FastCGI support (plugin)
- HTTP reverse proxy support (plugin)
- name based virtual hosting (plugin)
- SSL connection encryption (plugin)
  - SSL Server Name Indication (SNI) extension
- dynamic content compression (plugin)
- basic authentication (plugin)
- advanced dynamic load balancer (plugin)
  - supporting different backend transports (TCP/IP, and UNIX Domain Sockets).
  - supporting different backend protocols (HTTP and FastCGI)
  - supporting different backend acceleration strategies (memory, disk)
  - advanced health monitoring
  - JSON API for retrieving state, stats,
    and reconfiguring clusters (including adding/updating/removing backends).
  - client side routing support
  - sticky offline mode
  - X-Sendfile support, full static file transmission acceleration
  - HAproxy compatible CSV output
- request path aliasing (plugin)
- automatic directory listing generation (plugin)
- apache-style access log (plugin)
- user-directory support (plugin)
- browser match support (plugin)
- customized Expires and Cache-Control response header control (plugin)

# INSTALLATION REQUIREMENTS:

- gcc >= 4.6.0 (for building only)
- libev >= 4.0
- LLVM 3.0 or 3.1
- cmake (for building only)
- zlib (optional & recommended, for compression)
- bzip2 (optional & recommended, for compression)
- gnutls (optional & recommended, for SSL/TLS encryption)
- cppunit (optional, for unit testing)

# HOW TO BUILD:

    # Install git and clone repository
    apt-get install git
    git clone git://github.com/xzero/x0.git && cd x0
    
    # Installs required dependencies
    sudo apt-get install make cmake gcc g++ libcppunit-dev libgnutls28-dev libgcrypt11-dev \
        libmysqlclient-dev libev-dev zlib1g-dev libbz2-dev llvm-3.1-dev pkg-config \
        libpcre3-dev libfcgi-dev libgoogle-perftools4 libtbb-dev
    
    # Installs optional requirements
    sudo apt-get install libmagickwand-dev librrd-dev<commit_msg>README update. minor typo for Ubuntu 12.04 LTS install<commit_after># x0 - HTTP WEB SERVER AND FRAMEWORK

[ ![Build status - Travis-ci](https://secure.travis-ci.org/xzero/x0.png) ](http://travis-ci.org/xzero/x0)

- official website: http://xzero.io/ (work in progress)
- github: http://github.com/xzero/x0
- ohloh: http://www.ohloh.net/p/x0
- travis-ci: https://travis-ci.org/xzero/x0

x0 is a low-latency scalable HTTP web server and web service framework
written in modern C++.

# FEATURES

- HTTP/1.1, including pipelining
- thin and clean core API with powerful plugin system
- fully asynchronous response content generation support
- response output filter API
- zero-copy networking optimization through sendfile() system call
- transmitting of static files with partial response support and cache-friendly
- instant mode (configuration-less basic HTTP serving)
- flow-based configuration system, just-in-time compiled into native CPU instructions
- automatic directory indexing
- customizable error pages
- on-the-fly executable upgrade with gracefully finishing currently active requests.
- CGI/1.1 support (plugin)
- FastCGI support (plugin)
- HTTP reverse proxy support (plugin)
- name based virtual hosting (plugin)
- SSL connection encryption (plugin)
  - SSL Server Name Indication (SNI) extension
- dynamic content compression (plugin)
- basic authentication (plugin)
- advanced dynamic load balancer (plugin)
  - supporting different backend transports (TCP/IP, and UNIX Domain Sockets).
  - supporting different backend protocols (HTTP and FastCGI)
  - supporting different backend acceleration strategies (memory, disk)
  - advanced health monitoring
  - JSON API for retrieving state, stats,
    and reconfiguring clusters (including adding/updating/removing backends).
  - client side routing support
  - sticky offline mode
  - X-Sendfile support, full static file transmission acceleration
  - HAproxy compatible CSV output
- request path aliasing (plugin)
- automatic directory listing generation (plugin)
- apache-style access log (plugin)
- user-directory support (plugin)
- browser match support (plugin)
- customized Expires and Cache-Control response header control (plugin)

# INSTALLATION REQUIREMENTS:

- gcc >= 4.6.0 (for building only)
- libev >= 4.0
- LLVM 3.0 or 3.1
- cmake (for building only)
- zlib (optional & recommended, for compression)
- bzip2 (optional & recommended, for compression)
- gnutls (optional & recommended, for SSL/TLS encryption)
- cppunit (optional, for unit testing)

# HOW TO BUILD:

    # Install git and clone repository
    apt-get install git
    git clone git://github.com/xzero/x0.git && cd x0
    
    # Installs required dependencies
    sudo apt-get install make cmake gcc g++ libcppunit-dev libgnutls28-dev libgcrypt11-dev \
        libmysqlclient-dev libev-dev zlib1g-dev libbz2-dev llvm-3.1-dev pkg-config \
        libpcre3-dev libfcgi-dev libgoogle-perftools0 libtbb-dev
    
    # Installs optional requirements
    sudo apt-get install libmagickwand-dev librrd-dev
{'fraction_non_alphanumeric': 0.08514162663574623, 'fraction_numerical': 0.011595163160510187, 'mean_word_length': 3.9049553208773355, 'pattern_counts': {'":': 0, '<': 3, '<?xml version=': 0, '>': 7, 'https://': 4, 'lorem ipsum': 0, 'www.': 2, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '546548', 'n_tokens_mistral': 1767, 'n_tokens_neox': 1692, 'n_words': 639}