]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
rgw: reuse ltstr_nocase in RGWHTTPHeadersCollector.
authorRadoslaw Zarzynski <rzarzynski@mirantis.com>
Sat, 23 Apr 2016 17:15:07 +0000 (19:15 +0200)
committerRadoslaw Zarzynski <rzarzynski@mirantis.com>
Thu, 2 Jun 2016 13:37:06 +0000 (15:37 +0200)
Signed-off-by: Radoslaw Zarzynski <rzarzynski@mirantis.com>
src/rgw/rgw_http_client.h

index f9b9e473b5ba77a6991989c20ea92d5189ebe05e..4a96be6caf0dcd6370c18ad7ae23828b9fde7100 100644 (file)
@@ -8,6 +8,7 @@
 #include "common/Cond.h"
 #include "include/atomic.h"
 #include "rgw_common.h"
+#include "rgw_string.h"
 
 using param_pair_t = pair<string, string>;
 using param_vec_t = vector<param_pair_t>;
@@ -134,17 +135,9 @@ public:
 
 class RGWHTTPHeadersCollector : public RGWHTTPClient {
 public:
-  /* Case insensitive comparator for containers carrying HTTP headers. */
-  struct CILess : public std::binary_function<std::string, std::string, bool> {
-    bool operator()(const std::string& lhs,
-                    const std::string& rhs) const {
-      return ::strcasecmp(lhs.c_str(), rhs.c_str()) < 0 ;
-    }
-  };
-
   typedef std::string header_name_t;
   typedef std::string header_value_t;
-  typedef std::set<header_name_t, CILess> header_spec_t;
+  typedef std::set<header_name_t, ltstr_nocase> header_spec_t;
 
   RGWHTTPHeadersCollector(CephContext * const cct,
                           const header_spec_t relevant_headers)
@@ -152,7 +145,7 @@ public:
       relevant_headers(relevant_headers) {
   }
 
-  std::map<header_name_t, header_value_t, CILess> get_headers() const {
+  std::map<header_name_t, header_value_t, ltstr_nocase> get_headers() const {
     return found_headers;
   }
 
@@ -173,8 +166,8 @@ protected:
   }
 
 private:
-  const std::set<header_name_t, CILess> relevant_headers;
-  std::map<header_name_t, header_value_t, CILess> found_headers;
+  const std::set<header_name_t, ltstr_nocase> relevant_headers;
+  std::map<header_name_t, header_value_t, ltstr_nocase> found_headers;
 };