Mercurial > hg > nginx
comparison src/http/modules/ngx_http_range_filter.c @ 195:8dee38ea9117
nginx-0.0.1-2003-11-25-23:44:56 import
author | Igor Sysoev <igor@sysoev.ru> |
---|---|
date | Tue, 25 Nov 2003 20:44:56 +0000 |
parents | 4db54fdbcbe7 |
children | 92db0aa1e83f |
comparison
equal
deleted
inserted
replaced
194:2357fa41738a | 195:8dee38ea9117 |
---|---|
213 ngx_palloc(r->pool, 8 + 20 + 1), | 213 ngx_palloc(r->pool, 8 + 20 + 1), |
214 NGX_ERROR); | 214 NGX_ERROR); |
215 | 215 |
216 r->headers_out.content_range->value.len = | 216 r->headers_out.content_range->value.len = |
217 ngx_snprintf(r->headers_out.content_range->value.data, | 217 ngx_snprintf(r->headers_out.content_range->value.data, |
218 8 + 20 + 1, "bytes */" OFF_FMT, | 218 8 + 20 + 1, "bytes */" OFF_T_FMT, |
219 r->headers_out.content_length_n); | 219 r->headers_out.content_length_n); |
220 | 220 |
221 r->headers_out.content_length_n = -1; | 221 r->headers_out.content_length_n = -1; |
222 if (r->headers_out.content_length) { | 222 if (r->headers_out.content_length) { |
223 r->headers_out.content_length->key.len = 0; | 223 r->headers_out.content_length->key.len = 0; |
245 NGX_ERROR); | 245 NGX_ERROR); |
246 | 246 |
247 /* "Content-Range: bytes SSSS-EEEE/TTTT" header */ | 247 /* "Content-Range: bytes SSSS-EEEE/TTTT" header */ |
248 | 248 |
249 r->headers_out.content_range->value.len = | 249 r->headers_out.content_range->value.len = |
250 ngx_snprintf(r->headers_out.content_range->value.data, | 250 ngx_snprintf(r->headers_out.content_range->value.data, |
251 6 + 20 + 1 + 20 + 1 + 20 + 1, | 251 6 + 20 + 1 + 20 + 1 + 20 + 1, |
252 "bytes " OFF_FMT "-" OFF_FMT "/" OFF_FMT, | 252 "bytes " OFF_T_FMT "-" OFF_T_FMT "/" OFF_T_FMT, |
253 range->start, range->end - 1, | 253 range->start, range->end - 1, |
254 r->headers_out.content_length_n); | 254 r->headers_out.content_length_n); |
255 | 255 |
256 r->headers_out.content_length_n = range->end - range->start; | 256 r->headers_out.content_length_n = range->end - range->start; |
257 | 257 |
258 } else { | 258 } else { |
259 | 259 |
334 NGX_ERROR); | 334 NGX_ERROR); |
335 | 335 |
336 /* the size of the range: "SSSS-EEEE/TTTT" CRLF CRLF */ | 336 /* the size of the range: "SSSS-EEEE/TTTT" CRLF CRLF */ |
337 | 337 |
338 range[i].content_range.len = | 338 range[i].content_range.len = |
339 ngx_snprintf(range[i].content_range.data, | 339 ngx_snprintf(range[i].content_range.data, |
340 20 + 1 + 20 + 1 + 20 + 5, | 340 20 + 1 + 20 + 1 + 20 + 5, |
341 OFF_FMT "-" OFF_FMT "/" OFF_FMT CRLF CRLF, | 341 OFF_T_FMT "-" OFF_T_FMT "/" OFF_T_FMT CRLF CRLF, |
342 range[i].start, range[i].end - 1, | 342 range[i].start, range[i].end - 1, |
343 r->headers_out.content_length_n); | 343 r->headers_out.content_length_n); |
344 | 344 |
345 len += ctx->boundary_header.len + range[i].content_range.len | 345 len += ctx->boundary_header.len + range[i].content_range.len |
346 + (size_t) (range[i].end - range[i].start); | 346 + (size_t) (range[i].end - range[i].start); |
347 } | 347 } |
348 | 348 |