README
1-*- mode:org -*-
2* Requirements:
3** lua 5.1 ( http://www.lua.org/ )
4** Apache HTTPD 2.2 ( http://httpd.apache.org/ ) or Apache HTTPD 2.3
5
6* Documentation
7 See docs/README
8
9* Building
10 For now, see docs/building-from-subversion.txt
11
12* To Consider
13 Allow definition of lua_State instances associated with arbitrary
14 pool using the pool's user_data constuct. There would, here, be two
15 types, pooled and singleton. On the other hand, singleton would work
16 fine for almost all cases -- the exception being a process or server
17 pool, and then we could stay singleton anyway and lock around it.
18
19 The current "server scope" behavior could, instead, fall into
20 connection scope, for long-lived connections, really we want thread
21 scope (which Brian Akins knows how to do). Is there a pool
22 associated with a thread? Contention on the pool is a pain in a
23 highly concurrent environment.
24
25 Could use apr_thread_data_(get|set) if I can find a way to hook into
26 thread destruction. Looks like apr threads let you use the standard
27 APR_POOL_DECLARE_ACCESSOR(thread); defined method, just need to look
28 up what form that takes. -- apr_thread_pool_get -- just attach to
29 that pool.
30
31 Given that, we can associate a hash of lua_State instances with
32 arbitrary pools, such as the request pool, thread pool, server pool,
33 etc. We then use the file as key into the hash. Users, able to
34 specify the handler function, can then make use of the same file
35 with different handlers to reuse states.
36
37
38
39* Task List
40** TODO Use r->file to determine file, doing rewriting in translate_name
41** TODO Provide means to get useful output from lua errors in response body
42 Probably have to put it on the vm spec for pre-handler errors, as
43 it is pre-handler, will prolly be on the request_config somewhere,
44 but sometimes cannot put there, so... fun
45** TODO Mapping in the server_rec
46** TODO Connection scoped vms
47** TODO Figure out how reentrancy works regarding filter chain stuff.
48 Do we need new "threads"?
49** TODO Flesh out apw_*getvm for each flavor we allow
50** TODO Rework apw_sgetvm to use the create_vm stuff like apw_rgetvm
51** TODO apw_rgetvm needs to handle connection scoped vms
52** TODO provide means to implement authn and authz providers
53** TODO: Flatten LuaHook* to LuaHook phase file fn ?
54** TODO: document or remove block sections
55** TODO: test per-dir behavior of block sections
56** TODO: Suppress internal details (fs path to scripts, etc) in error responses
57
58* License
59 Apache License, Version 2.0,
60
61 http://www.apache.org/licenses/LICENSE-2.0
62
63 See NOTICE file for more information
64
65* Problems and Patches:
66 Please use dev@httpd.apache.org for discussing mod_lua development
67 To subscribe send email to dev-subscribe@httpd.apache.org
68 Note that this is for development discussion, not user support :-)
69
70* Contributors Include
71** Brian McCallister
72** Paul Querna
73** Garrett Rooney
74** Martin Traverso
75** Brian Akins
76** Justin Erenkrantz
77** Philip M. Gollucci
78** Stefan Fritsch
79** Eric Covener
80** Daniel Gruno
81