You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@nifi.apache.org by al...@apache.org on 2017/05/07 04:14:39 UTC

[4/4] nifi-minifi-cpp git commit: MINIFI-301 Removing extraneous third party resources from the project source tree.

MINIFI-301 Removing extraneous third party resources from the project source tree.

This closes #93.

Signed-off-by: Aldrin Piri <al...@apache.org>


Project: http://git-wip-us.apache.org/repos/asf/nifi-minifi-cpp/repo
Commit: http://git-wip-us.apache.org/repos/asf/nifi-minifi-cpp/commit/65ca9ecd
Tree: http://git-wip-us.apache.org/repos/asf/nifi-minifi-cpp/tree/65ca9ecd
Diff: http://git-wip-us.apache.org/repos/asf/nifi-minifi-cpp/diff/65ca9ecd

Branch: refs/heads/master
Commit: 65ca9ecd43af56ed86816a2f834633a862d2d564
Parents: 2f790ef
Author: Aldrin Piri <al...@apache.org>
Authored: Sat May 6 15:04:49 2017 -0400
Committer: Aldrin Piri <al...@apache.org>
Committed: Sun May 7 00:14:15 2017 -0400

----------------------------------------------------------------------
 thirdparty/civetweb-1.9.1/_config.yml           |   1 -
 thirdparty/civetweb-1.9.1/appveyor.yml          | 252 -----
 .../ci/test/01_basic/basic_spec.lua             |  35 -
 .../01_basic_test_dir/git_keep_empty_dir        |   0
 .../ci/test/01_basic/docroot/01_basic_test_file |   0
 thirdparty/civetweb-1.9.1/ci/test/README.md     |  34 -
 thirdparty/civetweb-1.9.1/ci/test/civet.lua     |  42 -
 .../civetweb-1.9.1/ci/travis/install_rocks.sh   |  14 -
 thirdparty/civetweb-1.9.1/ci/travis/lua_env.sh  |   5 -
 thirdparty/civetweb-1.9.1/ci/travis/platform.sh |  15 -
 .../civetweb-1.9.1/ci/travis/run_ci_tests.sh    |   7 -
 .../civetweb-1.9.1/ci/travis/setup_lua.sh       |  61 --
 thirdparty/civetweb-1.9.1/examples/README.md    |   8 -
 .../examples/_obsolete/chat/chat.c              | 403 --------
 .../examples/_obsolete/docroot/favicon.ico      | Bin 1406 -> 0 bytes
 .../examples/_obsolete/docroot/index.html       |  73 --
 .../examples/_obsolete/docroot/jquery.js        | 154 ----
 .../examples/_obsolete/docroot/login.html       |  43 -
 .../examples/_obsolete/docroot/logo.png         | Bin 1601 -> 0 bytes
 .../examples/_obsolete/docroot/main.js          | 107 ---
 .../examples/_obsolete/docroot/prime_numbers.lp |  46 -
 .../examples/_obsolete/docroot/style.css        | 154 ----
 .../examples/_obsolete/hello/hello.c            |  53 --
 .../examples/_obsolete/lua/lua_dll.c            |  21 -
 .../examples/_obsolete/post/post.c              |  58 --
 .../examples/_obsolete/upload/upload.c          | 110 ---
 .../_obsolete/websocket/WebSockCallbacks.c      | 225 -----
 .../_obsolete/websocket/WebSockCallbacks.h      |  44 -
 .../examples/_obsolete/websocket/websock.htm    |  55 --
 .../examples/_obsolete/websocket/websocket.c    |  65 --
 .../_obsolete/websocket_client/ssl/server.crt   |  13 -
 .../_obsolete/websocket_client/ssl/server.csr   |  11 -
 .../_obsolete/websocket_client/ssl/server.key   |  15 -
 .../_obsolete/websocket_client/ssl/server.pem   |  28 -
 .../websocket_client/websocket_client.c         | 421 ---------
 .../_obsolete/ws_server/docroot/index.html      | 316 -------
 .../examples/_obsolete/ws_server/ws_server.c    | 271 ------
 .../examples/embedded_c/embedded_c.c            | 922 -------------------
 .../examples/embedded_cpp/embedded_cpp.cpp      | 316 -------
 thirdparty/civetweb-1.9.1/resources/Info.plist  |  21 -
 .../resources/Makefile.in-duktape               |  60 --
 .../civetweb-1.9.1/resources/Makefile.in-lua    | 148 ---
 .../civetweb-1.9.1/resources/Makefile.in-os     |  22 -
 .../civetweb-1.9.1/resources/cert/client.crt    |  14 -
 .../civetweb-1.9.1/resources/cert/client.csr    |  11 -
 .../civetweb-1.9.1/resources/cert/client.key    |  15 -
 .../civetweb-1.9.1/resources/cert/client.pem    |  29 -
 .../civetweb-1.9.1/resources/cert/make_cert.bat |  22 -
 .../civetweb-1.9.1/resources/cert/make_certs    |  31 -
 .../civetweb-1.9.1/resources/cert/server.crt    |  30 -
 .../civetweb-1.9.1/resources/cert/server.csr    |  28 -
 .../civetweb-1.9.1/resources/cert/server.key    |  51 -
 .../civetweb-1.9.1/resources/cert/server.pem    |  81 --
 .../civetweb-1.9.1/resources/civetweb.conf      |  32 -
 .../civetweb-1.9.1/resources/civetweb.icns      | Bin 13635 -> 0 bytes
 .../civetweb-1.9.1/resources/civetweb.psd       | Bin 9365069 -> 0 bytes
 .../civetweb-1.9.1/resources/civetweb_16x16.png | Bin 1691 -> 0 bytes
 .../resources/civetweb_16x16@2.png              | Bin 1624 -> 0 bytes
 .../civetweb-1.9.1/resources/civetweb_22x22.png | Bin 1857 -> 0 bytes
 .../resources/civetweb_22x22@2.png              | Bin 2728 -> 0 bytes
 .../civetweb-1.9.1/resources/civetweb_32x32.png | Bin 2193 -> 0 bytes
 .../resources/civetweb_32x32@2.png              | Bin 3923 -> 0 bytes
 .../civetweb-1.9.1/resources/civetweb_64x64.png | Bin 3923 -> 0 bytes
 .../resources/civetweb_64x64@2.png              | Bin 10178 -> 0 bytes
 thirdparty/civetweb-1.9.1/resources/cleanup.lua |  92 --
 .../civetweb-1.9.1/resources/coverity_check.sh  |  33 -
 .../civetweb-1.9.1/resources/duktape-logo.png   | Bin 1741 -> 0 bytes
 .../civetweb-1.9.1/resources/itworks.html       |  23 -
 .../civetweb-1.9.1/resources/jni/Android.mk     |   6 -
 .../civetweb-1.9.1/resources/lua-logo.jpg       | Bin 2799 -> 0 bytes
 .../resources/luafilesystem-logo.jpg            | Bin 8209 -> 0 bytes
 .../civetweb-1.9.1/resources/luasqlite-logo.jpg | Bin 6534 -> 0 bytes
 .../civetweb-1.9.1/resources/luaxml-logo.jpg    | Bin 6741 -> 0 bytes
 thirdparty/civetweb-1.9.1/resources/mingw.bat   |  15 -
 thirdparty/civetweb-1.9.1/resources/res.rc      |   1 -
 .../civetweb-1.9.1/resources/sqlite3-logo.jpg   | Bin 1673 -> 0 bytes
 .../civetweb-1.9.1/resources/ssl_cert.pem       |  50 -
 thirdparty/civetweb-1.9.1/resources/systray.ico | Bin 15086 -> 0 bytes
 thirdparty/jsoncpp/travis.sh                    |  31 -
 79 files changed, 5244 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/nifi-minifi-cpp/blob/65ca9ecd/thirdparty/civetweb-1.9.1/_config.yml
