Added a file: ruby_binding/test_camping.rb
[ebb.git] / parser_callbacks.h
blob97c23db5bd9e91874505249cec22458444799500
1 /* Is there a way to get the preprocessor to do this so that this file isn't
2 * so redundant? */
3 #ifndef parser_callbacks_h
4 #define parser_callbacks_h
6 #include "ebb.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