diff options
Diffstat (limited to '')
-rw-r--r-- | modules/lua/test/htdocs/config_tests.lua | 37 | ||||
-rw-r--r-- | modules/lua/test/htdocs/filters.lua | 7 | ||||
-rw-r--r-- | modules/lua/test/htdocs/find_me.txt | 1 | ||||
-rw-r--r-- | modules/lua/test/htdocs/headers.lua | 6 | ||||
-rw-r--r-- | modules/lua/test/htdocs/hooks.lua | 29 | ||||
-rw-r--r-- | modules/lua/test/htdocs/other.lua | 21 | ||||
-rw-r--r-- | modules/lua/test/htdocs/simple.lua | 4 | ||||
-rw-r--r-- | modules/lua/test/htdocs/test.lua | 129 |
8 files changed, 234 insertions, 0 deletions
diff --git a/modules/lua/test/htdocs/config_tests.lua b/modules/lua/test/htdocs/config_tests.lua new file mode 100644 index 0000000..698bedf --- /dev/null +++ b/modules/lua/test/htdocs/config_tests.lua @@ -0,0 +1,37 @@ +-- 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' + +local count = 0 + +function handle(r) + r:puts("success in handle " .. count) +end + +function handle_server_vm(r) + r:puts("hello from server scope " .. count) + count = count + 1 +end + +function handle_request_vm(r) + r:puts("hello from request scope " .. count) + count = count + 1 +end + +function handle_conn_vm(r) + r:puts("hello from request scope " .. count) + count = count + 1 +end
\ No newline at end of file diff --git a/modules/lua/test/htdocs/filters.lua b/modules/lua/test/htdocs/filters.lua new file mode 100644 index 0000000..cad0ca8 --- /dev/null +++ b/modules/lua/test/htdocs/filters.lua @@ -0,0 +1,7 @@ + +local s = require 'string' + +function handle_simple(r) + -- r:addoutputfilter("wombathood") + r:puts("added wombathood") +end
\ No newline at end of file diff --git a/modules/lua/test/htdocs/find_me.txt b/modules/lua/test/htdocs/find_me.txt new file mode 100644 index 0000000..cb96e9e --- /dev/null +++ b/modules/lua/test/htdocs/find_me.txt @@ -0,0 +1 @@ +please find me
\ No newline at end of file diff --git a/modules/lua/test/htdocs/headers.lua b/modules/lua/test/htdocs/headers.lua new file mode 100644 index 0000000..35938ea --- /dev/null +++ b/modules/lua/test/htdocs/headers.lua @@ -0,0 +1,6 @@ +function handle(r) + local host = r.headers_in['host'] + r:debug(host) + r:puts(host) + r.headers_out['wombat'] = 'lua' +end diff --git a/modules/lua/test/htdocs/hooks.lua b/modules/lua/test/htdocs/hooks.lua new file mode 100644 index 0000000..b8a8248 --- /dev/null +++ b/modules/lua/test/htdocs/hooks.lua @@ -0,0 +1,29 @@ +require 'string' +require 'apache2' + +function translate_name(r) + if r.uri == "/translate-name" then + r.uri = "/find_me.txt" + return apache2.DECLINED + end + return apache2.DECLINED +end + +function translate_name2(r) + if r.uri == "/translate-name2" then + r.uri = "/find_me.txt" + return apache2.DECLINED + end + return apache2.DECLINED +end + +function fixups_test(r) + -- r:err("KABAZ") + if r.uri == "/test_fixupstest" then + -- r:err("KABIZ") + r.status = 201 + return apache2.OK + end + -- r:err("ZIBAK") + return apache2.DECLINED +end
\ No newline at end of file diff --git a/modules/lua/test/htdocs/other.lua b/modules/lua/test/htdocs/other.lua new file mode 100644 index 0000000..90c6ed2 --- /dev/null +++ b/modules/lua/test/htdocs/other.lua @@ -0,0 +1,21 @@ +-- 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. + +module("other") + +function doit(r) + r:debug("doing it...") + r:puts("Do It!\n") +end diff --git a/modules/lua/test/htdocs/simple.lua b/modules/lua/test/htdocs/simple.lua new file mode 100644 index 0000000..a3f8861 --- /dev/null +++ b/modules/lua/test/htdocs/simple.lua @@ -0,0 +1,4 @@ +function handle(r) + r.content_type = "text/plain" + r:puts("Hi there!") +end 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 |