Dav: added error logging.

Previously, when request body was not available or was previously read in
memory rather than a file, client received HTTP 500 error, but no explanation
was logged in error log.  This could happen, for example, if request body was
read or discarded prior to error_page redirect, or if mirroring was enabled
along with dav.
This commit is contained in:
Roman Arutyunyan 2018-02-07 16:44:29 +03:00
parent bde18907ac
commit d31d547dba

View File

@ -213,7 +213,16 @@ ngx_http_dav_put_handler(ngx_http_request_t *r)
ngx_ext_rename_file_t ext; ngx_ext_rename_file_t ext;
ngx_http_dav_loc_conf_t *dlcf; ngx_http_dav_loc_conf_t *dlcf;
if (r->request_body == NULL || r->request_body->temp_file == NULL) { if (r->request_body == NULL) {
ngx_log_error(NGX_LOG_ERR, r->connection->log, 0,
"PUT request body is unavailable");
ngx_http_finalize_request(r, NGX_HTTP_INTERNAL_SERVER_ERROR);
return;
}
if (r->request_body->temp_file == NULL) {
ngx_log_error(NGX_LOG_ERR, r->connection->log, 0,
"PUT request body must be in a file");
ngx_http_finalize_request(r, NGX_HTTP_INTERNAL_SERVER_ERROR); ngx_http_finalize_request(r, NGX_HTTP_INTERNAL_SERVER_ERROR);
return; return;
} }