parameter management WIP.
This commit is contained in:
@@ -38,11 +38,11 @@
|
||||
|
||||
typedef struct restd_server_s restd_server_t;
|
||||
typedef struct restd_hook_s restd_hook_t;
|
||||
typedef struct restd_resp_s restd_resp_t;
|
||||
|
||||
/**
|
||||
* User callback(hook) prototype.
|
||||
*/
|
||||
typedef int (*restd_call_hook_cb)(short event, void *conn);
|
||||
typedef int (*restd_callback)(struct evhttp_request *req, void *arg);
|
||||
typedef void (*restd_userdata_free_cb)(void *conn, void *userdata);
|
||||
|
||||
@@ -60,6 +60,13 @@ extern void restd_server_register_hook_on_path(restd_server_t *server, enum evht
|
||||
extern void restd_http_response(struct evhttp_request *req, int code, const char *contenttype, const char *data);
|
||||
extern char *restd_http_get_body(struct evhttp_request *req);
|
||||
|
||||
extern restd_hook_t *restd_hook_new(void);
|
||||
extern void restd_hook_free(restd_hook_t *hook);
|
||||
|
||||
extern restd_resp_t *restd_resp_new(void);
|
||||
extern void restd_resp_free(restd_resp_t *response);
|
||||
|
||||
|
||||
/*------------------------------- DEFINES ------------------------------------*/
|
||||
|
||||
/*
|
||||
@@ -107,7 +114,6 @@ struct restd_server_s
|
||||
|
||||
struct bufferevent *notify_buffer; /*!< internal notification channel */
|
||||
|
||||
restd_call_hook_cb call_hooks;
|
||||
restd_callback request_handler;
|
||||
restd_callback error_handler;
|
||||
};
|
||||
@@ -121,7 +127,21 @@ struct restd_hook_s
|
||||
char *path;
|
||||
restd_callback cb;
|
||||
void *userdata;
|
||||
bool has_param;
|
||||
qlist_t *path_fragments;
|
||||
char *param_name;
|
||||
char *action_name;
|
||||
};
|
||||
|
||||
/*
|
||||
* Response callback parameter.
|
||||
*/
|
||||
struct restd_resp_s
|
||||
{
|
||||
struct evhttp_request *request;
|
||||
bool has_parameter;
|
||||
char *parameter;
|
||||
char *action;
|
||||
};
|
||||
|
||||
#endif /*_RESTD_H */
|
||||
|
||||
Reference in New Issue
Block a user