----------------------------------------------------------------------
diff --git a/thirdparty/civetweb-1.9.1/_config.yml b/thirdparty/civetweb-1.9.1/_config.yml
deleted file mode 100644
index 259a24e..0000000
--- a/thirdparty/civetweb-1.9.1/_config.yml
+++ /dev/null
@@ -1 +0,0 @@
-theme: jekyll-theme-tactile
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/nifi-minifi-cpp/blob/65ca9ecd/thirdparty/civetweb-1.9.1/appveyor.yml
----------------------------------------------------------------------
diff --git a/thirdparty/civetweb-1.9.1/appveyor.yml b/thirdparty/civetweb-1.9.1/appveyor.yml
deleted file mode 100644
index ed21fbc..0000000
--- a/thirdparty/civetweb-1.9.1/appveyor.yml
+++ /dev/null
@@ -1,252 +0,0 @@
-version: '{build}'
-
-
-build:
-# no automatic build in script mode
-
-
-platform:
-  - x86
-  - x64
-
-
-environment:
-  enable_cxx: NO
-  enable_ssl_dynamic_loading: YES
-  enable_lua: NO
-  enable_lua_shared: NO
-  c_standard: auto
-  cxx_standard: auto
-  matrix:
-    - id: 1
-      compiler: msvc-18-seh
-      build_shared: NO
-      no_files: NO
-      enable_ipv6: NO
-      enable_ssl: YES
-      enable_websockets: YES
-      no_cgi: NO
-      no_caching: NO
-      configuration: Release
-    - id: 2
-      compiler: msvc-18-seh
-      build_shared: YES
-      no_files: NO
-      enable_ipv6: NO
-      enable_ssl: YES
-      enable_websockets: YES
-      no_cgi: NO
-      no_caching: NO
-      configuration: Release
-    - id: 3
-      compiler: msvc-18-seh
-      build_shared: YES
-      no_files: YES
-      enable_ipv6: NO
-      enable_ssl: YES
-      enable_websockets: YES
-      no_cgi: NO
-      no_caching: NO
-      configuration: Release
-    - id: 4
-      compiler: gcc-5.1.0-posix
-      build_shared: NO
-      no_files: YES
-      enable_ipv6: NO
-      enable_ssl: NO
-      enable_websockets: NO
-      no_cgi: YES
-      no_caching: YES
-      configuration: Release
-    - id: 5
-      compiler: gcc-5.1.0-posix
-      build_shared: NO
-      no_files: NO
-      enable_ipv6: YES
-      enable_ssl: YES
-      enable_websockets: YES
-      no_cgi: NO
-      no_caching: YES
-      configuration: Release
-    - id: 6
-      compiler: gcc-5.1.0-posix
-      build_shared: NO
-      no_files: NO
-      enable_ipv6: NO
-      enable_ssl: YES
-      enable_websockets: YES
-      no_cgi: NO
-      no_caching: YES
-      configuration: Release
-    - id: 7
-      compiler: gcc-5.1.0-posix
-      build_shared: YES
-      no_files: NO
-      enable_ipv6: NO
-      enable_ssl: YES
-      enable_websockets: YES
-      no_cgi: NO
-      no_caching: YES
-      configuration: Release
-    - id: 8
-      compiler: gcc-5.1.0-posix
-      build_shared: YES
-      no_files: YES
-      enable_ipv6: NO
-      enable_ssl: YES
-      enable_websockets: YES
-      no_cgi: NO
-      no_caching: YES
-      configuration: Release
-    - id: 9
-      compiler: msvc-18-seh
-      build_shared: NO
-      no_files: NO
-      enable_ipv6: YES
-      enable_ssl: YES
-      enable_websockets: YES
-      no_cgi: NO
-      no_caching: NO
-      configuration: Debug
-
-install:
-  # Derive some extra information
-  - set build_type=%configuration%
-  - for /f "tokens=1-3 delims=-" %%a in ("%compiler%") do (@set "compiler_name=%%a")
-  - for /f "tokens=1-3 delims=-" %%a in ("%compiler%") do (@set "compiler_version=%%b")
-  - for /f "tokens=1-3 delims=-" %%a in ("%compiler%") do (@set "compiler_threading=%%c")
-  - if "%platform%"=="x64" (set arch=x86_64)
-  - if "%platform%"=="x86" (set arch=i686)
-  # Download the specific version of MinGW
-  - if "%compiler_name%"=="gcc" (@set "mingw_output_folder=C:\mingw-builds")
-  - if "%compiler_name%"=="gcc" (
-      @for /f %%a in (
-        'call mingw.cmd
-          /version "%compiler_version%"
-          /arch "%arch%"
-          /threading "%compiler_threading%"
-          "%mingw_output_folder%"'
-      ) do @set "compiler_path=%%a"
-    )
-  - if "%compiler_name%"=="gcc" (@set "mingw_log_folder=%mingw_output_folder%\logs")
-  - if exist "%mingw_log_folder%" @for /f %%f in ('dir /b /oD /tc "%mingw_log_folder%"') do @set "mingw_log_file=%mingw_log_folder%\%%f"
-  - if exist "%mingw_log_file%" powershell Push-AppveyorArtifact "%mingw_log_file%" -FileName mingw-download.log
-  # Get OpenSSL
-  #
-  # OpenSSL should already be installed, according to
-  # - http://help.appveyor.com/discussions/questions/1132-openssl-installation-issues
-  # - https://github.com/appveyor/ci/issues/576
-  #
-  - cmd: set PATH=%PATH%;C:\OpenSSL-Win32;C:\OpenSSL-Win64
-  - dir C:\OpenSSL-Win32
-  - dir C:\OpenSSL-Win64
-  - path
-
-
-before_build:
-  # Remove sh.exe from the path otherwise CMake will complain:
-  # "sh.exe was found in your PATH, here: C:/Program Files/Git/usr/bin/sh.exe"
-  # and the MinGW build will not work (the Visual Studio build does not care).
-  # See http://help.appveyor.com/discussions/problems/3193-cmake-building-for-mingw-issue-with-git-shexe
-  # The entire directory containing sh.exe could be removed from the PATH environment:
-  # - set PATH=%PATH:C:\Program Files\Git\usr\bin;=%
-  # However, this will also remove all other programs in this directory from the PATH.
-  # In particular "patch" is still required.
-  # So, just rename sh.exe:
-  - ren "C:\Program Files\Git\usr\bin\sh.exe" _sh.exe
-  # Set up mingw commands
-  - if "%compiler_name%"=="gcc" (set "generator=MinGW Makefiles")
-  - if "%compiler_name%"=="gcc" (set "build=mingw32-make -j4")
-  - if "%compiler_name%"=="gcc" (set "test=mingw32-make test")
-  # MSVC specific commands
-  # Note: The minimum version officially supported for CivetWeb is VS2010. Older ones might work or not.
-  - if "%compiler_version%"=="14" (set "vs_version=8" & set "vs_year=2005")
-  - if "%compiler_version%"=="15" (set "vs_version=9" & set "vs_year=2008")
-  - if "%compiler_version%"=="16" (set "vs_version=10" & set "vs_year=2010")
-  - if "%compiler_version%"=="17" (set "vs_version=11" & set "vs_year=2012")
-  - if "%compiler_version%"=="18" (set "vs_version=12" & set "vs_year=2013")
-  - if "%compiler_version%"=="19" (set "vs_version=14" & set "vs_year=2015")
-  - if "%compiler_name%"=="msvc" (set "generator=Visual Studio %vs_version% %vs_year%")
-  - if "%compiler_name%"=="msvc" (
-      if "%platform%"=="x64" (
-        set "generator=%generator% Win64"
-      )
-    )
-  - if %compiler_version% gtr 9 (set platform=%platform:x86=Win32%)
-  - if "%compiler_name%"=="msvc" (set "msbuild_opts=/clp:OnlyErrors;OnlyWarnings /nologo /m /v:m")
-  - if "%compiler_name%"=="msvc" (set "build=msbuild %msbuild_opts% /p:Configuration=%configuration% /p:Platform=%platform% civetweb.sln")
-  - if "%compiler_name%"=="msvc" (set "test=msbuild %msbuild_opts% RUN_TESTS.vcxproj")
-  # Add the compiler path if needed
-  - if not "%compiler_path%"=="" (set "PATH=%PATH%;%compiler_path%")
-  # git bash conflicts with MinGW makefiles
-  - if "%generator%"=="MinGW Makefiles" (set "PATH=%PATH:C:\Program Files (x86)\Git\bin=%")
-  # Useful locations
-  - set "source_path=%cd%"
-  - set "output_path=%source_path%\output"
-  - set "build_path=%output_path%\build"
-  - set "install_path=%output_path%\install"
-  - set "third_party_dir=C:\third-party"
-  # Check some settings of the build server
-  - ver
-  - cd
-  - dir
-  - ipconfig /all
-  # Generate the build scripts with CMake
-  - mkdir "%build_path%"
-  - cd "%build_path%"
-  - cmake --version
-  - appveyor AddMessage -Category Information "Generating '%generator%'"
-  - cmake
-    -G "%generator%"
-    -DCMAKE_BUILD_TYPE=%build_type%
-    -DBUILD_SHARED_LIBS=%build_shared%
-    -DCIVETWEB_SERVE_NO_FILES=%no_files%
-    "-DCIVETWEB_THIRD_PARTY_DIR=%third_party_dir:\=\\%"
-    -DCIVETWEB_ENABLE_THIRD_PARTY_OUTPUT=YES
-    -DCIVETWEB_ENABLE_SSL=%enable_ssl%
-    -DCIVETWEB_DISABLE_CGI=%no_cgi%
-    -DCIVETWEB_ENABLE_SSL_DYNAMIC_LOADING=%enable_ssl_dynamic_loading%
-    -DCIVETWEB_ENABLE_WEBSOCKETS=%enable_websockets%
-    -DCIVETWEB_ENABLE_CXX=%enable_cxx%
-    -DCIVETWEB_ENABLE_LUA=%enable_lua%
-    -DCIVETWEB_ENABLE_LUA_SHARED=%enable_lua_shared%
-    -DCIVETWEB_DISABLE_CACHING=%no_caching%
-    -DCIVETWEB_C_STANDARD=%c_standard%
-    -DCIVETWEB_CXX_STANDARD=%cxx_standard%
-    "%source_path%"
-  - powershell Push-AppveyorArtifact CMakeCache.txt
-  - cd "%source_path%"
-
-build_script:
-  - cd
-  - cd "%build_path%"
-  - appveyor AddMessage -Category Information "Build command '%build%'"
-  - cmd /c "%build%"
-  - cd "%source_path%"
-
-test_script:
-  - cd "%build_path%"
-  - appveyor AddMessage -Category Information "Test command '%build%'"
-  - set CTEST_OUTPUT_ON_FAILURE=1
-  - cmd /c "%test%"
-  - cd "%source_path%"
-
-after_test:
-  - cd
-  - dir
-  - md dist
-  - if "%build_type%"=="Release" (cmake "-DCMAKE_INSTALL_PREFIX=%install_path%" -P "%build_path%/cmake_install.cmake")
-  - if "%build_type%"=="Release" (copy "%build_path%" dist\)
-  - dir dist\
-
-matrix:
-  fast_finish: false
-
-cache:
-  - C:\mingw-builds -> mingw.cmd
-  - C:\third-party -> **\CMakeLists.txt
-  - C:\ssl
-
-artifacts:
-  - path: dist\*
-

