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