static void* callback(enum mg_event event, struct mg_connection *conn, const struct mg_request_info *request_info) { if (event == MG_NEW_REQUEST) { std::string request_uri = request_info->uri; if (request_uri == "/face/suggest/") { return handle_suggest(event, conn, request_info); } else if (request_uri == "/face/import/") { return handle_import(event, conn, request_info); } else if (request_uri == "/face/export/") { return handle_export(event, conn, request_info); } else if (request_uri == "/face/stats/") { return handle_stats(event, conn, request_info); } else { return handle_invalid_request(event, conn, request_info); } } else { return NULL; } }
int handle_request(char *req_buffer, char *resp_buffer) { char req_type[10]; char req_arg[100]; sscanf(req_buffer, "%10s %100s", req_type, req_arg); syslog(LOG_INFO, "got request, type=%s arg=%s", &req_type, &req_arg); memset(resp_buffer, '\0', RESP_BUFFER_SIZE); if (strcmp("GET", req_type) == 0) { handle_get_request(req_buffer, resp_buffer, req_arg); } else { handle_invalid_request(req_buffer, resp_buffer, req_arg); } }
void serve_request(client_t *client) { parsed_url_t url; parse_URL(client->url, url); std::string &request_uri = url.path; DCERR("request_uri: " << request_uri << endl); if (request_uri == "/face/suggest/") { handle_suggest(client, url); } else if (request_uri == "/face/import/") { handle_import(client, url); } else if (request_uri == "/face/export/") { handle_export(client, url); } else if (request_uri == "/face/stats/") { handle_stats(client, url); } else { handle_invalid_request(client, url); } }