feat(http-post): adjust HTTP POST request
This commit is contained in:
parent
bcb06d4403
commit
4ce29da407
|
@ -415,14 +415,14 @@ int callback_update_entity (const struct _u_request * request, struct _u_respons
|
|||
int callback_create_entity (const struct _u_request * request, struct _u_response * response, void * user_data) {
|
||||
/*declarations*/
|
||||
int r;
|
||||
const char **keys;
|
||||
const char *value;
|
||||
char *line;
|
||||
const char **keys=NULL;
|
||||
const char *value=NULL;
|
||||
char *line=NULL;
|
||||
int len;
|
||||
int i;
|
||||
PGconn *conn;
|
||||
char *prepStmEntities;
|
||||
PGresult *pqRes;
|
||||
PGconn *conn=NULL;
|
||||
char *prepStmEntities=NULL;
|
||||
PGresult *pqRes=NULL;
|
||||
|
||||
printf("callback_create_entity() Started...\n");
|
||||
|
||||
|
@ -437,22 +437,27 @@ int callback_create_entity (const struct _u_request * request, struct _u_respons
|
|||
ulfius_set_string_body_response(response, 500, "This is the /entity/create route: HTTP POST data error!");
|
||||
}else{
|
||||
value = u_map_get(request->map_post_body, keys[0]);
|
||||
printf("callback_create_entity() key is %s, value is %s\n", keys[0], value);
|
||||
|
||||
conn = (PGconn *)user_data;
|
||||
|
||||
/*define prepared statement*/
|
||||
len=snprintf(NULL,0,
|
||||
if(value==NULL){
|
||||
//TODO error
|
||||
printf("callback_create_entity() key NOT available in request map\n");
|
||||
//TODO Why this casting?
|
||||
(void)(request);
|
||||
(void)(user_data);
|
||||
ulfius_set_string_body_response(response, 500, "This is the /entity/create route: HTTP POST key error!");
|
||||
}else{
|
||||
printf("callback_create_entity() key is %s, value is %s\n", keys[0], value);
|
||||
conn = (PGconn *)user_data;
|
||||
/*define prepared statement*/
|
||||
len=snprintf(NULL,0,
|
||||
"INSERT INTO entities (name) VALUES ('%s') RETURNING *;"
|
||||
,value);
|
||||
prepStmEntities=malloc((size_t)(len+1));
|
||||
//TODO Release prepStmEntities!
|
||||
snprintf(prepStmEntities,(size_t)(len+1),
|
||||
prepStmEntities=malloc((size_t)(len+1));
|
||||
//TODO Release prepStmEntities!
|
||||
snprintf(prepStmEntities,(size_t)(len+1),
|
||||
"INSERT INTO entities (name) VALUES ('%s') RETURNING *;"
|
||||
,value);
|
||||
printf("callback_create_entity() prepStmEntities: %s\n",prepStmEntities);
|
||||
|
||||
/*create prepared statement*/
|
||||
printf("callback_create_entity() prepStmEntities: %s\n",prepStmEntities);
|
||||
/*create prepared statement*/
|
||||
/*conn:connection*/
|
||||
/*stm:statement*/
|
||||
/*0:number of passed parameters*/
|
||||
|
@ -462,20 +467,21 @@ int callback_create_entity (const struct _u_request * request, struct _u_respons
|
|||
/*NULL:relevant for binary parameters*/
|
||||
/*0:obtain result in text format*/
|
||||
//TODO How to pass params?
|
||||
pqRes = PQexecParams(conn, prepStmEntities, 0, NULL, NULL, NULL, NULL, 0);
|
||||
if(PQresultStatus(pqRes) != PGRES_TUPLES_OK) {
|
||||
pqRes = PQexecParams(conn, prepStmEntities, 0, NULL, NULL, NULL, NULL, 0);
|
||||
if(PQresultStatus(pqRes) != PGRES_TUPLES_OK) {
|
||||
/*handle error*/
|
||||
printf("callback_create_entity() No data retrieved\n");
|
||||
ulfius_set_string_body_response(response, 500, "This is the /entity/create route: Dba error!");
|
||||
/*clean up result*/
|
||||
PQclear(pqRes);
|
||||
//TODO Why this casting?
|
||||
}else{
|
||||
/*evaluate result*/
|
||||
int nbRecords=PQntuples(pqRes);
|
||||
printf("callback_get_entity() nbRecords: %d\n",nbRecords);
|
||||
/*clean up result*/
|
||||
PQclear(pqRes);
|
||||
}else{
|
||||
/*evaluate result*/
|
||||
int nbRecords=PQntuples(pqRes);
|
||||
printf("callback_get_entity() nbRecords: %d\n",nbRecords);
|
||||
/*clean up result*/
|
||||
PQclear(pqRes);
|
||||
}
|
||||
}
|
||||
}
|
||||
}else{
|
||||
|
|
Loading…
Reference in New Issue