Nginx-ru mailing list archive (nginx-ru@sysoev.ru)
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
static POST
Прилагаемый патч разрешает POSTы в несуществующие файлы.
Это позволяет использовать POSTы в такой конфигурации:
location / {
error_page 404 = @fallback;
}
location @fallback {
...
}
Я планирую включить патч в следующую версию.
--
Игорь Сысоев
http://sysoev.ru
Index: src/http/modules/ngx_http_static_module.c
===================================================================
--- src/http/modules/ngx_http_static_module.c (revision 1499)
+++ src/http/modules/ngx_http_static_module.c (working copy)
@@ -58,7 +58,7 @@
ngx_open_file_info_t of;
ngx_http_core_loc_conf_t *clcf;
- if (!(r->method & (NGX_HTTP_GET|NGX_HTTP_HEAD))) {
+ if (!(r->method & (NGX_HTTP_GET|NGX_HTTP_HEAD|NGX_HTTP_POST))) {
return NGX_HTTP_NOT_ALLOWED;
}
@@ -71,10 +71,13 @@
return NGX_DECLINED;
}
- rc = ngx_http_discard_request_body(r);
+ if (r->method & (NGX_HTTP_GET|NGX_HTTP_HEAD)) {
- if (rc != NGX_OK) {
- return rc;
+ rc = ngx_http_discard_request_body(r);
+
+ if (rc != NGX_OK) {
+ return rc;
+ }
}
log = r->connection->log;
@@ -203,6 +206,10 @@
#endif
+ if (r->method & NGX_HTTP_POST) {
+ return NGX_HTTP_NOT_ALLOWED;
+ }
+
log->action = "sending response to client";
r->headers_out.status = NGX_HTTP_OK;
|