| -- 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 |