trafficserver-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From zw...@apache.org
Subject [03/14] git commit: lighttpd module to generate dynamic responses
Date Thu, 06 Jun 2013 04:13:38 GMT
lighttpd module to generate dynamic responses


Project: http://git-wip-us.apache.org/repos/asf/trafficserver/repo
Commit: http://git-wip-us.apache.org/repos/asf/trafficserver/commit/218cccb1
Tree: http://git-wip-us.apache.org/repos/asf/trafficserver/tree/218cccb1
Diff: http://git-wip-us.apache.org/repos/asf/trafficserver/diff/218cccb1

Branch: refs/heads/3.3.x
Commit: 218cccb183650a6b0486d804dcc60a3182a29287
Parents: 779ddfa
Author: Bryan Call <bcall@apache.org>
Authored: Tue Jun 4 12:58:18 2013 -0700
Committer: Bryan Call <bcall@apache.org>
Committed: Tue Jun 4 12:58:18 2013 -0700

----------------------------------------------------------------------
 tools/lighttpd_mod_generator/README                |   11 +
 .../lighttpd_mod_generator/ats_lighttpd_benchmark  |    4 +
 tools/lighttpd_mod_generator/conf/lighttpd.conf    |   19 +
 tools/lighttpd_mod_generator/conf/lighttpd_1.conf  |   15 +
 tools/lighttpd_mod_generator/conf/lighttpd_10.conf |   16 +
 tools/lighttpd_mod_generator/conf/lighttpd_11.conf |   16 +
 tools/lighttpd_mod_generator/conf/lighttpd_12.conf |   16 +
 tools/lighttpd_mod_generator/conf/lighttpd_13.conf |   16 +
 tools/lighttpd_mod_generator/conf/lighttpd_14.conf |   16 +
 tools/lighttpd_mod_generator/conf/lighttpd_15.conf |   16 +
 tools/lighttpd_mod_generator/conf/lighttpd_16.conf |   16 +
 tools/lighttpd_mod_generator/conf/lighttpd_17.conf |   16 +
 tools/lighttpd_mod_generator/conf/lighttpd_18.conf |   16 +
 tools/lighttpd_mod_generator/conf/lighttpd_19.conf |   16 +
 tools/lighttpd_mod_generator/conf/lighttpd_2.conf  |   16 +
 tools/lighttpd_mod_generator/conf/lighttpd_20.conf |   16 +
 tools/lighttpd_mod_generator/conf/lighttpd_21.conf |   16 +
 tools/lighttpd_mod_generator/conf/lighttpd_22.conf |   16 +
 tools/lighttpd_mod_generator/conf/lighttpd_23.conf |   16 +
 tools/lighttpd_mod_generator/conf/lighttpd_24.conf |   16 +
 tools/lighttpd_mod_generator/conf/lighttpd_3.conf  |   16 +
 tools/lighttpd_mod_generator/conf/lighttpd_4.conf  |   16 +
 tools/lighttpd_mod_generator/conf/lighttpd_5.conf  |   16 +
 tools/lighttpd_mod_generator/conf/lighttpd_6.conf  |   16 +
 tools/lighttpd_mod_generator/conf/lighttpd_7.conf  |   16 +
 tools/lighttpd_mod_generator/conf/lighttpd_8.conf  |   16 +
 tools/lighttpd_mod_generator/conf/lighttpd_9.conf  |   16 +
 tools/lighttpd_mod_generator/mod_generator.c       |  337 +++++++++++++++
 28 files changed, 754 insertions(+), 0 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/trafficserver/blob/218cccb1/tools/lighttpd_mod_generator/README
----------------------------------------------------------------------
diff --git a/tools/lighttpd_mod_generator/README b/tools/lighttpd_mod_generator/README
new file mode 100644
index 0000000..434c6ea
--- /dev/null
+++ b/tools/lighttpd_mod_generator/README
@@ -0,0 +1,11 @@
+ATS (Apache Traffic Server) version of lighttpd
+lighttpd is use as an origin server for testing.
+
+Version 1.4.30_1 (3/28/12, bcall)
+ - Updated version of lighttpd
+
+Version 1.4.21_1 (5/9/11, bcall)
+ - Updated version of lighttpd
+
+Version 1.4.21 (2/19/09, bcall)
+ - First version of lighttpd for YTS.

http://git-wip-us.apache.org/repos/asf/trafficserver/blob/218cccb1/tools/lighttpd_mod_generator/ats_lighttpd_benchmark
----------------------------------------------------------------------
diff --git a/tools/lighttpd_mod_generator/ats_lighttpd_benchmark b/tools/lighttpd_mod_generator/ats_lighttpd_benchmark
new file mode 100755
index 0000000..6f58250
--- /dev/null
+++ b/tools/lighttpd_mod_generator/ats_lighttpd_benchmark
@@ -0,0 +1,4 @@
+#!/bin/bash
+PREFIX=/usr/local
+
+for i in {1..24}; do echo $i; sudo $PREFIX/bin/lighttpd -f $PREFIX/etc/lighttpd/lighttpd_$i.conf;
done

