mirror of
https://github.com/cesanta/mongoose.git
synced 2026-10-15 10:29:47 +00:00
Bugfix of Issue #180: mg_read() should accept PUT requests.
This commit is contained in:
1 parent
11951a57ff
commit
fb9493a090
3 files changed
+8
-3
No files matched your search
+1
-2
@@ -1322,8 +1322,7 @@ int mg_read(struct mg_connection *conn, void *buf, size_t len) {
|
||||
DEBUG_TRACE(("%p %zu %lld %lld", buf, len,
|
||||
conn->content_len, conn->consumed_content));
|
||||
nread = 0;
|
||||
if (strcmp(conn->request_info.request_method, "POST") == 0 &&
|
||||
conn->consumed_content < conn->content_len) {
|
||||
if (conn->consumed_content < conn->content_len) {
|
||||
|
||||
// Adjust number of bytes to read.
|
||||
int64_t to_read = conn->content_len - conn->consumed_content;
|
||||
|
||||
+3
-1
@@ -51,7 +51,9 @@ static void test_get_var(struct mg_connection *conn,
|
||||
var = buf = NULL;
|
||||
cl = mg_get_header(conn, "Content-Length");
|
||||
mg_printf(conn, "cl: %p\n", cl);
|
||||
if (!strcmp(ri->request_method, "POST") && cl != NULL) {
|
||||
printf("reqeust method = %s\n", ri->request_method);
|
||||
if ((!strcmp(ri->request_method, "POST") || !strcmp(ri->request_method, "PUT"))
|
||||
&& cl != NULL) {
|
||||
buf_len = atoi(cl);
|
||||
buf = malloc(buf_len);
|
||||
mg_read(conn, buf, buf_len);
|
||||
|
||||
@@ -425,6 +425,10 @@ sub do_embedded_test {
|
||||
o("POST /test_get_var HTTP/1.0\nContent-Length: 64007\n\n".
|
||||
"my_var=$my_var", 'Value size: \[64000\]', 'mg_get_var 10', 0);
|
||||
|
||||
# Other methods should also work
|
||||
o("PUT /test_get_var HTTP/1.0\nContent-Length: 10\n\n".
|
||||
"my_var=foo", 'Value: \[foo\]', 'mg_get_var 11', 0);
|
||||
|
||||
o("POST /test_get_request_info?xx=yy HTTP/1.0\nFoo: bar\n".
|
||||
"Content-Length: 3\n\na=b",
|
||||
'Method: \[POST\].URI: \[/test_get_request_info\].'.
|
||||
|
||||
Reference in new issue
Block a user