summaryrefslogtreecommitdiffstats
path: root/http.h
diff options
context:
space:
mode:
Diffstat (limited to 'http.h')
-rw-r--r--http.h33
1 files changed, 33 insertions, 0 deletions
diff --git a/http.h b/http.h
new file mode 100644
index 0000000000..7c3963ffb3
--- /dev/null
+++ b/http.h
@@ -0,0 +1,33 @@
+#ifndef __HTTP_H
+#define __HTTP_H
+
+#define HTTP_FIELD_MAX 20
+
+typedef struct {
+ char *protocol;
+ char *method;
+ char *uri;
+ int status_code;
+ char *reason_phrase;
+ int http_minor_version;
+ char *fields[HTTP_FIELD_MAX];
+ int field_nb;
+ char *field_search;
+ int search_pos;
+ char *body;
+ int body_size;
+} HTTP_header_t;
+
+HTTP_header_t* http_new_header();
+void http_free( HTTP_header_t *http_hdr );
+HTTP_header_t* http_new_response( char *data, int length );
+char* http_get_request( HTTP_header_t *http_hdr );
+char* http_get_field( HTTP_header_t *http_hdr, const char *field_name );
+char* http_get_next_field( HTTP_header_t *http_hdr );
+void http_set_field( HTTP_header_t *http_hdr, const char *field );
+void http_set_method( HTTP_header_t *http_hdr, const char *method );
+void http_set_uri( HTTP_header_t *http_hdr, const char *uri );
+
+void http_debug_hdr( HTTP_header_t *http_hdr );
+
+#endif // __HTTP_H