http://git-wip-us.apache.org/repos/asf/trafficserver/blob/218cccb1/tools/lighttpd_mod_generator/conf/lighttpd.conf
----------------------------------------------------------------------
diff --git a/tools/lighttpd_mod_generator/conf/lighttpd.conf b/tools/lighttpd_mod_generator/conf/lighttpd.conf
new file mode 100644
index 0000000..2bc3483
--- /dev/null
+++ b/tools/lighttpd_mod_generator/conf/lighttpd.conf
@@ -0,0 +1,19 @@
+server.document-root = "/usr/local/share/lighttpd"
+server.modules += ( "mod_redirect", "mod_accesslog", "mod_generator")
+
+url.redirect = (
+  "^/bcall"   => "http://test.example.com/1k.html"
+)
+
+mimetype.assign = (
+  ".html" => "text/html", 
+  ".txt" => "text/plain",
+  ".jpg" => "image/jpeg",
+  ".png" => "image/png"
+)
+index-file.names = ( "index.html" )
+
+accesslog.filename          = "/usr/local/var/log/access.log"
+server.errorlog             = "/usr/local/var/log/error.log"
+
+server.port = 8080

http://git-wip-us.apache.org/repos/asf/trafficserver/blob/218cccb1/tools/lighttpd_mod_generator/conf/lighttpd_1.conf
----------------------------------------------------------------------
diff --git a/tools/lighttpd_mod_generator/conf/lighttpd_1.conf b/tools/lighttpd_mod_generator/conf/lighttpd_1.conf
new file mode 100644
index 0000000..d72f1ec
--- /dev/null
+++ b/tools/lighttpd_mod_generator/conf/lighttpd_1.conf
@@ -0,0 +1,15 @@
+server.document-root = "/usr/local/share/lighttpd"
+server.modules += ( "mod_redirect", "mod_accesslog", "mod_generator")
+
+url.redirect = (
+  "^/bcall"   => "http://test.example.com/1k.html"
+)
+
+mimetype.assign = (
+  ".html" => "text/html", 
+  ".txt" => "text/plain",
+  ".jpg" => "image/jpeg",
+  ".png" => "image/png"
+)
+index-file.names = ( "index.html" )
+

http://git-wip-us.apache.org/repos/asf/trafficserver/blob/218cccb1/tools/lighttpd_mod_generator/conf/lighttpd_10.conf
----------------------------------------------------------------------
diff --git a/tools/lighttpd_mod_generator/conf/lighttpd_10.conf b/tools/lighttpd_mod_generator/conf/lighttpd_10.conf
new file mode 100644
index 0000000..94a7982
--- /dev/null
+++ b/tools/lighttpd_mod_generator/conf/lighttpd_10.conf
@@ -0,0 +1,16 @@
+server.document-root = "/usr/local/share/lighttpd"
+server.modules += ( "mod_redirect", "mod_accesslog", "mod_generator")
+
+url.redirect = (
+  "^/bcall"   => "http://test.example.com/1k.html"
+)
+
+mimetype.assign = (
+  ".html" => "text/html", 
+  ".txt" => "text/plain",
+  ".jpg" => "image/jpeg",
+  ".png" => "image/png"
+)
+index-file.names = ( "index.html" )
+
+server.port = 81010

http://git-wip-us.apache.org/repos/asf/trafficserver/blob/218cccb1/tools/lighttpd_mod_generator/conf/lighttpd_11.conf
----------------------------------------------------------------------
diff --git a/tools/lighttpd_mod_generator/conf/lighttpd_11.conf b/tools/lighttpd_mod_generator/conf/lighttpd_11.conf
new file mode 100644
index 0000000..d28daf8
--- /dev/null
+++ b/tools/lighttpd_mod_generator/conf/lighttpd_11.conf
@@ -0,0 +1,16 @@
+server.document-root = "/usr/local/share/lighttpd"
+server.modules += ( "mod_redirect", "mod_accesslog", "mod_generator")
+
+url.redirect = (
+  "^/bcall"   => "http://test.example.com/1k.html"
+)
+
+mimetype.assign = (
+  ".html" => "text/html", 
+  ".txt" => "text/plain",
+  ".jpg" => "image/jpeg",
+  ".png" => "image/png"
+)
+index-file.names = ( "index.html" )
+
+server.port = 81011

http://git-wip-us.apache.org/repos/asf/trafficserver/blob/218cccb1/tools/lighttpd_mod_generator/conf/lighttpd_12.conf
----------------------------------------------------------------------
diff --git a/tools/lighttpd_mod_generator/conf/lighttpd_12.conf b/tools/lighttpd_mod_generator/conf/lighttpd_12.conf
new file mode 100644
index 0000000..c0a2e9f
--- /dev/null
+++ b/tools/lighttpd_mod_generator/conf/lighttpd_12.conf
@@ -0,0 +1,16 @@
+server.document-root = "/usr/local/share/lighttpd"
+server.modules += ( "mod_redirect", "mod_accesslog", "mod_generator")
+
+url.redirect = (
+  "^/bcall"   => "http://test.example.com/1k.html"
+)
+
+mimetype.assign = (
+  ".html" => "text/html", 
+  ".txt" => "text/plain",
+  ".jpg" => "image/jpeg",
+  ".png" => "image/png"
+)
+index-file.names = ( "index.html" )
+
+server.port = 81012

