feature: added new Lua API, ngx.timer.at(time, callback), for defining timers that can run the user callback as a Lua "light thread" (detached from the current request) after the time (in seconds) specified. also added new configure directives lua_max_pending_timers and lua_max_running_timers for limiting the number of pending timers and "running" timers.
Merge remote-tracking branch 'origin/master' into timer
Merge remote-tracking branch 'origin/master' into timer
merged "master" branch to "timer".
Merge branch 'master' into timer
Merge branch 'master' into timer
feature: when the nginx worker process is quitting (as in server shutdown or HUP reload), all the pending ngx.timer timers expire immediately and their Lua callbacks get called with a true value as the first argument (to indicate whether it is a premature expiration or not).
added a passing test for calling ngx.timer.at() after HUP reload.
bugfix: ngx.req.raw_header() would return an empty string value when the default header buffer (c->buffer) can hold the request line but not the whole header. thanks KDr2 for reporting this issue in #229.
feature: added support for user arguments to the user callback function specified in ngx.timer.add(); the user callback function has the prototype "function(premature, user_arg1, user_arg2, ...)".
merged "master" into "timer".
bumped version to 0.7.21.
Merge branch 'timer'
bugfix: setting ngx.header.etag could not affect other things reading the ETag response header (like the "etag" directive introduced in nginx 1.3.3+). thanks Brian Akins for the patch in #213.
refactor: replaced "ngx_lua_" with "ngx_http_lua_" in the identifiers used in ngx_http_lua_regex.c.
added a (passing) test for using ndk.set_var.* in the context of ngx.timer callbacks.
feature: ngx.get_phase() now returns the string "timer" when being invoked within a user callback function for ngx.timer.*.
documented ngx.timer.at, lua_max_pending_timers, lua_max_running_timers, and other recent changes.
bumped version to 0.8.0.
bugfix: modifying the User-Agent request header via ngx.req.set_header or ngx.req.clear_header did not update those special internal flags in the Nginx core, like "r->headers_in.msie6" and "r->headers_in.opera". Thanks Matthieu Tourne for the patch.