summaryrefslogtreecommitdiff
path: root/src/http.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/http.h')
-rw-r--r--src/http.h38
1 files changed, 38 insertions, 0 deletions
diff --git a/src/http.h b/src/http.h
new file mode 100644
index 0000000..f215cf6
--- /dev/null
+++ b/src/http.h
@@ -0,0 +1,38 @@
+#ifndef HTTP_H
+#define HTTP_H
+
+#include "sqlite3ext.h"
+
+typedef struct http_request http_request;
+struct http_request {
+ char* zMethod;
+ char* zUrl;
+ const void* pBody;
+ sqlite3_int64 szBody;
+ const char* zHeaders;
+};
+
+typedef struct http_response http_response;
+struct http_response {
+ void* pBody;
+ sqlite3_int64 szBody;
+ char* zHeaders;
+ int szHeaders;
+ int iStatusCode;
+ char* zStatus;
+};
+
+int http_do_request(http_request* req, http_response* resp, char** ppErrMsg);
+
+int http_next_header(const char* headers,
+ int size,
+ int* pParsed,
+ const char** ppName,
+ int* pNameSize,
+ const char** ppValue,
+ int* pValueSize);
+
+void remove_all_but_last_headers(char* zHeaders);
+void separate_status_and_headers(char** ppStatus, char* zHeaders);
+
+#endif