You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: README.markdown
+45-10
Original file line number
Diff line number
Diff line change
@@ -42,8 +42,6 @@ Table of Contents
42
42
*[Mixing with SSI Not Supported](#mixing-with-ssi-not-supported)
43
43
*[SPDY Mode Not Fully Supported](#spdy-mode-not-fully-supported)
44
44
*[TODO](#todo)
45
-
*[Short Term](#short-term)
46
-
*[Longer Term](#longer-term)
47
45
*[Changes](#changes)
48
46
*[Test Suite](#test-suite)
49
47
*[Copyright and License](#copyright-and-license)
@@ -856,21 +854,58 @@ Certain Lua APIs provided by ngx_lua do not work in Nginx's SPDY mode yet: [ngx.
856
854
TODO
857
855
====
858
856
859
-
[Back to TOC](#table-of-contents)
857
+
* add `*_by_lua_block` directives for existing `*_by_lua` directives so that we put literal Lua code directly in curly braces instead of an nginx literal string. For example,
* add support for implementing general TCP servers instead of HTTP servers in Lua. For example,
874
+
```lua
875
+
876
+
tcp {
877
+
server {
878
+
listen11212;
879
+
handler_by_lua'
880
+
-- custom Lua code implementing the special TCP server...
881
+
';
882
+
}
883
+
}
884
+
```
885
+
* add support for implementing general UDP servers instead of HTTP servers in Lua. For example,
886
+
```lua
887
+
888
+
udp {
889
+
server {
890
+
listen1953;
891
+
handler_by_lua'
892
+
-- custom Lua code implementing the special UDP server...
893
+
';
894
+
}
895
+
}
896
+
```
897
+
* ssl: implement directives `ssl_certificate_by_lua` and `ssl_certificate_by_lua` to allow using Lua to dynamically serve SSL certificates and keys for downstream SSL handshake.
898
+
* shm: implement a "shared queue API" to complement the existing [shared dict](#lua_shared_dict) API.
899
+
* cosocket: add support in the context of [init_by_lua*](#init_by_lua).
900
+
* cosocket: implement the `bind()` method for stream-typed cosockets.
901
+
* cosocket: pool-based backend concurrency level control: implement automatic `connect` queueing when the backend concurrency exceeds its connection pool limit.
902
+
*[ngx.re](#ngxrematch) API: use `false` instead of `nil` in the resulting match table to indicate non-existent submatch captures, such that we can avoid "holes" in the array table.
863
903
* review and apply Jader H. Silva's patch for `ngx.re.split()`.
864
904
* review and apply vadim-pavlov's patch for [ngx.location.capture](#ngxlocationcapture)'s `extra_headers` option
865
905
* use `ngx_hash_t` to optimize the built-in header look-up process for [ngx.req.set_header](#ngxreqset_header), [ngx.header.HEADER](#ngxheaderheader), and etc.
866
906
* add configure options for different strategies of handling the cosocket connection exceeding in the pools.
867
907
* add directives to run Lua codes when nginx stops.
868
908
* add `ignore_resp_headers`, `ignore_resp_body`, and `ignore_resp` options to [ngx.location.capture](#ngxlocationcapture) and [ngx.location.capture_multi](#ngxlocationcapture_multi) methods, to allow micro performance tuning on the user side.
869
-
870
-
[Back to TOC](#table-of-contents)
871
-
872
-
Longer Term
873
-
-----------
874
909
* add automatic Lua code time slicing support by yielding and resuming the Lua VM actively via Lua's debug hooks.
875
910
* add `stat` mode similar to [mod_lua](https://httpd.apache.org/docs/trunk/mod/mod_lua.html).
Copy file name to clipboardExpand all lines: doc/HttpLuaModule.wiki
+42-3
Original file line number
Diff line number
Diff line change
@@ -700,15 +700,54 @@ Certain Lua APIs provided by ngx_lua do not work in Nginx's SPDY mode yet: [[#ng
700
700
701
701
= TODO =
702
702
703
-
== Short Term ==
703
+
* add <code>*_by_lua_block</code> directives for existing <code>*_by_lua</code> directives so that we put literal Lua code directly in curly braces instead of an nginx literal string. For example,
* add support for implementing general TCP servers instead of HTTP servers in Lua. For example,
718
+
<geshi lang="lua">
719
+
tcp {
720
+
server {
721
+
listen 11212;
722
+
handler_by_lua '
723
+
-- custom Lua code implementing the special TCP server...
724
+
';
725
+
}
726
+
}
727
+
</geshi>
728
+
* add support for implementing general UDP servers instead of HTTP servers in Lua. For example,
729
+
<geshi lang="lua">
730
+
udp {
731
+
server {
732
+
listen 1953;
733
+
handler_by_lua '
734
+
-- custom Lua code implementing the special UDP server...
735
+
';
736
+
}
737
+
}
738
+
</geshi>
739
+
* ssl: implement directives <code>ssl_certificate_by_lua</code> and <code>ssl_certificate_by_lua</code> to allow using Lua to dynamically serve SSL certificates and keys for downstream SSL handshake.
740
+
* shm: implement a "shared queue API" to complement the existing [[#lua_shared_dict|shared dict]] API.
741
+
* cosocket: add support in the context of [[#init_by_lua|init_by_lua*]].
742
+
* cosocket: implement the <code>bind()</code> method for stream-typed cosockets.
743
+
* cosocket: pool-based backend concurrency level control: implement automatic <code>connect</code> queueing when the backend concurrency exceeds its connection pool limit.
744
+
* [[#ngx.re.match|ngx.re]] API: use <code>false</code> instead of <code>nil</code> in the resulting match table to indicate non-existent submatch captures, such that we can avoid "holes" in the array table.
704
745
* review and apply Jader H. Silva's patch for <code>ngx.re.split()</code>.
705
746
* review and apply vadim-pavlov's patch for [[#ngx.location.capture|ngx.location.capture]]'s <code>extra_headers</code> option
706
747
* use <code>ngx_hash_t</code> to optimize the built-in header look-up process for [[#ngx.req.set_header|ngx.req.set_header]], [[#ngx.header.HEADER|ngx.header.HEADER]], and etc.
707
748
* add configure options for different strategies of handling the cosocket connection exceeding in the pools.
708
749
* add directives to run Lua codes when nginx stops.
709
750
* add <code>ignore_resp_headers</code>, <code>ignore_resp_body</code>, and <code>ignore_resp</code> options to [[#ngx.location.capture|ngx.location.capture]] and [[#ngx.location.capture_multi|ngx.location.capture_multi]] methods, to allow micro performance tuning on the user side.
710
-
711
-
== Longer Term ==
712
751
* add automatic Lua code time slicing support by yielding and resuming the Lua VM actively via Lua's debug hooks.
713
752
* add <code>stat</code> mode similar to [https://httpd.apache.org/docs/trunk/mod/mod_lua.html mod_lua].
0 commit comments