17 #ifndef PAGESPEED_KERNEL_HTTP_HEADERS_H_
18 #define PAGESPEED_KERNEL_HTTP_HEADERS_H_
29 namespace net_instaweb {
33 class StringMultiMapInsensitive;
41 typedef std::multimap<StringPiece, ValueAndAttributes> CookieMultimap;
42 typedef std::multimap<StringPiece, ValueAndAttributes>::const_iterator
43 CookieMultimapConstIter;
50 int major_version()
const;
51 bool has_major_version()
const;
52 int minor_version()
const;
53 void set_major_version(
int major_version);
54 void set_minor_version(
int major_version);
60 void SetValue(
int i, StringPiece value);
78 bool Lookup(
const StringPiece& name, ConstStringStarVector* values)
const;
89 const char*
Lookup1(
const StringPiece& name)
const;
92 bool Has(
const StringPiece& name)
const;
95 bool HasValue(
const StringPiece& name,
const StringPiece& value)
const;
113 void Add(
const StringPiece& name,
const StringPiece& value);
127 bool Remove(
const StringPiece& name,
const StringPiece& value);
140 template<
class StringType>
143 protobuf::RepeatedPtrField<NameValue>* headers);
155 virtual void Replace(
const StringPiece& name,
const StringPiece& value);
181 static bool FindValueForName(
const StringPieceVector& name_equals_value_vec,
182 StringPiece name_to_find,
183 StringPiece* optional_retval);
190 StringPiece* optional_retval);
195 void CopyProto(
const Proto&
proto);
217 const Proto*
proto()
const {
return proto_.get(); }
218 Proto* mutable_proto() {
return proto_.get(); }
228 void AddToMap(
const StringPiece& name,
const StringPiece& value)
const;
234 mutable scoped_ptr<StringMultiMapInsensitive> map_;
235 scoped_ptr<Proto> proto_;
241 mutable scoped_ptr<CookieMultimap> cookies_;
std::string GoogleString
PAGESPEED_KERNEL_BASE_STRING_H_.
Definition: string.h:24
Interface for writing bytes to an output stream.
Definition: writer.h:29
Definition: message_handler.h:39