diff options
Diffstat (limited to 'libsoup/soup-cache.c')
-rw-r--r-- | libsoup/soup-cache.c | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/libsoup/soup-cache.c b/libsoup/soup-cache.c index 815d2f71..c17e537c 100644 --- a/libsoup/soup-cache.c +++ b/libsoup/soup-cache.c @@ -38,6 +38,7 @@ #include "soup-content-processor.h" #include "soup-message-private.h" #include "soup.h" +#include "soup-message-private.h" /** * SECTION:soup-cache @@ -1345,6 +1346,8 @@ soup_cache_generate_conditional_request (SoupCache *cache, SoupMessage *original SoupURI *uri; SoupCacheEntry *entry; const char *last_modified, *etag; + SoupMessagePrivate *origpriv; + GSList *f; g_return_val_if_fail (SOUP_IS_CACHE (cache), NULL); g_return_val_if_fail (SOUP_IS_MESSAGE (original), NULL); @@ -1370,6 +1373,10 @@ soup_cache_generate_conditional_request (SoupCache *cache, SoupMessage *original (SoupMessageHeadersForeachFunc)copy_headers, msg->request_headers); + origpriv = SOUP_MESSAGE_GET_PRIVATE (original); + for (f = origpriv->disabled_features; f; f = f->next) + soup_message_disable_feature (msg, (GType) GPOINTER_TO_SIZE (f->data)); + if (last_modified) soup_message_headers_append (msg->request_headers, "If-Modified-Since", |