http://git-wip-us.apache.org/repos/asf/trafficserver/blob/218cccb1/tools/lighttpd_mod_generator/conf/lighttpd_13.conf
----------------------------------------------------------------------
diff --git a/tools/lighttpd_mod_generator/conf/lighttpd_13.conf b/tools/lighttpd_mod_generator/conf/lighttpd_13.conf
new file mode 100644
index 0000000..8a168a7
--- /dev/null
+++ b/tools/lighttpd_mod_generator/conf/lighttpd_13.conf
@@ -0,0 +1,16 @@
+server.document-root = "/usr/local/share/lighttpd"
+server.modules += ( "mod_redirect", "mod_accesslog", "mod_generator")
+
+url.redirect = (
+  "^/bcall"   => "http://test.example.com/1k.html"
+)
+
+mimetype.assign = (
+  ".html" => "text/html", 
+  ".txt" => "text/plain",
+  ".jpg" => "image/jpeg",
+  ".png" => "image/png"
+)
+index-file.names = ( "index.html" )
+
+server.port = 81013

http://git-wip-us.apache.org/repos/asf/trafficserver/blob/218cccb1/tools/lighttpd_mod_generator/conf/lighttpd_14.conf
----------------------------------------------------------------------
diff --git a/tools/lighttpd_mod_generator/conf/lighttpd_14.conf b/tools/lighttpd_mod_generator/conf/lighttpd_14.conf
new file mode 100644
index 0000000..81401d7
--- /dev/null
+++ b/tools/lighttpd_mod_generator/conf/lighttpd_14.conf
@@ -0,0 +1,16 @@
+server.document-root = "/usr/local/share/lighttpd"
+server.modules += ( "mod_redirect", "mod_accesslog", "mod_generator")
+
+url.redirect = (
+  "^/bcall"   => "http://test.example.com/1k.html"
+)
+
+mimetype.assign = (
+  ".html" => "text/html", 
+  ".txt" => "text/plain",
+  ".jpg" => "image/jpeg",
+  ".png" => "image/png"
+)
+index-file.names = ( "index.html" )
+
+server.port = 81014

http://git-wip-us.apache.org/repos/asf/trafficserver/blob/218cccb1/tools/lighttpd_mod_generator/conf/lighttpd_15.conf
----------------------------------------------------------------------
diff --git a/tools/lighttpd_mod_generator/conf/lighttpd_15.conf b/tools/lighttpd_mod_generator/conf/lighttpd_15.conf
new file mode 100644
index 0000000..6765acc
--- /dev/null
+++ b/tools/lighttpd_mod_generator/conf/lighttpd_15.conf
@@ -0,0 +1,16 @@
+server.document-root = "/usr/local/share/lighttpd"
+server.modules += ( "mod_redirect", "mod_accesslog", "mod_generator")
+
+url.redirect = (
+  "^/bcall"   => "http://test.example.com/1k.html"
+)
+
+mimetype.assign = (
+  ".html" => "text/html", 
+  ".txt" => "text/plain",
+  ".jpg" => "image/jpeg",
+  ".png" => "image/png"
+)
+index-file.names = ( "index.html" )
+
+server.port = 81015

http://git-wip-us.apache.org/repos/asf/trafficserver/blob/218cccb1/tools/lighttpd_mod_generator/conf/lighttpd_16.conf
----------------------------------------------------------------------
diff --git a/tools/lighttpd_mod_generator/conf/lighttpd_16.conf b/tools/lighttpd_mod_generator/conf/lighttpd_16.conf
new file mode 100644
index 0000000..9d4a3f5
--- /dev/null
+++ b/tools/lighttpd_mod_generator/conf/lighttpd_16.conf
@@ -0,0 +1,16 @@
+server.document-root = "/usr/local/share/lighttpd"
+server.modules += ( "mod_redirect", "mod_accesslog", "mod_generator")
+
+url.redirect = (
+  "^/bcall"   => "http://test.example.com/1k.html"
+)
+
+mimetype.assign = (
+  ".html" => "text/html", 
+  ".txt" => "text/plain",
+  ".jpg" => "image/jpeg",
+  ".png" => "image/png"
+)
+index-file.names = ( "index.html" )
+
+server.port = 81016

http://git-wip-us.apache.org/repos/asf/trafficserver/blob/218cccb1/tools/lighttpd_mod_generator/conf/lighttpd_17.conf
----------------------------------------------------------------------
diff --git a/tools/lighttpd_mod_generator/conf/lighttpd_17.conf b/tools/lighttpd_mod_generator/conf/lighttpd_17.conf
new file mode 100644
index 0000000..0a93742
--- /dev/null
+++ b/tools/lighttpd_mod_generator/conf/lighttpd_17.conf
@@ -0,0 +1,16 @@
+server.document-root = "/usr/local/share/lighttpd"
+server.modules += ( "mod_redirect", "mod_accesslog", "mod_generator")
+
+url.redirect = (
+  "^/bcall"   => "http://test.example.com/1k.html"
+)
+
+mimetype.assign = (
+  ".html" => "text/html", 
+  ".txt" => "text/plain",
+  ".jpg" => "image/jpeg",
+  ".png" => "image/png"
+)
+index-file.names = ( "index.html" )
+
+server.port = 81017