http://git-wip-us.apache.org/repos/asf/nifi-minifi-cpp/blob/65ca9ecd/thirdparty/civetweb-1.9.1/ci/test/01_basic/basic_spec.lua
----------------------------------------------------------------------
diff --git a/thirdparty/civetweb-1.9.1/ci/test/01_basic/basic_spec.lua b/thirdparty/civetweb-1.9.1/ci/test/01_basic/basic_spec.lua
deleted file mode 100644
index cf3b300..0000000
--- a/thirdparty/civetweb-1.9.1/ci/test/01_basic/basic_spec.lua
+++ /dev/null
@@ -1,35 +0,0 @@
-civet = require "ci/test/civet"
-local curl = require "cURL"
-
-describe("civetweb basic", function()
-
-  setup(function()
-    civet.start()
-  end)
-
-  teardown(function()
-    civet.stop()
-  end)
-
-
-  it("should serve a simple get request", function()
-
-    local out = ""
-    function capture(str)
-      out = out .. str
-    end
-
-    local c = curl.easy()
-      :setopt_url('http://localhost:' .. civet.port .. "/")
-      :setopt_writefunction(capture)
-      :perform()
-    :close()
-
-    --print('rescode:' .. c.getinfo(curl.INFO_RESPONSE_CODE))
-
-    assert.are.equal('Index of', string.match(out, 'Index of'))
-    assert.are.equal('01_basic_test_dir', string.match(out, '01_basic_test_dir'))
-    assert.are.equal('01_basic_test_file', string.match(out, '01_basic_test_file'))
-  end)
-
-end)

