Mercurial > hg > nginx
comparison src/http/modules/ngx_http_range_filter.c @ 136:da00cde00e8a
nginx-0.0.1-2003-10-02-09:39:37 import
author | Igor Sysoev <igor@sysoev.ru> |
---|---|
date | Thu, 02 Oct 2003 05:39:37 +0000 |
parents | b27548f540ad |
children | c71aeb75c071 |
comparison
equal
deleted
inserted
replaced
135:e29909bd9b8a | 136:da00cde00e8a |
---|---|
41 static int ngx_http_range_header_filter(ngx_http_request_t *r) | 41 static int ngx_http_range_header_filter(ngx_http_request_t *r) |
42 { | 42 { |
43 int rc, boundary, len, i; | 43 int rc, boundary, len, i; |
44 char *p; | 44 char *p; |
45 off_t start, end; | 45 off_t start, end; |
46 ngx_table_elt_t *accept_ranges; | |
47 ngx_http_range_t *range; | 46 ngx_http_range_t *range; |
48 ngx_http_range_filter_ctx_t *ctx; | 47 ngx_http_range_filter_ctx_t *ctx; |
49 | 48 |
50 if (r->main | 49 if (r->main |
51 || r->http_version < NGX_HTTP_VERSION_10 | 50 || r->http_version < NGX_HTTP_VERSION_10 |
59 | 58 |
60 if (r->headers_in.range == NULL | 59 if (r->headers_in.range == NULL |
61 || r->headers_in.range->value.len < 7 | 60 || r->headers_in.range->value.len < 7 |
62 || ngx_strncasecmp(r->headers_in.range->value.data, "bytes=", 6) != 0) | 61 || ngx_strncasecmp(r->headers_in.range->value.data, "bytes=", 6) != 0) |
63 { | 62 { |
64 ngx_test_null(accept_ranges, | 63 ngx_test_null(r->headers_out.accept_ranges, |
65 ngx_push_table(r->headers_out.headers), | 64 ngx_push_table(r->headers_out.headers), |
66 NGX_ERROR); | 65 NGX_ERROR); |
67 | 66 |
68 accept_ranges->key.len = sizeof("Accept-Ranges") - 1; | 67 r->headers_out.accept_ranges->key.len = sizeof("Accept-Ranges") - 1; |
69 accept_ranges->key.data = "Accept-Ranges"; | 68 r->headers_out.accept_ranges->key.data = "Accept-Ranges"; |
70 accept_ranges->value.len = sizeof("bytes") - 1; | 69 r->headers_out.accept_ranges->value.len = sizeof("bytes") - 1; |
71 accept_ranges->value.data = "bytes"; | 70 r->headers_out.accept_ranges->value.data = "bytes"; |
72 | 71 |
73 return next_header_filter(r); | 72 return next_header_filter(r); |
74 } | 73 } |
75 | 74 |
76 ngx_init_array(r->headers_out.ranges, r->pool, 5, sizeof(ngx_http_range_t), | 75 ngx_init_array(r->headers_out.ranges, r->pool, 5, sizeof(ngx_http_range_t), |