|
|
@@ -559,12 +559,12 @@ ngx_http_reportuploads_handler(ngx_http_request_t * r)
|
|
559
|
559
|
ngx_chain_t out;
|
|
560
|
560
|
ngx_int_t rc, found=0, done=0, err_status=0;
|
|
561
|
561
|
off_t rest=0, length=0;
|
|
562
|
|
- ngx_uint_t len, i;
|
|
|
562
|
+ ngx_uint_t len;
|
|
563
|
563
|
ngx_slab_pool_t *shpool;
|
|
564
|
564
|
ngx_http_uploadprogress_conf_t *upcf;
|
|
565
|
565
|
ngx_http_uploadprogress_ctx_t *ctx;
|
|
566
|
566
|
ngx_http_uploadprogress_node_t *up;
|
|
567
|
|
- ngx_table_elt_t *expires, *cc, **ccp;
|
|
|
567
|
+ ngx_table_elt_t *expires, *cc;
|
|
568
|
568
|
ngx_http_uploadprogress_state_t state;
|
|
569
|
569
|
ngx_http_uploadprogress_template_t *t;
|
|
570
|
570
|
|
|
|
@@ -637,6 +637,7 @@ ngx_http_reportuploads_handler(ngx_http_request_t * r)
|
|
637
|
637
|
}
|
|
638
|
638
|
|
|
639
|
639
|
r->headers_out.expires = expires;
|
|
|
640
|
+ expires->next = NULL;
|
|
640
|
641
|
|
|
641
|
642
|
expires->hash = 1;
|
|
642
|
643
|
expires->key.len = sizeof("Expires") - 1;
|
|
|
@@ -646,37 +647,30 @@ ngx_http_reportuploads_handler(ngx_http_request_t * r)
|
|
646
|
647
|
len = sizeof("Mon, 28 Sep 1970 06:00:00 GMT");
|
|
647
|
648
|
expires->value.len = len - 1;
|
|
648
|
649
|
|
|
649
|
|
- ccp = r->headers_out.cache_control.elts;
|
|
650
|
|
- if (ccp == NULL) {
|
|
|
650
|
+ cc = r->headers_out.cache_control;
|
|
651
|
651
|
|
|
652
|
|
- if (ngx_array_init(&r->headers_out.cache_control, r->pool,
|
|
653
|
|
- 1, sizeof(ngx_table_elt_t *))
|
|
654
|
|
- != NGX_OK) {
|
|
655
|
|
- return NGX_HTTP_INTERNAL_SERVER_ERROR;
|
|
656
|
|
- }
|
|
657
|
|
-
|
|
658
|
|
- ccp = ngx_array_push(&r->headers_out.cache_control);
|
|
659
|
|
- if (ccp == NULL) {
|
|
660
|
|
- return NGX_HTTP_INTERNAL_SERVER_ERROR;
|
|
661
|
|
- }
|
|
|
652
|
+ if (cc == NULL) {
|
|
662
|
653
|
|
|
663
|
654
|
cc = ngx_list_push(&r->headers_out.headers);
|
|
664
|
655
|
if (cc == NULL) {
|
|
|
656
|
+ expires->hash = 0;
|
|
665
|
657
|
return NGX_HTTP_INTERNAL_SERVER_ERROR;
|
|
666
|
658
|
}
|
|
667
|
659
|
|
|
|
660
|
+ r->headers_out.cache_control = cc;
|
|
|
661
|
+ cc->next = NULL;
|
|
|
662
|
+
|
|
668
|
663
|
cc->hash = 1;
|
|
669
|
664
|
cc->key.len = sizeof("Cache-Control") - 1;
|
|
670
|
665
|
cc->key.data = (u_char *) "Cache-Control";
|
|
671
|
666
|
|
|
672
|
|
- *ccp = cc;
|
|
673
|
|
-
|
|
674
|
667
|
} else {
|
|
675
|
|
- for (i = 1; i < r->headers_out.cache_control.nelts; i++) {
|
|
676
|
|
- ccp[i]->hash = 0;
|
|
|
668
|
+ for (cc = cc->next; cc; cc = cc->next) {
|
|
|
669
|
+ cc->hash = 0;
|
|
677
|
670
|
}
|
|
678
|
671
|
|
|
679
|
|
- cc = ccp[0];
|
|
|
672
|
+ cc = r->headers_out.cache_control;
|
|
|
673
|
+ cc->next = NULL;
|
|
680
|
674
|
}
|
|
681
|
675
|
|
|
682
|
676
|
expires->value.data = (u_char *) "Thu, 01 Jan 1970 00:00:01 GMT";
|