Mercurial > hg > nginx
comparison src/http/ngx_http_request_body.c @ 171:aff0e5d32af8
nginx-0.0.1-2003-11-03-20:33:31 import
author | Igor Sysoev <igor@sysoev.ru> |
---|---|
date | Mon, 03 Nov 2003 17:33:31 +0000 |
parents | c42be4185301 |
children | 87e73f067470 |
comparison
equal
deleted
inserted
replaced
170:c42be4185301 | 171:aff0e5d32af8 |
---|---|
16 ngx_chain_t *cl; | 16 ngx_chain_t *cl; |
17 | 17 |
18 size = r->header_in->last - r->header_in->pos; | 18 size = r->header_in->last - r->header_in->pos; |
19 | 19 |
20 if (size) { | 20 if (size) { |
21 ngx_test_null(h, ngx_calloc_hunk(r->pool), | 21 ngx_test_null(h, ngx_calloc_hunk(r->pool), NGX_ERROR); |
22 NGX_HTTP_INTERNAL_SERVER_ERROR); | |
23 | 22 |
24 h->type = NGX_HUNK_IN_MEMORY|NGX_HUNK_TEMP; | 23 h->type = NGX_HUNK_IN_MEMORY|NGX_HUNK_TEMP; |
25 h->start = h->pos = r->header_in->pos; | 24 h->start = h->pos = r->header_in->pos; |
26 h->end = h->last = r->header_in->last; | 25 h->end = h->last = r->header_in->last; |
27 | 26 |
28 ngx_alloc_link_and_set_hunk(r->request_hunks, h, r->pool, | 27 ngx_alloc_link_and_set_hunk(r->request_hunks, h, r->pool, NGX_ERROR); |
29 NGX_HTTP_INTERNAL_SERVER_ERROR); | |
30 | 28 |
31 if (size >= r->headers_in.content_length_n) { | 29 if (size >= r->headers_in.content_length_n) { |
32 r->header_in->pos += r->headers_in.content_length_n; | 30 r->header_in->pos += r->headers_in.content_length_n; |
33 | 31 |
34 return NGX_OK; | 32 return NGX_OK; |
46 } else { | 44 } else { |
47 size = request_buffer_size; | 45 size = request_buffer_size; |
48 } | 46 } |
49 | 47 |
50 ngx_test_null(r->request_body_hunk, ngx_create_temp_hunk(r->pool, size), | 48 ngx_test_null(r->request_body_hunk, ngx_create_temp_hunk(r->pool, size), |
51 NGX_HTTP_INTERNAL_SERVER_ERROR); | 49 NGX_ERROR); |
52 | 50 |
53 r->connection->read->event_handler = | 51 r->connection->read->event_handler = |
54 ngx_http_read_client_request_body_handler; | 52 ngx_http_read_client_request_body_handler; |
55 | 53 |
56 ngx_http_read_client_request_body_handler(r->connection->read); | 54 ngx_http_read_client_request_body_handler(r->connection->read); |
57 | 55 |
58 ngx_alloc_link_and_set_hunk(cl, r->request_body_hunk, r->pool, | 56 ngx_alloc_link_and_set_hunk(cl, r->request_body_hunk, r->pool, |
59 NGX_HTTP_INTERNAL_SERVER_ERROR); | 57 NGX_ERROR); |
60 | 58 |
61 if (r->request_hunks) { | 59 if (r->request_hunks) { |
62 r->request_hunks->next = cl; | 60 r->request_hunks->next = cl; |
63 | 61 |
64 } else { | 62 } else { |