ниже C фрагмент из мангуста веб-сервер обработчика HTTP событий Я работаю на:таНос мангуст веб-сервер HTTP POST тело и передать его нить
static void HttpEventHandler(struct mg_connection *nc, int ev, void *ev_data) {
if (ev == MG_EV_HTTP_REQUEST) {
struct http_message *hm = (struct http_message *) ev_data;
if (mg_vcmp(&hm->method, "POST") == 0) {
pthread_t thread_id;
int rc;
rc = pthread_create(&thread_id, NULL, thr_func, /* Here I want hm body to be passed after its malloced */);
if (rc) { /* could not create thread */
fprintf(stderr, "error: pthread_create, rc: %d\n", rc);
return EXIT_FAILURE;
}
}//if POST
mg_printf(nc, "HTTP/1.1 200 OK\r\n");
nc->flags |= MG_F_SEND_AND_CLOSE;
}
}
HTTP-тело после сообщения, доступные в виде строки используя ниже синтаксис:
"%.*s", (int) hm->body.len,hm->body.p
Я хочу пример кода для таНос hm-> тело и передать его на поток в фрагменте выше, также было бы здорово, чтобы объяснить, как бросить пропущенный недействительным *. если его трудно, пожалуйста, malloc ev_data или hm.
, поэтому вы хотите передать строку в качестве параметра 'thr_func'? – yano
Да, это будет хорошо, так как содержание тела - json. –