void Message::removeHeader(const std::string& name) { headers_.erase(std::remove_if(headers_.begin(), headers_.end(), HeaderNamePredicate(name)), headers_.end()) ; }
Headers::const_iterator findHeader(const Headers& headers, const std::string& name) { return std::find_if(headers.begin(), headers.end(), HeaderNamePredicate(name)); }
void Message::replaceHeader(const std::string& name, const std::string& value) { Header hdr ; hdr.name = name ; hdr.value = value ; std::replace_if(headers_.begin(), headers_.end(), HeaderNamePredicate(name), hdr) ; }
std::string headerValue(const Headers& headers, const std::string& name) { Headers::const_iterator it = std::find_if(headers.begin(), headers.end(), HeaderNamePredicate(name)) ; if ( it != headers.end() ) return (*it).value ; else return std::string() ; }
void Message::setHeader(const std::string& name, const std::string& value) { Headers::iterator it = std::find_if(headers_.begin(), headers_.end(), HeaderNamePredicate(name)); if ( it != headers_.end() ) { Header hdr ; hdr.name = name ; hdr.value = value ; *it = hdr ; } else { addHeader(name, value) ; } }