瀏覽代碼

2008-05-18 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>

	Make HttpHeader::getFirst(...) return const reference.
	* src/HttpHeader.cc
	* src/HttpHeader.h
Tatsuhiro Tsujikawa 17 年之前
父節點
當前提交
e1c1c010b8
共有 3 個文件被更改,包括 11 次插入5 次删除
  1. 6 0
      ChangeLog
  2. 4 4
      src/HttpHeader.cc
  3. 1 1
      src/HttpHeader.h

+ 6 - 0
ChangeLog

@@ -1,3 +1,9 @@
+2008-05-18  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
+
+	Make HttpHeader::getFirst(...) return const reference.
+	* src/HttpHeader.cc
+	* src/HttpHeader.h
+
 2008-05-18  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
 
 	Use Option::getAsBool(...) instead of Option::get(...) and compare

+ 4 - 4
src/HttpHeader.cc

@@ -83,7 +83,7 @@ bool HttpHeader::defined(const std::string& name) const {
   return table.count(Util::toLower(name)) >= 1;
 }
 
-std::string HttpHeader::getFirst(const std::string& name) const {
+const std::string& HttpHeader::getFirst(const std::string& name) const {
   std::multimap<std::string, std::string>::const_iterator itr = table.find(Util::toLower(name));
   if(itr == table.end()) {
     return A2STR::NIL;
@@ -107,7 +107,7 @@ unsigned int HttpHeader::getFirstAsUInt(const std::string& name) const {
 }
 
 uint64_t HttpHeader::getFirstAsULLInt(const std::string& name) const {
-  std::string value = getFirst(name);
+  const std::string& value = getFirst(name);
   if(value.empty()) {
     return 0;
   } else {
@@ -117,9 +117,9 @@ uint64_t HttpHeader::getFirstAsULLInt(const std::string& name) const {
 
 RangeHandle HttpHeader::getRange() const
 {
-  std::string rangeStr = getFirst(CONTENT_RANGE);
+  const std::string& rangeStr = getFirst(CONTENT_RANGE);
   if(rangeStr.empty()) {
-    std::string contentLengthStr = getFirst(CONTENT_LENGTH);
+    const std::string& contentLengthStr = getFirst(CONTENT_LENGTH);
     if(contentLengthStr.empty()) {
       return SharedHandle<Range>(new Range());
     } else {

+ 1 - 1
src/HttpHeader.h

@@ -62,7 +62,7 @@ public:
 
   void put(const std::string& name, const std::string& value);
   bool defined(const std::string& name) const;
-  std::string getFirst(const std::string& name) const;
+  const std::string& getFirst(const std::string& name) const;
   std::deque<std::string> get(const std::string& name) const;
   unsigned int getFirstAsUInt(const std::string& name) const;
   uint64_t getFirstAsULLInt(const std::string& name) const;