diff options
Diffstat (limited to 'src/Utility/HttpClient.h')
| -rw-r--r-- | src/Utility/HttpClient.h | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/src/Utility/HttpClient.h b/src/Utility/HttpClient.h index 6eb002c..5eceb83 100644 --- a/src/Utility/HttpClient.h +++ b/src/Utility/HttpClient.h @@ -2,7 +2,9 @@ #define HTTPCLIENT_H #include <curl/curl.h> +#include <libxml/parser.h> #include <stddef.h> +#include <time.h> typedef struct { char *memory; @@ -13,4 +15,18 @@ typedef struct { HttpResponse http_get(const char *url, const char *user_agent); void http_response_free(HttpResponse *resp); +typedef xmlDocPtr (*XmlParserFn)(const char *data, size_t size, + const char *url); + +typedef struct { + char *memory; + size_t size; + void *parsed_result; + int success; +} CachedHttpResponse; + +CachedHttpResponse cached_http_get(const char *url, const char *user_agent, + const char *cache_key, time_t cache_ttl, + XmlParserFn parser); + #endif |
