*/
struct AFB_session;
+struct AFB_clientCtx;
+struct json_object;
struct afb_hreq {
- struct AFB_session *session;
+ const char *cacheTimeout;
struct MHD_Connection *connection;
- enum afb_method method;
+ int method;
const char *version;
const char *url;
size_t lenurl;
struct MHD_PostProcessor *postform;
struct AFB_clientCtx *context;
struct hreq_data *data;
+ struct json_object *json;
+ int upgrade;
};
+extern void afb_hreq_free(struct afb_hreq *request);
+
extern int afb_hreq_unprefix(struct afb_hreq *request, const char *prefix, size_t length);
extern int afb_hreq_valid_tail(struct afb_hreq *request);
extern const char *afb_hreq_get_argument(struct afb_hreq *hreq, const char *name);
-extern int afb_hreq_is_argument_a_file(struct afb_hreq *hreq, const char *name);
-
extern int afb_hreq_post_add_file(struct afb_hreq *hreq, const char *name, const char *file, const char *data, size_t size);
extern int afb_hreq_post_add(struct afb_hreq *hreq, const char *name, const char *data, size_t size);
-extern void afb_hreq_post_end(struct afb_hreq *hreq);
-
extern struct afb_req afb_hreq_to_req(struct afb_hreq *hreq);
-extern void afb_hreq_drop_data(struct afb_hreq *hreq);
+extern struct AFB_clientCtx *afb_hreq_context(struct afb_hreq *hreq);
+
+extern int afb_hreq_init_cookie(int port, const char *path, int maxage);
+
+extern void afb_hreq_reply_static(struct afb_hreq *hreq, unsigned status, size_t size, char *buffer, ...);
+
+extern void afb_hreq_reply_copy(struct afb_hreq *hreq, unsigned status, size_t size, char *buffer, ...);
+
+extern void afb_hreq_reply_free(struct afb_hreq *hreq, unsigned status, size_t size, char *buffer, ...);
+
+extern void afb_hreq_reply_empty(struct afb_hreq *hreq, unsigned status, ...);