http://git-wip-us.apache.org/repos/asf/nifi-minifi-cpp/blob/65ca9ecd/thirdparty/civetweb-1.9.1/ci/test/01_basic/docroot/01_basic_test_dir/git_keep_empty_dir
----------------------------------------------------------------------
diff --git a/thirdparty/civetweb-1.9.1/ci/test/01_basic/docroot/01_basic_test_dir/git_keep_empty_dir b/thirdparty/civetweb-1.9.1/ci/test/01_basic/docroot/01_basic_test_dir/git_keep_empty_dir
deleted file mode 100644
index e69de29..0000000

http://git-wip-us.apache.org/repos/asf/nifi-minifi-cpp/blob/65ca9ecd/thirdparty/civetweb-1.9.1/ci/test/01_basic/docroot/01_basic_test_file
----------------------------------------------------------------------
diff --git a/thirdparty/civetweb-1.9.1/ci/test/01_basic/docroot/01_basic_test_file b/thirdparty/civetweb-1.9.1/ci/test/01_basic/docroot/01_basic_test_file
deleted file mode 100644
index e69de29..0000000

http://git-wip-us.apache.org/repos/asf/nifi-minifi-cpp/blob/65ca9ecd/thirdparty/civetweb-1.9.1/ci/test/README.md
----------------------------------------------------------------------
diff --git a/thirdparty/civetweb-1.9.1/ci/test/README.md b/thirdparty/civetweb-1.9.1/ci/test/README.md
deleted file mode 100644
index fdbecbe..0000000
--- a/thirdparty/civetweb-1.9.1/ci/test/README.md
+++ /dev/null
@@ -1,34 +0,0 @@
-== Travis CI Tests
-
-Travis is a service which will build your project when you commit or get pull requests on Github.
-
-I have fixed and extended the travis configuration to build on the new sudo-less docker infrastructure.
-
-=== CI Process
-
-* On Check-in or Pull Requests clone the repo
-* Run make WITH_LUA=1 WITH_DEBUG=1 WITH_IPV6=1 WITH_WEBSOCKET=1
-* Build a standalone lua installation (seperate from civetweb or the OS)
-* Build LuaRocks in standalone installation
-* Install a few rocks into the standalone installation
-* Start the test script
-
-=== test/ci_tests/01_basic/basic_spec.lua
-
-On the initial checkin, there is only one test which demonstrates:
-
-* reliably starting civetweb server on travis infrastructure
-* waiting (polling) with lua.socket to establish the server is up and running 
-* using libcurl via lua to test that files in the specified docroot are available
-* kill the civetweb server process
-* waiting (polling) the server port to see that the server has freed it
-
-=== Adding Tests
-
-* Create a directory under ci_tests
-* Add a spec file, so now we have ci_tests/02_my_awesome_test/awesome_spec.lua
-* Any file under ci_tests which ends in _spec.lua will be automatically run
-* Check out the 'busted' and lua-curl3 docs for more info
-* https://github.com/Lua-cURL/Lua-cURLv3
-* http://olivinelabs.com/busted/
-

http://git-wip-us.apache.org/repos/asf/nifi-minifi-cpp/blob/65ca9ecd/thirdparty/civetweb-1.9.1/ci/test/civet.lua
----------------------------------------------------------------------
diff --git a/thirdparty/civetweb-1.9.1/ci/test/civet.lua b/thirdparty/civetweb-1.9.1/ci/test/civet.lua
deleted file mode 100644
index 19a6848..0000000
--- a/thirdparty/civetweb-1.9.1/ci/test/civet.lua
+++ /dev/null
@@ -1,42 +0,0 @@
-socket = require "socket"
-
-local civet = {}
-
--- default params
-civet.port=12345
-civet.max_retry=100
-civet.start_delay=0.1
-
-function civet.start(docroot)
-  -- TODO: use a property
-  docroot = docroot or 'ci/test/01_basic/docroot'
-  assert(io.popen('./civetweb'
-  .. " -listening_ports " .. civet.port
-  .. " -document_root " .. docroot
-  .. " > /dev/null 2>&1 &"
-  ))
-  -- wait until the server answers
-  for i=1,civet.max_retry do
-    local s = socket.connect('127.0.0.1', civet.port)
-    if s then
-      s:close()
-      break
-    end
-    socket.select(nil, nil, civet.start_delay) -- sleep
-  end
-end
-
-function civet.stop()
-  os.execute('killall civetweb')
-  -- wait until the server port closes
-  for i=1,civet.max_retry do
-    local s = socket.connect('127.0.0.1', civet.port)
-    if not s then
-      break
-    end
-    s:close()
-    socket.select(nil, nil, civet.start_delay) -- sleep
-  end
-end
-
-return civet

