struct afb_hsrv;
struct afb_hreq {
+ struct afb_context context;
+ int refcount;
struct afb_hsrv *hsrv;
const char *cacheTimeout;
struct MHD_Connection *connection;
const char *tail;
size_t lentail;
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 struct afb_req afb_hreq_to_req(struct afb_hreq *hreq);
-extern struct AFB_clientCtx *afb_hreq_context(struct afb_hreq *hreq);
+extern int afb_hreq_init_context(struct afb_hreq *hreq);
extern int afb_hreq_init_cookie(int port, const char *path, int maxage);
extern void afb_hreq_reply_empty(struct afb_hreq *hreq, unsigned status, ...);
extern int afb_hreq_init_download_path(const char *directory);
+
+extern void afb_hreq_addref(struct afb_hreq *hreq);
+
+extern void afb_hreq_unref(struct afb_hreq *hreq);
+