2 ACE_BEGIN_VERSIONED_NAMESPACE_DECL
10 int HeaderBase::get_content_length() const
13 if (this->get (CONTENT_LENGTH, lenstr))
15 return ACE_OS::atoi (lenstr.c_str ());
17 return UNKNOWN_CONTENT_LENGTH;
21 void HeaderBase::set_content_type(const ACE_CString& mime_type)
23 if (mime_type == UNKNOWN_CONTENT_TYPE)
25 this->remove (CONTENT_TYPE);
29 this->set (CONTENT_TYPE, UNKNOWN_CONTENT_TYPE);
34 ACE_CString HeaderBase::get_content_type() const
36 ACE_CString val = UNKNOWN_CONTENT_TYPE;
37 this->get (CONTENT_TYPE, val);
42 void HeaderBase::clear ()
44 this->header_values_.reset ();
48 void HeaderBase::add (const ACE_CString& name, const ACE_CString& value)
50 this->header_values_.insert (NVPair (name, value));
54 void HeaderBase::remove (const ACE_CString& name)
56 this->header_values_.remove (NVPair (name, EMPTY));
60 bool HeaderBase::get (const ACE_CString& name, ACE_CString& value) const
62 TNVMap::ITERATOR it (const_cast<TNVMap&> (this->header_values_));
63 if (this->header_values_.find (NVPair (name), it) == 0)
65 value = (*it).second ();
72 bool HeaderBase::has (const ACE_CString& name) const
74 TNVMap::ITERATOR it (const_cast<TNVMap&> (this->header_values_));
75 if (this->header_values_.find (NVPair (name), it) == 0)
83 int HeaderBase::read_field (std::istream& str, ACE_CString& var, size_t maxlen, char delim)
86 while (ch != eof_ && ch != delim && ch != '\n' && var.length () < maxlen)
95 int HeaderBase::read_ws_field (std::istream& str, ACE_CString& var, size_t maxlen)
98 while (!ACE_OS::ace_isspace (ch) && ch != eof_ && var.length () < maxlen)
107 NVPair& NVPair::operator =(const NVPair& pair)
109 this->first (pair.first ());
110 this->second (pair.second ());
115 bool NVPair::operator ==(const NVPair& pair) const
117 return this->first_ == pair.first ();
121 bool NVPair::operator <(const NVPair& pair) const
123 return this->first_ < pair.first ();
127 const ACE_CString& NVPair::first () const
133 void NVPair::first (const ACE_CString& t1)
139 const ACE_CString& NVPair::second () const
141 return this->second_;
145 void NVPair::second (const ACE_CString& t2)
153 ACE_END_VERSIONED_NAMESPACE_DECL