http://git-wip-us.apache.org/repos/asf/trafficserver/blob/218cccb1/tools/lighttpd_mod_generator/conf/lighttpd_18.conf
----------------------------------------------------------------------
diff --git a/tools/lighttpd_mod_generator/conf/lighttpd_18.conf b/tools/lighttpd_mod_generator/conf/lighttpd_18.conf
new file mode 100644
index 0000000..795415a
--- /dev/null
+++ b/tools/lighttpd_mod_generator/conf/lighttpd_18.conf
@@ -0,0 +1,16 @@
+server.document-root = "/usr/local/share/lighttpd"
+server.modules += ( "mod_redirect", "mod_accesslog", "mod_generator")
+
+url.redirect = (
+  "^/bcall"   => "http://test.example.com/1k.html"
+)
+
+mimetype.assign = (
+  ".html" => "text/html", 
+  ".txt" => "text/plain",
+  ".jpg" => "image/jpeg",
+  ".png" => "image/png"
+)
+index-file.names = ( "index.html" )
+
+server.port = 81018

http://git-wip-us.apache.org/repos/asf/trafficserver/blob/218cccb1/tools/lighttpd_mod_generator/conf/lighttpd_19.conf
----------------------------------------------------------------------
diff --git a/tools/lighttpd_mod_generator/conf/lighttpd_19.conf b/tools/lighttpd_mod_generator/conf/lighttpd_19.conf
new file mode 100644
index 0000000..c009998
--- /dev/null
+++ b/tools/lighttpd_mod_generator/conf/lighttpd_19.conf
@@ -0,0 +1,16 @@
+server.document-root = "/usr/local/share/lighttpd"
+server.modules += ( "mod_redirect", "mod_accesslog", "mod_generator")
+
+url.redirect = (
+  "^/bcall"   => "http://test.example.com/1k.html"
+)
+
+mimetype.assign = (
+  ".html" => "text/html", 
+  ".txt" => "text/plain",
+  ".jpg" => "image/jpeg",
+  ".png" => "image/png"
+)
+index-file.names = ( "index.html" )
+
+server.port = 81019

http://git-wip-us.apache.org/repos/asf/trafficserver/blob/218cccb1/tools/lighttpd_mod_generator/conf/lighttpd_2.conf
----------------------------------------------------------------------
diff --git a/tools/lighttpd_mod_generator/conf/lighttpd_2.conf b/tools/lighttpd_mod_generator/conf/lighttpd_2.conf
new file mode 100644
index 0000000..995255a
--- /dev/null
+++ b/tools/lighttpd_mod_generator/conf/lighttpd_2.conf
@@ -0,0 +1,16 @@
+server.document-root = "/usr/local/share/lighttpd"
+server.modules += ( "mod_redirect", "mod_accesslog", "mod_generator")
+
+url.redirect = (
+  "^/bcall"   => "http://test.example.com/1k.html"
+)
+
+mimetype.assign = (
+  ".html" => "text/html", 
+  ".txt" => "text/plain",
+  ".jpg" => "image/jpeg",
+  ".png" => "image/png"
+)
+index-file.names = ( "index.html" )
+
+server.port = 8102

http://git-wip-us.apache.org/repos/asf/trafficserver/blob/218cccb1/tools/lighttpd_mod_generator/conf/lighttpd_20.conf
----------------------------------------------------------------------
diff --git a/tools/lighttpd_mod_generator/conf/lighttpd_20.conf b/tools/lighttpd_mod_generator/conf/lighttpd_20.conf
new file mode 100644
index 0000000..a509628
--- /dev/null
+++ b/tools/lighttpd_mod_generator/conf/lighttpd_20.conf
@@ -0,0 +1,16 @@
+server.document-root = "/usr/local/share/lighttpd"
+server.modules += ( "mod_redirect", "mod_accesslog", "mod_generator")
+
+url.redirect = (
+  "^/bcall"   => "http://test.example.com/1k.html"
+)
+
+mimetype.assign = (
+  ".html" => "text/html", 
+  ".txt" => "text/plain",
+  ".jpg" => "image/jpeg",
+  ".png" => "image/png"
+)
+index-file.names = ( "index.html" )
+
+server.port = 81020

http://git-wip-us.apache.org/repos/asf/trafficserver/blob/218cccb1/tools/lighttpd_mod_generator/conf/lighttpd_21.conf
----------------------------------------------------------------------
diff --git a/tools/lighttpd_mod_generator/conf/lighttpd_21.conf b/tools/lighttpd_mod_generator/conf/lighttpd_21.conf
new file mode 100644
index 0000000..580ee46
--- /dev/null
+++ b/tools/lighttpd_mod_generator/conf/lighttpd_21.conf
@@ -0,0 +1,16 @@
+server.document-root = "/usr/local/share/lighttpd"
+server.modules += ( "mod_redirect", "mod_accesslog", "mod_generator")
+
+url.redirect = (
+  "^/bcall"   => "http://test.example.com/1k.html"
+)
+
+mimetype.assign = (
+  ".html" => "text/html", 
+  ".txt" => "text/plain",
+  ".jpg" => "image/jpeg",
+  ".png" => "image/png"
+)
+index-file.names = ( "index.html" )
+
+server.port = 81021

