-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathejemplo_programa.c
101 lines (79 loc) · 3.42 KB
/
ejemplo_programa.c
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
#include "my_backend_c/server/server.h"
#include "stdio.h"
//#include "my_backend_c/database/database.h"
#define PORT 7000
void *get_users(request_t *request, response_t *response, void *aux)
{
response = set_status(response, OK);
//response = set_data_json(response, get_body(request));
//MYSQL_RES *result = get_all(aux, "cars"); despues vemos bien que hacer con esto, pero es problema del usuario (?
response = set_data(response, "some users");
return send_response(response);
}
void *get_user(request_t *request, response_t *response, void *aux)
{
response = set_status(response, OK);
//response = set_data_json(response, request->body);
//response = set_data(response, "un usuario");
//MYSQL_RES *result = get_by_id(aux, "cars", request->params);
json_t *cookies = get_cookies(request);
if (cookies) {
response = set_data_json(response, cookies);
json_t *properties = json_pack("{ssssss}", "Max-Age", "100000", "Secure", "no importa que este aca", "HttpOnly", "sarasa");
response = set_cookies(response, cookies, properties);
}
//response = set_data_json(response, get_cookies(request));
return send_response(response);
}
void *create_user(request_t *request, response_t *response, void *aux)
{
//insert_into(aux, "cars", request->body);
response = set_status(response, CREATED);
//response = set_data_json(response, get_body(request));
json_t *query= get_querys(request);
if (query) {
set_data_json(response, query);
}
return send_response(response);
}
void *delete_user(request_t *request, response_t *response, void *aux)
{
//delete_by_id(aux, "cars", request->params);
response = set_status(response, OK);
response = set_data_json(response, get_params(request));
return send_response(response);
}
void *update_user(request_t *request, response_t *response, void *aux)
{
//update_by_id(aux, "cars", request->params, request->body);
response = set_status(response, OK);
response = set_data_json(response, get_body(request));
return send_response(response);
}
void *not_found_function(request_t *request, response_t *response, void *aux)
{
response = set_status(response, NOT_FOUND);
char html_data[4096];
load_html("file_name.html", html_data, 4096);
response = set_data(response, html_data);
return send_response(response);
}
int main()
{
/*char *host = "localhost";
char *user = "paolo";
char *password = "34klq*";
char *db = "testdb";*/
hash_t *hash = hash_crear(10); //cambiar que no necesite el tamanio inicial, cambiar nombre a "routes_t" o algo asi
//MYSQL *connection = connect_db(host, user, password, db);
create_route(hash, "/", get_users, NULL, GET);
create_route(hash, "/users", get_users, NULL, GET);
create_route(hash, "/user/:id", get_user, NULL, GET);
create_route(hash, "/user", create_user, NULL, POST);
create_route(hash, "/user/:id", delete_user, NULL, DELETE);
create_route(hash, "/user/:id", update_user, NULL, PUT);
create_route(hash, "/*", not_found_function, NULL, ALL);
init_server(PORT, hash);
hash_destruir(hash);
//disconnect(connection);
}