@@ -1947,6 +1947,25 @@ ngx_http_read_upload_client_request_body_handler(ngx_http_request_t *r)
1947
1947
}
1948
1948
} /* }}} */
1949
1949
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
+
1950
1969
static ngx_int_t /* {{{ ngx_http_do_read_upload_client_request_body */
1951
1970
ngx_http_do_read_upload_client_request_body (ngx_http_request_t * r )
1952
1971
{
@@ -1968,20 +1987,11 @@ ngx_http_do_read_upload_client_request_body(ngx_http_request_t *r)
1968
1987
for ( ;; ) {
1969
1988
if (rb -> buf -> last == rb -> buf -> end ) {
1970
1989
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 ;
1985
1995
}
1986
1996
1987
1997
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)
2049
2059
ngx_del_timer (c -> read );
2050
2060
}
2051
2061
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 ));
2053
2064
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 ;
2066
2067
}
2067
2068
2068
2069
upload_shutdown_ctx (u );
0 commit comments