X-Git-Url: http://dolda2000.com/gitweb/?a=blobdiff_plain;f=lib%2Freq.h;h=9ae60ab4ef1a568bde61bc47b6d04d346b65767f;hb=e7bdd59acaca36a9a2dea95716abf454e35cf127;hp=942ff3505f1d39f7c0641ec51d02b7ad001b51a3;hpb=9e9eca797684e57318dde54f5a89a3029181590e;p=ashd.git diff --git a/lib/req.h b/lib/req.h index 942ff35..9ae60ab 100644 --- a/lib/req.h +++ b/lib/req.h @@ -1,6 +1,10 @@ #ifndef _LIB_HTREQ_H #define _LIB_HTREQ_H +#include + +struct bufio; + struct hthead { char *method, *url, *ver, *msg; int code; @@ -15,8 +19,17 @@ void freehthead(struct hthead *head); char *getheader(struct hthead *head, char *name); void headpreheader(struct hthead *head, const char *name, const char *val); void headappheader(struct hthead *head, const char *name, const char *val); -int sendreq(int sock, struct hthead *req); +void headrmheader(struct hthead *head, const char *name); +int sendreq2(int sock, struct hthead *req, int fd, int flags); +int sendreq(int sock, struct hthead *req, int fd); int recvreq(int sock, struct hthead **reqp); void replrest(struct hthead *head, char *rest); +int parseheaders(struct hthead *head, FILE *in); +int parseheadersb(struct hthead *head, struct bufio *in); +struct hthead *parseresponse(FILE *in); +struct hthead *parseresponseb(struct bufio *in); +int writeresp(FILE *out, struct hthead *resp); +int writerespb(struct bufio *out, struct hthead *resp); +char *unquoteurl(char *in); #endif