summaryrefslogtreecommitdiffstats
path: root/modules/lua/test/htdocs/test.lua
diff options
context:
space:
mode:
authorDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-07 15:01:30 +0000
committerDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-07 15:01:30 +0000
commit6beeb1b708550be0d4a53b272283e17e5e35fe17 (patch)
tree1ce8673d4aaa948e5554000101f46536a1e4cc29 /modules/lua/test/htdocs/test.lua
parentInitial commit. (diff)
downloadapache2-upstream.tar.xz
apache2-upstream.zip
Adding upstream version 2.4.57.upstream/2.4.57upstream
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'modules/lua/test/htdocs/test.lua')
-rw-r--r--modules/lua/test/htdocs/test.lua129
1 files changed, 129 insertions, 0 deletions
diff --git a/modules/lua/test/htdocs/test.lua b/modules/lua/test/htdocs/test.lua
new file mode 100644
index 0000000..c0b96ab
--- /dev/null
+++ b/modules/lua/test/htdocs/test.lua
@@ -0,0 +1,129 @@
+-- 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.
+
+require 'string'
+
+function print_args(r, simple, complex)
+ local s = " %s: %s\n"
+ r:puts(" simple:\n")
+ for k, v in pairs(simple) do
+ r:puts(s:format(k, v))
+ end
+
+ s = " %s: "
+ r:puts(" complex:\n")
+ for k, ary in pairs(complex) do
+ r:puts(s:format(k))
+ for i=1, #ary do
+ r:puts(ary[i])
+ if i < #ary then r:puts(", ") end
+ end
+ r:puts("\n")
+ end
+end
+
+function debug_stuff(r)
+ r:debug("This is a debug log message")
+ -- r:info("This is an info log message")
+ -- r:notice("This is an notice log message")
+ -- r:warn("This is an warn log message")
+ -- r:err("This is an err log message")
+ -- r:alert("This is an alert log message")
+ -- r:crit("This is an crit log message")
+ -- r:emerg("This is an emerg log message")
+end
+
+function handle(r)
+ r:puts("hello Lua world\n")
+ r:puts("Query args:\n")
+
+ print_args(r, r:parseargs());
+
+ debug_stuff(r)
+
+ r:puts("HTTP Method:\n " .. r.method .. "\n")
+
+ if r.method == 'POST' then
+ print_args(r, r:parsebody())
+ end
+
+ require("other")
+ r:puts("loaded relative to script:\n ")
+ other.doit(r)
+
+ r:puts("loaded from LuaPackagePath:\n")
+ require("kangaroo");
+ kangaroo.hop(r);
+end
+
+function handle_foo(r)
+ r:puts("Handler FOO!\n")
+ r.status = 201
+ r:debug("set status to 201")
+end
+
+
+function handle_attributes(r)
+ local function pf(name)
+ r:puts(("%s: %s\n"):format(name, tostring(r[name])))
+ end
+
+ pf("status")
+ r.status = 201
+ pf("status")
+ r:puts("\n")
+
+ pf("content_type")
+ r.content_type = "text/plain?charset=ascii"
+ pf("content_type")
+ r:puts("\n")
+
+ pf("method")
+ pf("protocol")
+ pf("assbackwards")
+ pf("the_request")
+ pf("range")
+ pf("content_encoding")
+ pf("user")
+ pf("unparsed_uri")
+ pf("ap_auth_type")
+ pf("uri")
+ pf("filename")
+ pf("canonical_filename")
+ pf("path_info")
+ pf("args")
+
+ r:puts("\n")
+end
+
+function test_headers(r)
+ r:puts("test getting and setting headers here\n")
+end
+
+function handle_quietly(r)
+ r:puts("hello!")
+end
+
+function handle_regex(r)
+ r:puts("matched in handle_regex")
+end
+
+function handle_serverversion(r)
+ r:puts(apache2.version)
+end
+
+function handle_fixupstest(r)
+ r:puts("status is " .. r.status)
+end \ No newline at end of file