diff --git a/lib/hio-http.h b/lib/hio-http.h index f2c520c..94bb5ab 100644 --- a/lib/hio-http.h +++ b/lib/hio-http.h @@ -68,12 +68,22 @@ struct hio_http_range_t }; typedef struct hio_http_range_t hio_http_range_t; -enum hio_perenc_http_opt_t +enum hio_perenc_http_option_t { HIO_PERENC_HTTP_KEEP_SLASH = (1 << 0) }; -typedef enum hio_perenc_http_opt_t hio_perenc_bcstr_opt_t; +typedef enum hio_perenc_http_option_t hio_perenc_bcstr_option_t; +/* -------------------------------------------------------------- */ + +enum hio_svc_htts_option_t +{ + HIO_SVC_HTTS_TASK_MAX, + HIO_SVC_HTTS_TASK_CGI_MAX, + HIO_SVC_HTTS_FCGI_TMOUT, +}; + +typedef enum hio_svc_htts_option_t hio_svc_htts_option_t; /* -------------------------------------------------------------- */ typedef struct hio_svc_htts_t hio_svc_htts_t; @@ -395,6 +405,18 @@ HIO_EXPORT void hio_svc_htts_stop ( hio_svc_htts_t* htts ); +HIO_EXPORT int hio_svc_htts_getoption ( + hio_svc_htts_t* htts, + hio_svc_htts_option_t id, + void* value +); + +HIO_EXPORT int hio_svc_htts_setoption ( + hio_svc_htts_t* htts, + hio_svc_htts_option_t id, + const void* value +); + HIO_EXPORT void* hio_svc_htts_getxtn ( hio_svc_htts_t* htts ); diff --git a/lib/http-txt.c b/lib/http-txt.c index 2f49277..9a7fbca 100644 --- a/lib/http-txt.c +++ b/lib/http-txt.c @@ -142,7 +142,7 @@ static void txt_client_on_disconnect (hio_dev_sck_t* sck) if (txt) { - HIO_SVC_HTTS_TASK_RCUP (txt); + HIO_SVC_HTTS_TASK_RCUP ((hio_svc_htts_task_t*)txt); unbind_task_from_client (txt, 1); @@ -150,7 +150,7 @@ static void txt_client_on_disconnect (hio_dev_sck_t* sck) /*if (txt->client_org_on_disconnect) txt->client_org_on_disconnect (sck);*/ if (sck->on_disconnect) sck->on_disconnect (sck); /* restored to the orginal parent handler in unbind_task_from_client() */ - HIO_SVC_HTTS_TASK_RCDOWN (txt); + HIO_SVC_HTTS_TASK_RCDOWN ((hio_svc_htts_task_t*)txt); } } @@ -307,7 +307,7 @@ static int setup_for_content_length(txt_t* txt, hio_htre_t* req) have_content = txt->task_req_conlen > 0; #endif - if (txt->task_req_conlen_unlimited) + if (have_content) { /* change the callbacks to subscribe to contents to be uploaded */ txt->client_htrd_org_recbs = *hio_htrd_getrecbs(txt->task_client->htrd);