Skip to content

Commit 5b5d008

Browse files
author
Valery Kholodkov
committed
Factorized out conversion of return code
1 parent 04816b8 commit 5b5d008

File tree

1 file changed

+28
-27
lines changed

1 file changed

+28
-27
lines changed

ngx_http_upload_module.c

+28-27
Original file line numberDiff line numberDiff line change
@@ -1947,6 +1947,25 @@ ngx_http_read_upload_client_request_body_handler(ngx_http_request_t *r)
19471947
}
19481948
} /* }}} */
19491949

1950+
static ngx_int_t
1951+
ngx_http_upload_return_code(ngx_http_request_t *r, ngx_int_t rc) {
1952+
switch(rc) {
1953+
case NGX_OK:
1954+
break;
1955+
case NGX_UPLOAD_MALFORMED:
1956+
return NGX_HTTP_BAD_REQUEST;
1957+
case NGX_UPLOAD_TOOLARGE:
1958+
return NGX_HTTP_REQUEST_ENTITY_TOO_LARGE;
1959+
case NGX_UPLOAD_IOERROR:
1960+
return NGX_HTTP_SERVICE_UNAVAILABLE;
1961+
case NGX_UPLOAD_NOMEM: case NGX_UPLOAD_SCRIPTERROR:
1962+
default:
1963+
return NGX_HTTP_INTERNAL_SERVER_ERROR;
1964+
}
1965+
1966+
return NGX_OK;
1967+
}
1968+
19501969
static ngx_int_t /* {{{ ngx_http_do_read_upload_client_request_body */
19511970
ngx_http_do_read_upload_client_request_body(ngx_http_request_t *r)
19521971
{
@@ -1968,20 +1987,11 @@ ngx_http_do_read_upload_client_request_body(ngx_http_request_t *r)
19681987
for ( ;; ) {
19691988
if (rb->buf->last == rb->buf->end) {
19701989

1971-
rc = ngx_http_process_request_body(r, rb->to_write);
1972-
1973-
switch(rc) {
1974-
case NGX_OK:
1975-
break;
1976-
case NGX_UPLOAD_MALFORMED:
1977-
return NGX_HTTP_BAD_REQUEST;
1978-
case NGX_UPLOAD_TOOLARGE:
1979-
return NGX_HTTP_REQUEST_ENTITY_TOO_LARGE;
1980-
case NGX_UPLOAD_IOERROR:
1981-
return NGX_HTTP_SERVICE_UNAVAILABLE;
1982-
case NGX_UPLOAD_NOMEM: case NGX_UPLOAD_SCRIPTERROR:
1983-
default:
1984-
return NGX_HTTP_INTERNAL_SERVER_ERROR;
1990+
rc = ngx_http_upload_return_code(r,
1991+
ngx_http_process_request_body(r, rb->to_write));
1992+
1993+
if(rc != NGX_OK) {
1994+
return rc;
19851995
}
19861996

19871997
rb->to_write = rb->bufs->next ? rb->bufs->next : rb->bufs;
@@ -2049,20 +2059,11 @@ ngx_http_do_read_upload_client_request_body(ngx_http_request_t *r)
20492059
ngx_del_timer(c->read);
20502060
}
20512061

2052-
rc = ngx_http_process_request_body(r, rb->to_write);
2062+
rc = ngx_http_upload_return_code(r,
2063+
ngx_http_process_request_body(r, rb->to_write));
20532064

2054-
switch(rc) {
2055-
case NGX_OK:
2056-
break;
2057-
case NGX_UPLOAD_MALFORMED:
2058-
return NGX_HTTP_BAD_REQUEST;
2059-
case NGX_UPLOAD_TOOLARGE:
2060-
return NGX_HTTP_REQUEST_ENTITY_TOO_LARGE;
2061-
case NGX_UPLOAD_IOERROR:
2062-
return NGX_HTTP_SERVICE_UNAVAILABLE;
2063-
case NGX_UPLOAD_NOMEM: case NGX_UPLOAD_SCRIPTERROR:
2064-
default:
2065-
return NGX_HTTP_INTERNAL_SERVER_ERROR;
2065+
if(rc != NGX_OK) {
2066+
return rc;
20662067
}
20672068

20682069
upload_shutdown_ctx(u);

0 commit comments

Comments
 (0)