http://git-wip-us.apache.org/repos/asf/nifi-minifi-cpp/blob/65ca9ecd/thirdparty/civetweb-1.9.1/ci/travis/install_rocks.sh
----------------------------------------------------------------------
diff --git a/thirdparty/civetweb-1.9.1/ci/travis/install_rocks.sh b/thirdparty/civetweb-1.9.1/ci/travis/install_rocks.sh
deleted file mode 100755
index 26e6f36..0000000
--- a/thirdparty/civetweb-1.9.1/ci/travis/install_rocks.sh
+++ /dev/null
@@ -1,14 +0,0 @@
-#!/bin/bash
-set -ev
-
-source ci/travis/lua_env.sh
-
-# add any rocks required for ci_tests to this list
-# lua-curl depends on a libcurl development package (i.e. libcurl4-openssl-dev)
-ROCKS=(lua-curl busted)
-
-for ROCK in ${ROCKS[*]}
-do
-  $LUAROCKS install $ROCK
-done
-

http://git-wip-us.apache.org/repos/asf/nifi-minifi-cpp/blob/65ca9ecd/thirdparty/civetweb-1.9.1/ci/travis/lua_env.sh
----------------------------------------------------------------------
diff --git a/thirdparty/civetweb-1.9.1/ci/travis/lua_env.sh b/thirdparty/civetweb-1.9.1/ci/travis/lua_env.sh
deleted file mode 100755
index 3bb1893..0000000
--- a/thirdparty/civetweb-1.9.1/ci/travis/lua_env.sh
+++ /dev/null
@@ -1,5 +0,0 @@
-#!/bin/bash
-
-LUAROCKS=ci/lua/bin/luarocks
-eval $($LUAROCKS path --bin)
-

http://git-wip-us.apache.org/repos/asf/nifi-minifi-cpp/blob/65ca9ecd/thirdparty/civetweb-1.9.1/ci/travis/platform.sh
----------------------------------------------------------------------
diff --git a/thirdparty/civetweb-1.9.1/ci/travis/platform.sh b/thirdparty/civetweb-1.9.1/ci/travis/platform.sh
deleted file mode 100755
index 4a3af0d..0000000
--- a/thirdparty/civetweb-1.9.1/ci/travis/platform.sh
+++ /dev/null
@@ -1,15 +0,0 @@
-if [ -z "$PLATFORM" ]; then
-  PLATFORM=$TRAVIS_OS_NAME;
-fi
-
-if [ "$PLATFORM" == "osx" ]; then
-  PLATFORM="macosx";
-fi
-
-if [ -z "$PLATFORM" ]; then
-  if [ "$(uname)" == "Linux" ]; then
-    PLATFORM="linux";
-  else
-    PLATFORM="macosx";
-  fi;
-fi

http://git-wip-us.apache.org/repos/asf/nifi-minifi-cpp/blob/65ca9ecd/thirdparty/civetweb-1.9.1/ci/travis/run_ci_tests.sh
----------------------------------------------------------------------
diff --git a/thirdparty/civetweb-1.9.1/ci/travis/run_ci_tests.sh b/thirdparty/civetweb-1.9.1/ci/travis/run_ci_tests.sh
deleted file mode 100755
index 33c55dd..0000000
--- a/thirdparty/civetweb-1.9.1/ci/travis/run_ci_tests.sh
+++ /dev/null
@@ -1,7 +0,0 @@
-#!/bin/bash
-set -ev
-
-source ci/travis/lua_env.sh
-busted -o TAP ci/test/
-
-

http://git-wip-us.apache.org/repos/asf/nifi-minifi-cpp/blob/65ca9ecd/thirdparty/civetweb-1.9.1/ci/travis/setup_lua.sh
----------------------------------------------------------------------
diff --git a/thirdparty/civetweb-1.9.1/ci/travis/setup_lua.sh b/thirdparty/civetweb-1.9.1/ci/travis/setup_lua.sh
deleted file mode 100755
index 0992a89..0000000
--- a/thirdparty/civetweb-1.9.1/ci/travis/setup_lua.sh
+++ /dev/null
@@ -1,61 +0,0 @@
-#! /bin/bash
-set -ev
-
-# this script installs a lua / luarocks environment in .travis/lua
-# this is necessary because travis docker architecture (the fast way)
-# does not permit sudo, and does not contain a useful lua installation
-
-# After this script is finished, you can configure your environment to
-# use it by sourcing lua_env.sh
-
-source ci/travis/platform.sh
-
-# The current versions when this script was written
-LUA_VERSION=5.2.4
-LUAROCKS_VERSION=2.2.2
-
-# directory where this script is located
-SCRIPT_DIR=$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )
-
-# civetweb base dir
-PROJECT_DIR=$( cd "$( dirname "${BASH_SOURCE[0]}" )"/../.. && pwd )
-
-# fetch and unpack lua src
-cd $SCRIPT_DIR
-LUA_BASE=lua-$LUA_VERSION
-rm -rf $LUA_BASE
-curl http://www.lua.org/ftp/$LUA_BASE.tar.gz | tar zx
-
-# build lua
-cd $LUA_BASE
-make $PLATFORM
-make local
-
-# mv built lua install to target Lua dir
-LUA_DIR=$PROJECT_DIR/ci/lua
-rm -rf $LUA_DIR
-mv $SCRIPT_DIR/$LUA_BASE/install $LUA_DIR
-
-# add to path required by luarocks installer
-export PATH=$LUA_DIR/bin:$PATH
-
-
-# fetch and unpack luarocks
-cd $SCRIPT_DIR
-LUAROCKS_BASE=luarocks-$LUAROCKS_VERSION
-rm -rf ${LUAROCKS_BASE}
-LUAROCKS_URL=http://luarocks.org/releases/${LUAROCKS_BASE}.tar.gz
-# -L because it's a 302 redirect
-curl -L $LUAROCKS_URL | tar xzp
-cd $LUAROCKS_BASE
-
-# build luarocks
-./configure --prefix=$LUA_DIR
-make build
-make install
-
-# cleanup source dirs
-cd $SCRIPT_DIR
-rm -rf $LUAROCKS_BASE
-rm -rf $LUA_BASE
-

