static ngx_int_t ngx_http_groonga_handler_create_data(ngx_http_request_t *r, ngx_http_groonga_handler_data_t **data_return) { ngx_int_t rc; ngx_http_groonga_loc_conf_t *location_conf; ngx_http_cleanup_t *cleanup; ngx_http_groonga_handler_data_t *data; grn_ctx *context; location_conf = ngx_http_get_module_loc_conf(r, ngx_http_groonga_module); cleanup = ngx_http_cleanup_add(r, sizeof(ngx_http_groonga_handler_data_t)); cleanup->handler = ngx_http_groonga_handler_cleanup; data = cleanup->data; *data_return = data; context = &(data->context); rc = ngx_http_groonga_context_init(context, location_conf, r->pool, r->connection->log); if (rc != NGX_OK) { return rc; } data->initialized = GRN_TRUE; data->raw.processed = GRN_FALSE; data->raw.header_sent = GRN_FALSE; data->raw.r = r; data->raw.rc = NGX_OK; data->raw.free_chain = NULL; data->raw.busy_chain = NULL; GRN_TEXT_INIT(&(data->typed.head), GRN_NO_FLAGS); GRN_TEXT_INIT(&(data->typed.body), GRN_NO_FLAGS); GRN_TEXT_INIT(&(data->typed.foot), GRN_NO_FLAGS); grn_ctx_use(context, grn_ctx_db(&(location_conf->context))); rc = ngx_http_groonga_context_check_error(r->connection->log, context); if (rc != NGX_OK) { return rc; } grn_ctx_recv_handler_set(context, ngx_http_groonga_context_receive_handler, data); return NGX_OK; }
static ngx_int_t ngx_http_groonga_handler_create_data(ngx_http_request_t *r, ngx_http_groonga_handler_data_t **data_return) { ngx_int_t rc; ngx_http_groonga_loc_conf_t *location_conf; ngx_http_cleanup_t *cleanup; ngx_http_groonga_handler_data_t *data; grn_ctx *context; location_conf = ngx_http_get_module_loc_conf(r, ngx_http_groonga_module); cleanup = ngx_http_cleanup_add(r, sizeof(ngx_http_groonga_handler_data_t)); cleanup->handler = ngx_http_groonga_handler_cleanup; data = cleanup->data; *data_return = data; context = &(data->context); grn_ctx_init(context, GRN_NO_FLAGS); GRN_TEXT_INIT(&(data->head), GRN_NO_FLAGS); GRN_TEXT_INIT(&(data->body), GRN_NO_FLAGS); GRN_TEXT_INIT(&(data->foot), GRN_NO_FLAGS); grn_ctx_use(context, grn_ctx_db(&(location_conf->context))); rc = ngx_http_groonga_context_check_error(r->connection->log, context); if (rc != NGX_OK) { return rc; } grn_ctx_recv_handler_set(context, ngx_http_groonga_context_receive_handler, data); return NGX_OK; }