http://git-wip-us.apache.org/repos/asf/trafficserver/blob/218cccb1/tools/lighttpd_mod_generator/conf/lighttpd_22.conf
----------------------------------------------------------------------
diff --git a/tools/lighttpd_mod_generator/conf/lighttpd_22.conf b/tools/lighttpd_mod_generator/conf/lighttpd_22.conf
new file mode 100644
index 0000000..4ac554f
--- /dev/null
+++ b/tools/lighttpd_mod_generator/conf/lighttpd_22.conf
@@ -0,0 +1,16 @@
+server.document-root = "/usr/local/share/lighttpd"
+server.modules += ( "mod_redirect", "mod_accesslog", "mod_generator")
+
+url.redirect = (
+  "^/bcall"   => "http://test.example.com/1k.html"
+)
+
+mimetype.assign = (
+  ".html" => "text/html", 
+  ".txt" => "text/plain",
+  ".jpg" => "image/jpeg",
+  ".png" => "image/png"
+)
+index-file.names = ( "index.html" )
+
+server.port = 81022

http://git-wip-us.apache.org/repos/asf/trafficserver/blob/218cccb1/tools/lighttpd_mod_generator/conf/lighttpd_23.conf
----------------------------------------------------------------------
diff --git a/tools/lighttpd_mod_generator/conf/lighttpd_23.conf b/tools/lighttpd_mod_generator/conf/lighttpd_23.conf
new file mode 100644
index 0000000..8086c72
--- /dev/null
+++ b/tools/lighttpd_mod_generator/conf/lighttpd_23.conf
@@ -0,0 +1,16 @@
+server.document-root = "/usr/local/share/lighttpd"
+server.modules += ( "mod_redirect", "mod_accesslog", "mod_generator")
+
+url.redirect = (
+  "^/bcall"   => "http://test.example.com/1k.html"
+)
+
+mimetype.assign = (
+  ".html" => "text/html", 
+  ".txt" => "text/plain",
+  ".jpg" => "image/jpeg",
+  ".png" => "image/png"
+)
+index-file.names = ( "index.html" )
+
+server.port = 81023

http://git-wip-us.apache.org/repos/asf/trafficserver/blob/218cccb1/tools/lighttpd_mod_generator/conf/lighttpd_24.conf
----------------------------------------------------------------------
diff --git a/tools/lighttpd_mod_generator/conf/lighttpd_24.conf b/tools/lighttpd_mod_generator/conf/lighttpd_24.conf
new file mode 100644
index 0000000..11d9188
--- /dev/null
+++ b/tools/lighttpd_mod_generator/conf/lighttpd_24.conf
@@ -0,0 +1,16 @@
+server.document-root = "/usr/local/share/lighttpd"
+server.modules += ( "mod_redirect", "mod_accesslog", "mod_generator")
+
+url.redirect = (
+  "^/bcall"   => "http://test.example.com/1k.html"
+)
+
+mimetype.assign = (
+  ".html" => "text/html", 
+  ".txt" => "text/plain",
+  ".jpg" => "image/jpeg",
+  ".png" => "image/png"
+)
+index-file.names = ( "index.html" )
+
+server.port = 81024

http://git-wip-us.apache.org/repos/asf/trafficserver/blob/218cccb1/tools/lighttpd_mod_generator/conf/lighttpd_3.conf
----------------------------------------------------------------------
diff --git a/tools/lighttpd_mod_generator/conf/lighttpd_3.conf b/tools/lighttpd_mod_generator/conf/lighttpd_3.conf
new file mode 100644
index 0000000..0901ed8
--- /dev/null
+++ b/tools/lighttpd_mod_generator/conf/lighttpd_3.conf
@@ -0,0 +1,16 @@
+server.document-root = "/usr/local/share/lighttpd"
+server.modules += ( "mod_redirect", "mod_accesslog", "mod_generator")
+
+url.redirect = (
+  "^/bcall"   => "http://test.example.com/1k.html"
+)
+
+mimetype.assign = (
+  ".html" => "text/html", 
+  ".txt" => "text/plain",
+  ".jpg" => "image/jpeg",
+  ".png" => "image/png"
+)
+index-file.names = ( "index.html" )
+
+server.port = 8103

http://git-wip-us.apache.org/repos/asf/trafficserver/blob/218cccb1/tools/lighttpd_mod_generator/conf/lighttpd_4.conf
----------------------------------------------------------------------
diff --git a/tools/lighttpd_mod_generator/conf/lighttpd_4.conf b/tools/lighttpd_mod_generator/conf/lighttpd_4.conf
new file mode 100644
index 0000000..69c58dc
--- /dev/null
+++ b/tools/lighttpd_mod_generator/conf/lighttpd_4.conf
@@ -0,0 +1,16 @@
+server.document-root = "/usr/local/share/lighttpd"
+server.modules += ( "mod_redirect", "mod_accesslog", "mod_generator")
+
+url.redirect = (
+  "^/bcall"   => "http://test.example.com/1k.html"
+)
+
+mimetype.assign = (
+  ".html" => "text/html", 
+  ".txt" => "text/plain",
+  ".jpg" => "image/jpeg",
+  ".png" => "image/png"
+)
+index-file.names = ( "index.html" )
+
+server.port = 8104