http://git-wip-us.apache.org/repos/asf/nifi-minifi-cpp/blob/65ca9ecd/thirdparty/civetweb-1.9.1/examples/README.md
----------------------------------------------------------------------
diff --git a/thirdparty/civetweb-1.9.1/examples/README.md b/thirdparty/civetweb-1.9.1/examples/README.md
deleted file mode 100644
index 523c52c..0000000
--- a/thirdparty/civetweb-1.9.1/examples/README.md
+++ /dev/null
@@ -1,8 +0,0 @@
-
-Examples
-=====
-
-These examples show how to embed civetweb into a C ([embedded_c](https://github.com/civetweb/civetweb/tree/master/examples/embedded_c)) or a C++ ([embedded_cpp](https://github.com/civetweb/civetweb/tree/master/examples/embedded_cpp)) application.
-The C++ wrapper only offers a subset of the full C API, thus the C example is more complete than the C++ example.
-
-Some no longer maintained examples can be found in the ["obsolete"](https://github.com/civetweb/civetweb/tree/master/examples/_obsolete) folder. It is not guaranteed that they work in the current version - they are kept for reference, but might be removed in the future.

http://git-wip-us.apache.org/repos/asf/nifi-minifi-cpp/blob/65ca9ecd/thirdparty/civetweb-1.9.1/examples/_obsolete/chat/chat.c
----------------------------------------------------------------------
diff --git a/thirdparty/civetweb-1.9.1/examples/_obsolete/chat/chat.c b/thirdparty/civetweb-1.9.1/examples/_obsolete/chat/chat.c
deleted file mode 100644
index ad14618..0000000
--- a/thirdparty/civetweb-1.9.1/examples/_obsolete/chat/chat.c
+++ /dev/null
@@ -1,403 +0,0 @@
-// This file is part of the Civetweb project, http://code.google.com/p/civetweb
-// It implements an online chat server. For more details,
-// see the documentation on the project web site.
-// To test the application,
-// 1. type "make" in the directory where this file lives
-// 2. point your browser to http://127.0.0.1:8081
-
-#include <stdio.h>
-#include <stdlib.h>
-#include <assert.h>
-#include <string.h>
-#include <time.h>
-#include <stdarg.h>
-#include <pthread.h>
-
-#include "civetweb.h"
-
-#define MAX_USER_LEN  20
-#define MAX_MESSAGE_LEN  100
-#define MAX_MESSAGES 5
-#define MAX_SESSIONS 2
-#define SESSION_TTL 120
-
-static const char *authorize_url = "/authorize";
-static const char *login_url = "/login.html";
-static const char *ajax_reply_start =
-    "HTTP/1.1 200 OK\r\n"
-    "Cache: no-cache\r\n"
-    "Content-Type: application/x-javascript\r\n"
-    "\r\n";
-
-// Describes single message sent to a chat. If user is empty (0 length),
-// the message is then originated from the server itself.
-struct message {
-    long id;                     // Message ID
-    char user[MAX_USER_LEN];     // User that have sent the message
-    char text[MAX_MESSAGE_LEN];  // Message text
-    time_t timestamp;            // Message timestamp, UTC
-};
-
-// Describes web session.
-struct session {
-    char session_id[33];      // Session ID, must be unique
-    char random[20];          // Random data used for extra user validation
-    char user[MAX_USER_LEN];  // Authenticated user
-    time_t expire;            // Expiration timestamp, UTC
-};
-
-static struct message messages[MAX_MESSAGES];  // Ringbuffer for messages
-static struct session sessions[MAX_SESSIONS];  // Current sessions
-static long last_message_id;
-
-// Protects messages, sessions, last_message_id
-static pthread_rwlock_t rwlock = PTHREAD_RWLOCK_INITIALIZER;
-
-// Get session object for the connection. Caller must hold the lock.
-static struct session *get_session(const struct mg_connection *conn)
-{
-    int i;
-    const char *cookie = mg_get_header(conn, "Cookie");
-    char session_id[33];
-    time_t now = time(NULL);
-    mg_get_cookie(cookie, "session", session_id, sizeof(session_id));
-    for (i = 0; i < MAX_SESSIONS; i++) {
-        if (sessions[i].expire != 0 &&
-            sessions[i].expire > now &&
-            strcmp(sessions[i].session_id, session_id) == 0) {
-            break;
-        }
-    }
-    return i == MAX_SESSIONS ? NULL : &sessions[i];
-}
-
-static void get_qsvar(const struct mg_request_info *request_info,
-                      const char *name, char *dst, size_t dst_len)
-{
-    const char *qs = request_info->query_string;
-    mg_get_var(qs, strlen(qs == NULL ? "" : qs), name, dst, dst_len);
-}
-
-// Get a get of messages with IDs greater than last_id and transform them
-// into a JSON string. Return that string to the caller. The string is
-// dynamically allocated, caller must free it. If there are no messages,
-// NULL is returned.
-static char *messages_to_json(long last_id)
-{
-    const struct message *message;
-    int max_msgs, len;
-    char buf[sizeof(messages)];  // Large enough to hold all messages
-
-    // Read-lock the ringbuffer. Loop over all messages, making a JSON string.
-    pthread_rwlock_rdlock(&rwlock);
-    len = 0;
-    max_msgs = sizeof(messages) / sizeof(messages[0]);
-    // If client is too far behind, return all messages.
-    if (last_message_id - last_id > max_msgs) {
-        last_id = last_message_id - max_msgs;
-    }
-    for (; last_id < last_message_id; last_id++) {
-        message = &messages[last_id % max_msgs];
-        if (message->timestamp == 0) {
-            break;
-        }
-        // buf is allocated on stack and hopefully is large enough to hold all
-        // messages (it may be too small if the ringbuffer is full and all
-        // messages are large. in this case asserts will trigger).
-        len += snprintf(buf + len, sizeof(buf) - len,
-                        "{user: '%s', text: '%s', timestamp: %lu, id: %ld},",
-                        message->user, message->text, message->timestamp, message->id);
-        assert(len > 0);
-        assert((size_t) len < sizeof(buf));
-    }
-    pthread_rwlock_unlock(&rwlock);
-
-    return len == 0 ? NULL : strdup(buf);
-}
-
-// If "callback" param is present in query string, this is JSONP call.
-// Return 1 in this case, or 0 if "callback" is not specified.
-// Wrap an output in Javascript function call.
-static int handle_jsonp(struct mg_connection *conn,
-                        const struct mg_request_info *request_info)
-{
-    char cb[64];
-
-    get_qsvar(request_info, "callback", cb, sizeof(cb));
-    if (cb[0] != '\0') {
-        mg_printf(conn, "%s(", cb);
-    }
-
-    return cb[0] == '\0' ? 0 : 1;
-}
-
-// A handler for the /ajax/get_messages endpoint.
-// Return a list of messages with ID greater than requested.
-static void ajax_get_messages(struct mg_connection *conn,
-                              const struct mg_request_info *request_info)
-{
-    char last_id[32], *json;
-    int is_jsonp;
-
-    mg_printf(conn, "%s", ajax_reply_start);
-    is_jsonp = handle_jsonp(conn, request_info);
-
-    get_qsvar(request_info, "last_id", last_id, sizeof(last_id));
-    if ((json = messages_to_json(strtoul(last_id, NULL, 10))) != NULL) {
-        mg_printf(conn, "[%s]", json);
-        free(json);
-    }
-
-    if (is_jsonp) {
-        mg_printf(conn, "%s", ")");
-    }
-}
-
-// Allocate new message. Caller must hold the lock.
-static struct message *new_message(void)
-{
-    static int size = sizeof(messages) / sizeof(messages[0]);
-    struct message *message = &messages[last_message_id % size];
-    message->id = last_message_id++;
-    message->timestamp = time(0);
-    return message;
-}
-
-static void my_strlcpy(char *dst, const char *src, size_t len)
-{
-    strncpy(dst, src, len);
-    dst[len - 1] = '\0';
-}
-
-// A handler for the /ajax/send_message endpoint.
-static void ajax_send_message(struct mg_connection *conn,
-                              const struct mg_request_info *request_info)
-{
-    struct message *message;
-    struct session *session;
-    char text[sizeof(message->text) - 1];
-    int is_jsonp;
-
-    mg_printf(conn, "%s", ajax_reply_start);
-    is_jsonp = handle_jsonp(conn, request_info);
-
-    get_qsvar(request_info, "text", text, sizeof(text));
-    if (text[0] != '\0') {
-        // We have a message to store. Write-lock the ringbuffer,
-        // grab the next message and copy data into it.
-        pthread_rwlock_wrlock(&rwlock);
-        message = new_message();
-        // TODO(lsm): JSON-encode all text strings
-        session = get_session(conn);
-        assert(session != NULL);
-        my_strlcpy(message->text, text, sizeof(text));
-        my_strlcpy(message->user, session->user, sizeof(message->user));
-        pthread_rwlock_unlock(&rwlock);
-    }
-
-    mg_printf(conn, "%s", text[0] == '\0' ? "false" : "true");
-
-    if (is_jsonp) {
-        mg_printf(conn, "%s", ")");
-    }
-}
-
-// Redirect user to the login form. In the cookie, store the original URL
-// we came from, so that after the authorization we could redirect back.
-static void redirect_to_login(struct mg_connection *conn,
-                              const struct mg_request_info *request_info)
-{
-    mg_printf(conn, "HTTP/1.1 302 Found\r\n"
-              "Set-Cookie: original_url=%s\r\n"
-              "Location: %s\r\n\r\n",
-              request_info->uri, login_url);
-}
-
-// Return 1 if username/password is allowed, 0 otherwise.
-static int check_password(const char *user, const char *password)
-{
-    // In production environment we should ask an authentication system
-    // to authenticate the user.
-    // Here however we do trivial check that user and password are not empty
-    return (user[0] && password[0]);
-}
-
-// Allocate new session object
-static struct session *new_session(void)
-{
-    int i;
-    time_t now = time(NULL);
-    pthread_rwlock_wrlock(&rwlock);
-    for (i = 0; i < MAX_SESSIONS; i++) {
-        if (sessions[i].expire == 0 || sessions[i].expire < now) {
-            sessions[i].expire = time(0) + SESSION_TTL;
-            break;
-        }
-    }
-    pthread_rwlock_unlock(&rwlock);
-    return i == MAX_SESSIONS ? NULL : &sessions[i];
-}
-
-// Generate session ID. buf must be 33 bytes in size.
-// Note that it is easy to steal session cookies by sniffing traffic.
-// This is why all communication must be SSL-ed.
-static void generate_session_id(char *buf, const char *random,
-                                const char *user)
-{
-    mg_md5(buf, random, user, NULL);
-}
-
-static void send_server_message(const char *fmt, ...)
-{
-    va_list ap;
-    struct message *message;
-
-    pthread_rwlock_wrlock(&rwlock);
-    message = new_message();
-    message->user[0] = '\0';  // Empty user indicates server message
-    va_start(ap, fmt);
-    vsnprintf(message->text, sizeof(message->text), fmt, ap);
-    va_end(ap);
-
-    pthread_rwlock_unlock(&rwlock);
-}
-
-// A handler for the /authorize endpoint.
-// Login page form sends user name and password to this endpoint.
-static void authorize(struct mg_connection *conn,
-                      const struct mg_request_info *request_info)
-{
-    char user[MAX_USER_LEN], password[MAX_USER_LEN];
-    struct session *session;
-
-    // Fetch user name and password.
-    get_qsvar(request_info, "user", user, sizeof(user));
-    get_qsvar(request_info, "password", password, sizeof(password));
-
-    if (check_password(user, password) && (session = new_session()) != NULL) {
-        // Authentication success:
-        //   1. create new session
-        //   2. set session ID token in the cookie
-        //   3. remove original_url from the cookie - not needed anymore
-        //   4. redirect client back to the original URL
-        //
-        // The most secure way is to stay HTTPS all the time. However, just to
-        // show the technique, we redirect to HTTP after the successful
-        // authentication. The danger of doing this is that session cookie can
-        // be stolen and an attacker may impersonate the user.
-        // Secure application must use HTTPS all the time.
-        my_strlcpy(session->user, user, sizeof(session->user));
-        snprintf(session->random, sizeof(session->random), "%d", rand());
-        generate_session_id(session->session_id, session->random, session->user);
-        send_server_message("<%s> joined", session->user);
-        mg_printf(conn, "HTTP/1.1 302 Found\r\n"
-                  "Set-Cookie: session=%s; max-age=3600; http-only\r\n"  // Session ID
-                  "Set-Cookie: user=%s\r\n"  // Set user, needed by Javascript code
-                  "Set-Cookie: original_url=/; max-age=0\r\n"  // Delete original_url
-                  "Location: /\r\n\r\n",
-                  session->session_id, session->user);
-    } else {
-        // Authentication failure, redirect to login.
-        redirect_to_login(conn, request_info);
-    }
-}
-
-// Return 1 if request is authorized, 0 otherwise.
-static int is_authorized(const struct mg_connection *conn,
-                         const struct mg_request_info *request_info)
-{
-    struct session *session;
-    char valid_id[33];
-    int authorized = 0;
-
-    // Always authorize accesses to login page and to authorize URI
-    if (!strcmp(request_info->uri, login_url) ||
-        !strcmp(request_info->uri, authorize_url)) {
-        return 1;
-    }
-
-    pthread_rwlock_rdlock(&rwlock);
-    if ((session = get_session(conn)) != NULL) {
-        generate_session_id(valid_id, session->random, session->user);
-        if (strcmp(valid_id, session->session_id) == 0) {
-            session->expire = time(0) + SESSION_TTL;
-            authorized = 1;
-        }
-    }
-    pthread_rwlock_unlock(&rwlock);
-
-    return authorized;
-}
-
-static void redirect_to_ssl(struct mg_connection *conn,
-                            const struct mg_request_info *request_info)
-{
-    const char *p, *host = mg_get_header(conn, "Host");
-    if (host != NULL && (p = strchr(host, ':')) != NULL) {
-        mg_printf(conn, "HTTP/1.1 302 Found\r\n"
-                  "Location: https://%.*s:8082/%s:8082\r\n\r\n",
-                  (int) (p - host), host, request_info->uri);
-    } else {
-        mg_printf(conn, "%s", "HTTP/1.1 500 Error\r\n\r\nHost: header is not set");
-    }
-}
-
-static int begin_request_handler(struct mg_connection *conn)
-{
-    const struct mg_request_info *request_info = mg_get_request_info(conn);
-    int processed = 1;
-
-    if (!request_info->is_ssl) {
-        redirect_to_ssl(conn, request_info);
-    } else if (!is_authorized(conn, request_info)) {
-        redirect_to_login(conn, request_info);
-    } else if (strcmp(request_info->uri, authorize_url) == 0) {
-        authorize(conn, request_info);
-    } else if (strcmp(request_info->uri, "/ajax/get_messages") == 0) {
-        ajax_get_messages(conn, request_info);
-    } else if (strcmp(request_info->uri, "/ajax/send_message") == 0) {
-        ajax_send_message(conn, request_info);
-    } else {
-        // No suitable handler found, mark as not processed. Civetweb will
-        // try to serve the request.
-        processed = 0;
-    }
-    return processed;
-}
-
-static const char *options[] = {
-    "document_root", "html",
-    "listening_ports", "8081,8082s",
-    "ssl_certificate", "ssl_cert.pem",
-    "num_threads", "5",
-    NULL
-};
-
-int main(void)
-{
-    struct mg_callbacks callbacks;
-    struct mg_context *ctx;
-
-    // Initialize random number generator. It will be used later on for
-    // the session identifier creation.
-    srand((unsigned) time(0));
-
-    // Setup and start Civetweb
-    memset(&callbacks, 0, sizeof(callbacks));
-    callbacks.begin_request = begin_request_handler;
-    if ((ctx = mg_start(&callbacks, NULL, options)) == NULL) {
-        printf("%s\n", "Cannot start chat server, fatal exit");
-        exit(EXIT_FAILURE);
-    }
-
-    // Wait until enter is pressed, then exit
-    printf("Chat server started on ports %s, press enter to quit.\n",
-           mg_get_option(ctx, "listening_ports"));
-    getchar();
-    mg_stop(ctx);
-    printf("%s\n", "Chat server stopped.");
-
-    return EXIT_SUCCESS;
-}
-
-// vim:ts=2:sw=2:et

http://git-wip-us.apache.org/repos/asf/nifi-minifi-cpp/blob/65ca9ecd/thirdparty/civetweb-1.9.1/examples/_obsolete/docroot/favicon.ico
----------------------------------------------------------------------
diff --git a/thirdparty/civetweb-1.9.1/examples/_obsolete/docroot/favicon.ico b/thirdparty/civetweb-1.9.1/examples/_obsolete/docroot/favicon.ico
deleted file mode 100644
index 2179aba..0000000
Binary files a/thirdparty/civetweb-1.9.1/examples/_obsolete/docroot/favicon.ico and /dev/null differ

http://git-wip-us.apache.org/repos/asf/nifi-minifi-cpp/blob/65ca9ecd/thirdparty/civetweb-1.9.1/examples/_obsolete/docroot/index.html
----------------------------------------------------------------------
diff --git a/thirdparty/civetweb-1.9.1/examples/_obsolete/docroot/index.html b/thirdparty/civetweb-1.9.1/examples/_obsolete/docroot/index.html
deleted file mode 100644
index c85bec9..0000000
--- a/thirdparty/civetweb-1.9.1/examples/_obsolete/docroot/index.html
+++ /dev/null
@@ -1,73 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
-  "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 
-<html xmlns="http://www.w3.org/1999/xhtml" lang="en" dir="ltr"> 
-  <!-- This file is part of the  Civetweb project,
-    http://sourceforge.net/projects/civetweb/ -->
-  <head>
-    <title>Civetweb chat server</title>
-    <meta http-equiv="Content-Type" content="text/html;charset=utf-8"/>
-    <link type="text/css" rel="stylesheet" href="style.css"/>
-    <script src="jquery.js"></script>
-    <script src="main.js"></script>
-  </head>
-
-  <body>
-  <div id="header">
-    <div id="logo"></div>
-    <div class="rounded infobox help-message" id="motd">
-      Chat room implemented using
-      <a href="http://sourceforge.net/projects/civetweb/" target="_blank">Civetweb</a>
-      embeddable web server.
-      This application was written for educational purposes demonstrating
-      how web interface could be decoupled from the business logic. Not a
-      single line of HTML is generated by the server, instead, server
-      gives data to the client in JSON format.
-    </div>
-  </div>
-  <div>
-
-  <div id="middle">
-    <div><center><span id="error" class="rounded"></span><center></div>
-
-    <div id="menu">
-      <div class="menu-item left-rounded menu-item-selected"
-      	name="chat">Chat</div>
-      <div class="menu-item left-rounded" name="settings">Settings</div>
-    </div>
-
-    <div id="content" class="rounded">
-
-      <div id="chat" class="main">
-        <div class="chat-window">
-          <span class="top-rounded chat-title">Main room</span>
-          <div class="bottom-rounded chat-content">
-            <div class="message-list" id="mml">
-            </div>
-            <input type="text" size="40" class="message-input"></input>
-            <span class="help-message">
-              Type your message here and press enter</span>
-          </div>
-        </div>
-      </div>
-
-      <div id="settings" class="hidden main">
-        <div>
-          <span class="top-rounded chat-title">Settings</span>
-          <div class="bottom-rounded chat-content">
-	    <table>
-	      <tr><td>Max messages to display:</td><td>blah blah</td></tr>
-	      <tr><td>Text color:</td><td>blah blah</td></tr>
-	    </table>
-          </div>
-        </div>
-      </div>
-
-    </div>
-  </div>
-
-  <div id="footer">
-    Copyright &copy; 2004-2010 by Sergey Lyubka
-  </div>
-
-  </body>
-</html>