diff src/http/ngx_http_write_filter_module.c @ 7504:c19ca381b2e6

Variables support in limit_rate and limit_rate_after (ticket #293).
author Ruslan Ermilov <ru@nginx.com>
date Wed, 24 Apr 2019 16:38:54 +0300
parents a7ff19afbb14
children 61e9c078ee3d 94daa42ff5ce
line wrap: on
line diff
--- a/src/http/ngx_http_write_filter_module.c
+++ b/src/http/ngx_http_write_filter_module.c
@@ -250,9 +250,17 @@ ngx_http_write_filter(ngx_http_request_t
         return NGX_ERROR;
     }
 
+    if (!r->limit_rate_set) {
+        r->limit_rate = ngx_http_complex_value_size(r, clcf->limit_rate, 0);
+        r->limit_rate_set = 1;
+    }
+
     if (r->limit_rate) {
-        if (r->limit_rate_after == 0) {
-            r->limit_rate_after = clcf->limit_rate_after;
+
+        if (!r->limit_rate_after_set) {
+            r->limit_rate_after = ngx_http_complex_value_size(r,
+                                                    clcf->limit_rate_after, 0);
+            r->limit_rate_after_set = 1;
         }
 
         limit = (off_t) r->limit_rate * (ngx_time() - r->start_sec + 1)