http://git-wip-us.apache.org/repos/asf/trafficserver/blob/218cccb1/tools/lighttpd_mod_generator/conf/lighttpd_5.conf
----------------------------------------------------------------------
diff --git a/tools/lighttpd_mod_generator/conf/lighttpd_5.conf b/tools/lighttpd_mod_generator/conf/lighttpd_5.conf
new file mode 100644
index 0000000..6b85bf4
--- /dev/null
+++ b/tools/lighttpd_mod_generator/conf/lighttpd_5.conf
@@ -0,0 +1,16 @@
+server.document-root = "/usr/local/share/lighttpd"
+server.modules += ( "mod_redirect", "mod_accesslog", "mod_generator")
+
+url.redirect = (
+  "^/bcall"   => "http://test.example.com/1k.html"
+)
+
+mimetype.assign = (
+  ".html" => "text/html", 
+  ".txt" => "text/plain",
+  ".jpg" => "image/jpeg",
+  ".png" => "image/png"
+)
+index-file.names = ( "index.html" )
+
+server.port = 8105

http://git-wip-us.apache.org/repos/asf/trafficserver/blob/218cccb1/tools/lighttpd_mod_generator/conf/lighttpd_6.conf
----------------------------------------------------------------------
diff --git a/tools/lighttpd_mod_generator/conf/lighttpd_6.conf b/tools/lighttpd_mod_generator/conf/lighttpd_6.conf
new file mode 100644
index 0000000..f8beb38
--- /dev/null
+++ b/tools/lighttpd_mod_generator/conf/lighttpd_6.conf
@@ -0,0 +1,16 @@
+server.document-root = "/usr/local/share/lighttpd"
+server.modules += ( "mod_redirect", "mod_accesslog", "mod_generator")
+
+url.redirect = (
+  "^/bcall"   => "http://test.example.com/1k.html"
+)
+
+mimetype.assign = (
+  ".html" => "text/html", 
+  ".txt" => "text/plain",
+  ".jpg" => "image/jpeg",
+  ".png" => "image/png"
+)
+index-file.names = ( "index.html" )
+
+server.port = 8106

http://git-wip-us.apache.org/repos/asf/trafficserver/blob/218cccb1/tools/lighttpd_mod_generator/conf/lighttpd_7.conf
----------------------------------------------------------------------
diff --git a/tools/lighttpd_mod_generator/conf/lighttpd_7.conf b/tools/lighttpd_mod_generator/conf/lighttpd_7.conf
new file mode 100644
index 0000000..5b00234
--- /dev/null
+++ b/tools/lighttpd_mod_generator/conf/lighttpd_7.conf
@@ -0,0 +1,16 @@
+server.document-root = "/usr/local/share/lighttpd"
+server.modules += ( "mod_redirect", "mod_accesslog", "mod_generator")
+
+url.redirect = (
+  "^/bcall"   => "http://test.example.com/1k.html"
+)
+
+mimetype.assign = (
+  ".html" => "text/html", 
+  ".txt" => "text/plain",
+  ".jpg" => "image/jpeg",
+  ".png" => "image/png"
+)
+index-file.names = ( "index.html" )
+
+server.port = 8107

http://git-wip-us.apache.org/repos/asf/trafficserver/blob/218cccb1/tools/lighttpd_mod_generator/conf/lighttpd_8.conf
----------------------------------------------------------------------
diff --git a/tools/lighttpd_mod_generator/conf/lighttpd_8.conf b/tools/lighttpd_mod_generator/conf/lighttpd_8.conf
new file mode 100644
index 0000000..7631223
--- /dev/null
+++ b/tools/lighttpd_mod_generator/conf/lighttpd_8.conf
@@ -0,0 +1,16 @@
+server.document-root = "/usr/local/share/lighttpd"
+server.modules += ( "mod_redirect", "mod_accesslog", "mod_generator")
+
+url.redirect = (
+  "^/bcall"   => "http://test.example.com/1k.html"
+)
+
+mimetype.assign = (
+  ".html" => "text/html", 
+  ".txt" => "text/plain",
+  ".jpg" => "image/jpeg",
+  ".png" => "image/png"
+)
+index-file.names = ( "index.html" )
+
+server.port = 8108

http://git-wip-us.apache.org/repos/asf/trafficserver/blob/218cccb1/tools/lighttpd_mod_generator/conf/lighttpd_9.conf
----------------------------------------------------------------------
diff --git a/tools/lighttpd_mod_generator/conf/lighttpd_9.conf b/tools/lighttpd_mod_generator/conf/lighttpd_9.conf
new file mode 100644
index 0000000..373117d
--- /dev/null
+++ b/tools/lighttpd_mod_generator/conf/lighttpd_9.conf
@@ -0,0 +1,16 @@
+server.document-root = "/usr/local/share/lighttpd"
+server.modules += ( "mod_redirect", "mod_accesslog", "mod_generator")
+
+url.redirect = (
+  "^/bcall"   => "http://test.example.com/1k.html"
+)
+
+mimetype.assign = (
+  ".html" => "text/html", 
+  ".txt" => "text/plain",
+  ".jpg" => "image/jpeg",
+  ".png" => "image/png"
+)
+index-file.names = ( "index.html" )
+
+server.port = 8109

