1 /* Is there a way to get the preprocessor to do this so that this file isn't
3 #ifndef parser_callbacks_h
4 #define parser_callbacks_h
8 void ebb_http_field_cb(void *data
, const char *field
, size_t flen
, const char *value
, size_t vlen
)
10 ebb_client
*client
= (ebb_client
*)(data
);
11 ebb_client_add_env(client
, field
, flen
, value
, vlen
);
14 void ebb_request_method_cb(void *data
, const char *at
, size_t length
)
16 const char *key
= "REQUEST_METHOD";
17 ebb_client
*client
= (ebb_client
*)(data
);
18 ebb_client_add_env(client
, key
, strlen(key
), at
, length
);
21 void ebb_request_uri_cb(void *data
, const char *at
, size_t length
)
23 const char *key
= "REQUEST_URI";
24 ebb_client
*client
= (ebb_client
*)(data
);
25 ebb_client_add_env(client
, key
, strlen(key
), at
, length
);
28 void ebb_fragment_cb(void *data
, const char *at
, size_t length
)
30 const char *key
= "FRAGMENT";
31 ebb_client
*client
= (ebb_client
*)(data
);
32 ebb_client_add_env(client
, key
, strlen(key
), at
, length
);
35 void ebb_request_path_cb(void *data
, const char *at
, size_t length
)
37 const char *key
= "REQUEST_PATH";
38 ebb_client
*client
= (ebb_client
*)(data
);
39 ebb_client_add_env(client
, key
, strlen(key
), at
, length
);
42 void ebb_query_string_cb(void *data
, const char *at
, size_t length
)
44 const char *key
= "QUERY_STRING";
45 ebb_client
*client
= (ebb_client
*)(data
);
46 ebb_client_add_env(client
, key
, strlen(key
), at
, length
);
49 void ebb_http_version_cb(void *data
, const char *at
, size_t length
)
51 const char *key
= "HTTP_VERSION";
52 ebb_client
*client
= (ebb_client
*)(data
);
53 ebb_client_add_env(client
, key
, strlen(key
), at
, length
);
56 /* TODO: this isn't handled correctly. Browser might send
57 * Expect: 100-continue
58 * Should ebb handle that?
60 void ebb_header_done_cb(void *data
, const char *at
, size_t length
)
62 const char *key
= "body";
63 ebb_client
*client
= (ebb_client
*)(data
);
64 ebb_client_add_env(client
, key
, strlen(key
), at
, length
);
67 #endif parser_callbacks_h