Kouhei Sutou
null+****@clear*****
Tue Sep 6 17:04:06 JST 2016
Kouhei Sutou 2016-09-06 17:04:06 +0900 (Tue, 06 Sep 2016) New Revision: dac5dec6c481fea05a808b4198874c20514cd0f9 https://github.com/groonga/groonga/commit/dac5dec6c481fea05a808b4198874c20514cd0f9 Message: httpd: fix a bug that load JSON data is ignored Modified files: src/httpd/nginx-module/ngx_http_groonga_module.c Modified: src/httpd/nginx-module/ngx_http_groonga_module.c (+14 -6) =================================================================== --- src/httpd/nginx-module/ngx_http_groonga_module.c 2016-09-06 16:13:44 +0900 (eae2550) +++ src/httpd/nginx-module/ngx_http_groonga_module.c 2016-09-06 17:04:06 +0900 (7942232) @@ -691,15 +691,15 @@ ngx_http_groonga_handler_create_data(ngx_http_request_t *r, static void ngx_http_groonga_handler_process_command_path(ngx_http_request_t *r, ngx_str_t *command_path, - ngx_http_groonga_handler_data_t *data) + ngx_http_groonga_handler_data_t *data, + int flags) { grn_obj uri; GRN_TEXT_INIT(&uri, 0); GRN_TEXT_PUTS(context, &uri, "/d/"); GRN_TEXT_PUT(context, &uri, command_path->data, command_path->len); - grn_ctx_send(context, GRN_TEXT_VALUE(&uri), GRN_TEXT_LEN(&uri), - GRN_CTX_TAIL); + grn_ctx_send(context, GRN_TEXT_VALUE(&uri), GRN_TEXT_LEN(&uri), flags); data->rc = context->rc; ngx_http_groonga_context_log_error(r->connection->log); GRN_OBJ_FIN(context, &uri); @@ -807,7 +807,9 @@ ngx_http_groonga_send_body(ngx_http_request_t *r, } line_length = line_current - line_start + 1; - if (!chain->next && rest_buffer_size == 0) { + if (line_current + 1 == line_end && + !chain->next && + rest_buffer_size == 0) { flags |= GRN_CTX_TAIL; } grn_ctx_send(context, line_start, line_length, flags); @@ -882,7 +884,10 @@ ngx_http_groonga_handler_process_load(ngx_http_request_t *r, return; } - ngx_http_groonga_handler_process_command_path(r, command_path, data); + ngx_http_groonga_handler_process_command_path(r, + command_path, + data, + GRN_NO_FLAGS); if (data->rc != GRN_SUCCESS) { return; } @@ -997,7 +1002,10 @@ ngx_http_groonga_handler_get(ngx_http_request_t *r) return rc; } - ngx_http_groonga_handler_process_command_path(r, &command_path, data); + ngx_http_groonga_handler_process_command_path(r, + &command_path, + data, + GRN_CTX_TAIL); /* discard request body, since we don't need it here */ rc = ngx_http_discard_request_body(r); -------------- next part -------------- HTML����������������������������...Download