http://git-wip-us.apache.org/repos/asf/trafficserver/blob/218cccb1/tools/lighttpd_mod_generator/mod_generator.c
----------------------------------------------------------------------
diff --git a/tools/lighttpd_mod_generator/mod_generator.c b/tools/lighttpd_mod_generator/mod_generator.c
new file mode 100644
index 0000000..e8e3410
--- /dev/null
+++ b/tools/lighttpd_mod_generator/mod_generator.c
@@ -0,0 +1,337 @@
+/** @file
+
+    Main file for the tstop application.
+
+    @section license License
+
+    Licensed to the Apache Software Foundation (ASF) under one
+    or more contributor license agreements.  See the NOTICE file
+    distributed with this work for additional information
+    regarding copyright ownership.  The ASF licenses this file
+    to you under the Apache License, Version 2.0 (the
+    "License"); you may not use this file except in compliance
+    with the License.  You may obtain a copy of the License at
+
+    http://www.apache.org/licenses/LICENSE-2.0
+
+    Unless required by applicable law or agreed to in writing, software
+    distributed under the License is distributed on an "AS IS" BASIS,
+    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+    See the License for the specific language governing permissions and
+    limitations under the License.
+*/
+
+#include <ctype.h>
+#include <stdlib.h>
+#include <string.h>
+
+#include "base.h"
+#include "log.h"
+#include "buffer.h"
+
+#include "plugin.h"
+
+#include "response.h"
+
+#ifdef HAVE_CONFIG_H
+#include "config.h"
+#endif
+
+#include <stdio.h>
+
+/**
+ * this is a generator for a lighttpd plugin
+ *
+ * just replaces every occurance of 'generator' by your plugin name
+ *
+ * e.g. in vim:
+ *
+ *   :%s/generator/myhandler/
+ *
+ */
+
+static char static_data[8192];
+
+/* plugin config for all request/connections */
+
+typedef struct {
+	array *match;
+} plugin_config;
+
+typedef struct {
+  PLUGIN_DATA;
+
+  buffer *match_buf;
+  
+  plugin_config **config_storage;
+  
+  plugin_config conf;
+
+} plugin_data;
+
+typedef struct {
+	size_t foo;
+} handler_ctx;
+
+// static handler_ctx * handler_ctx_init() {
+// 	handler_ctx * hctx;
+
+// 	hctx = calloc(1, sizeof(*hctx));
+
+// 	return hctx;
+// }
+
+// static void handler_ctx_free(handler_ctx *hctx) {
+
+// 	free(hctx);
+// }
+
+/* init the plugin data */
+INIT_FUNC(mod_generator_init) {
+	plugin_data *p;
+
+	p = calloc(1, sizeof(*p));
+
+	p->match_buf = buffer_init();
+
+	return p;
+}
+
+/* detroy the plugin data */
+FREE_FUNC(mod_generator_free) {
+	plugin_data *p = p_d;
+
+	UNUSED(srv);
+
+	if (!p) return HANDLER_GO_ON;
+
+	if (p->config_storage) {
+		size_t i;
+
+		for (i = 0; i < srv->config_context->used; i++) {
+			plugin_config *s = p->config_storage[i];
+
+			if (!s) continue;
+
+			array_free(s->match);
+
+			free(s);
+		}
+		free(p->config_storage);
+	}
+
+	buffer_free(p->match_buf);
+
+	free(p);
+
+	return HANDLER_GO_ON;
+}
+
+/* handle plugin config and check values */
+
+SETDEFAULTS_FUNC(mod_generator_set_defaults) {
+	plugin_data *p = p_d;
+	size_t i = 0;
+
+	config_values_t cv[] = {
+		{ "generator.array",             NULL, T_CONFIG_ARRAY, T_CONFIG_SCOPE_CONNECTION },   
   /* 0 */
+		{ NULL,                         NULL, T_CONFIG_UNSET, T_CONFIG_SCOPE_UNSET }
+	};
+
+	if (!p) return HANDLER_ERROR;
+
+	p->config_storage = calloc(1, srv->config_context->used * sizeof(specific_config
*));
+
+	for (i = 0; i < srv->config_context->used; i++) {
+		plugin_config *s;
+
+		s = calloc(1, sizeof(plugin_config));
+		s->match    = array_init();
+
+		cv[0].destination = s->match;
+
+		p->config_storage[i] = s;
+
+		if (0 != config_insert_values_global(srv, ((data_config *)srv->config_context->data[i])->value,
cv)) {
+			return HANDLER_ERROR;
+		}
+	}
+
+	return HANDLER_GO_ON;
+}
+
+#define PATCH(x) \
+	p->conf.x = s->x;
+static int mod_generator_patch_connection(server *srv, connection *con, plugin_data *p) {
+	size_t i, j;
+	plugin_config *s = p->config_storage[0];
+
+	PATCH(match);
+
+	/* skip the first, the global context */
+	for (i = 1; i < srv->config_context->used; i++) {
+		data_config *dc = (data_config *)srv->config_context->data[i];
+		s = p->config_storage[i];
+
+		/* condition didn't match */
+		if (!config_check_cond(srv, con, dc)) continue;
+
+		/* merge config */
+		for (j = 0; j < dc->value->used; j++) {
+			data_unset *du = dc->value->data[j];
+
+			if (buffer_is_equal_string(du->key, CONST_STR_LEN("generator.array"))) {
+				PATCH(match);
+			}
+		}
+	}
+
+	return 0;
+}
+#undef PATCH
+
+URIHANDLER_FUNC(mod_generator_uri_handler) {
+	plugin_data *p = p_d;
+	int s_len;
+	size_t k;
+
+	UNUSED(srv);
+
+	if (con->mode != DIRECT) return HANDLER_GO_ON;
+
+	if (con->uri.path->used == 0) return HANDLER_GO_ON;
+
+	mod_generator_patch_connection(srv, con, p);
+
+	s_len = con->uri.path->used - 1;
+
+	for (k = 0; k < p->conf.match->used; k++) {
+		data_string *ds = (data_string *)p->conf.match->data[k];
+		int ct_len = ds->value->used - 1;
+
+		if (ct_len > s_len) continue;
+		if (ds->value->used == 0) continue;
+
+		if (0 == strncmp(con->uri.path->ptr + s_len - ct_len, ds->value->ptr, ct_len))
{
+			con->http_status = 403;
+
+			return HANDLER_FINISHED;
+		}
+	}
+
+	/* not found */
+	return HANDLER_GO_ON;
+}
+
+
+URIHANDLER_FUNC(mod_generator_subrequest_handler) {
+  (void) p_d;
+  //plugin_data *p = p_d;
+  buffer *b;
+  b = chunkqueue_get_append_buffer(con->write_queue);
+  
+
+  // get the url information
+  //int length = strlen(con->uri.path->ptr);
+  char *start = con->uri.path->ptr;
+  char *end;
+  //  char *end = start + length;
+  if (*start != '/') {
+    log_error_write(srv, __FILE__, __LINE__,  "s", "url doesn't start with a slash");
+    return HANDLER_GO_ON;
+  }
+  ++start;
+
+  // get the size in bytes form the url
+  int64_t bytes = strtoll(start, &end, 10);
+
+  if (start == end && bytes <= 0 && *start != '-') {
+    log_error_write(srv, __FILE__, __LINE__,  "s", "can't find size in bytes");
+    return HANDLER_GO_ON;
+  }
+  start = end + 1;
+
+  // get the id from the url
+  int64_t id = strtoll(start, &end, 10);
+
+  if (start == end && id < 0 && *start != '-') {
+    log_error_write(srv, __FILE__, __LINE__,  "s", "problems finding the id");
+    return HANDLER_GO_ON;
+  }
+  start = end + 1;
+
+  // get the id from the url
+  int64_t sleepval = strtoll(start, &end, 10);
+
+  if (start == end && id < 0 && *start != '-') {
+    log_error_write(srv, __FILE__, __LINE__,  "s", "problems finding the id");
+    return HANDLER_GO_ON;
+  }
+  start = end + 1;
+  if (sleepval > 0) {
+    usleep(1000 * sleepval);
+  }
+
+  // check to see if we are going to set cacheable headers
+  int cache = -1;
+  if (strcmp(start, "cache") == 0) {
+    cache = 1;
+  } else if (strcmp(start, "no_cache") == 0) {
+    cache = 0;
+  } else {
+    log_error_write(srv, __FILE__, __LINE__,  "s", "didn't see cache or no_cache in the url");
+    return HANDLER_GO_ON;
+  }
+  
+  // print the body of the message
+  uint64_t to_write = 0;
+  --bytes;              // leave a char left over for \n
+  while (bytes > 0) {
+    if ((uint64_t)bytes > sizeof(static_data)) {
+      // biger then the static buffer, so write the entire buffer
+      to_write = sizeof(static_data);
+    } else {
+      to_write = bytes;
+    }
+
+    buffer_append_string_len(b, static_data, to_write);
+    bytes -= to_write;
+  }
+  
+  if (bytes == 0) {
+    buffer_append_string_len(b, "\n", 1); // add a \n to the end of the body
+  }
+
+  // write the headers if it is cacheable or not
+  if (cache == 0) {
+    response_header_insert(srv, con, CONST_STR_LEN("Cache-Control"), CONST_STR_LEN("private"));
+  } else {
+    response_header_insert(srv, con, CONST_STR_LEN("Last-Modified"), CONST_STR_LEN("Thu,
12 Feb 2009 23:00:00 GMT"));
+    response_header_insert(srv, con, CONST_STR_LEN("Cache-Control"), CONST_STR_LEN("max-age=86400,
public"));
+  }
+  
+  con->http_status = 200;
+  con->file_finished = 1;
+  return HANDLER_FINISHED;
+}
+
+/* this function is called at dlopen() time and inits the callbacks */
+
+int mod_generator_plugin_init(plugin *p) {
+      
+  p->version     = LIGHTTPD_VERSION_ID;
+  p->name        = buffer_init_string("generator");
+
+  p->init        = mod_generator_init;
+  p->handle_uri_clean  = mod_generator_uri_handler;
+  p->handle_physical  = mod_generator_subrequest_handler;
+  p->set_defaults  = mod_generator_set_defaults;
+  p->cleanup     = mod_generator_free;
+
+  p->data        = NULL;
+
+  // set the static data used in the response;
+  memset(static_data, 'x', sizeof(static_data));
+
+  return 0;
+}


Mime
View raw message