[libsoup/websocket: 7/11] Use soup_message_headers_header_contains()



commit 32fb9085c5d7bb1c9aa77ad3b596830e5b8d8c13
Author: Dan Winship <danw gnome org>
Date:   Sun Nov 30 10:09:50 2014 -0500

    Use soup_message_headers_header_contains()

 libsoup/soup-cache.c   |    5 ++---
 libsoup/soup-message.c |   17 ++++++-----------
 libsoup/soup-session.c |   10 +++++-----
 3 files changed, 13 insertions(+), 19 deletions(-)
---
diff --git a/libsoup/soup-cache.c b/libsoup/soup-cache.c
index d118c4c..3cc4844 100644
--- a/libsoup/soup-cache.c
+++ b/libsoup/soup-cache.c
@@ -1069,7 +1069,7 @@ SoupCacheResponse
 soup_cache_has_response (SoupCache *cache, SoupMessage *msg)
 {
        SoupCacheEntry *entry;
-       const char *cache_control, *pragma;
+       const char *cache_control;
        gpointer value;
        int max_age, max_stale, min_fresh;
        GList *lru_item, *item;
@@ -1130,8 +1130,7 @@ soup_cache_has_response (SoupCache *cache, SoupMessage *msg)
 
        /* For HTTP 1.0 compatibility. RFC2616 section 14.9.4
         */
-       pragma = soup_message_headers_get_list (msg->request_headers, "Pragma");
-       if (pragma && soup_header_contains (pragma, "no-cache"))
+       if (soup_message_headers_header_contains (msg->request_headers, "Pragma", "no-cache"))
                return SOUP_CACHE_RESPONSE_STALE;
 
        cache_control = soup_message_headers_get_list (msg->request_headers, "Cache-Control");
diff --git a/libsoup/soup-message.c b/libsoup/soup-message.c
index 45f56a4..07bcea6 100644
--- a/libsoup/soup-message.c
+++ b/libsoup/soup-message.c
@@ -1528,13 +1528,6 @@ soup_message_get_http_version (SoupMessage *msg)
 gboolean
 soup_message_is_keepalive (SoupMessage *msg)
 {
-       const char *c_conn, *s_conn;
-
-       c_conn = soup_message_headers_get_list (msg->request_headers,
-                                               "Connection");
-       s_conn = soup_message_headers_get_list (msg->response_headers,
-                                               "Connection");
-
        if (msg->status_code == SOUP_STATUS_OK &&
            msg->method == SOUP_METHOD_CONNECT)
                return TRUE;
@@ -1550,13 +1543,15 @@ soup_message_is_keepalive (SoupMessage *msg)
                 * doesn't request it. So ignore c_conn.
                 */
 
-               if (!s_conn || !soup_header_contains (s_conn, "Keep-Alive"))
+               if (!soup_message_headers_header_contains (msg->response_headers,
+                                                          "Connection", "Keep-Alive"))
                        return FALSE;
        } else {
                /* Normally persistent unless either side requested otherwise */
-               if (c_conn && soup_header_contains (c_conn, "close"))
-                       return FALSE;
-               if (s_conn && soup_header_contains (s_conn, "close"))
+               if (soup_message_headers_header_contains (msg->request_headers,
+                                                         "Connection", "close") ||
+                   soup_message_headers_header_contains (msg->response_headers,
+                                                         "Connection", "close"))
                        return FALSE;
 
                return TRUE;
diff --git a/libsoup/soup-session.c b/libsoup/soup-session.c
index ec49b3a..c12c151 100644
--- a/libsoup/soup-session.c
+++ b/libsoup/soup-session.c
@@ -1316,7 +1316,6 @@ soup_session_send_queue_item (SoupSession *session,
                              SoupMessageCompletionFn completion_cb)
 {
        SoupSessionPrivate *priv = SOUP_SESSION_GET_PRIVATE (session);
-       const char *conn_header;
 
        if (priv->user_agent) {
                soup_message_headers_replace (item->msg->request_headers,
@@ -1336,12 +1335,13 @@ soup_session_send_queue_item (SoupSession *session,
         * a short period of time, as we wouldn't need to establish
         * new connections. Keep alive is implicit for HTTP 1.1.
         */
-       conn_header = soup_message_headers_get_list (item->msg->request_headers, "Connection");
-       if (!conn_header ||
-           (!soup_header_contains (conn_header, "Keep-Alive") &&
-            !soup_header_contains (conn_header, "close")))
+       if (!soup_message_headers_header_contains (item->msg->request_headers,
+                                                  "Connection", "Keep-Alive") &&
+           !soup_message_headers_header_contains (item->msg->request_headers,
+                                                  "Connection", "close")) {
                soup_message_headers_append (item->msg->request_headers,
                                             "Connection", "Keep-Alive");
+       }
 
        g_signal_emit (session, signals[REQUEST_STARTED], 0,
                       item->msg, soup_connection_get_socket (item->conn));


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]