Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(231)

Unified Diff: net/http/http_util.h

Issue 1211363005: Parse HPKP report-uri and persist in TransportSecurityPersister (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: davidben comments Created 5 years, 5 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: net/http/http_util.h
diff --git a/net/http/http_util.h b/net/http/http_util.h
index 79a41acd193cccddc4152fabb50e0760ba06b385..51fa09d1d4e13cf8a9eb0ce2a95f9430fbeb204c 100644
--- a/net/http/http_util.h
+++ b/net/http/http_util.h
@@ -29,14 +29,6 @@ class NET_EXPORT HttpUtil {
// is stripped (username, password, reference).
static std::string SpecForRequest(const GURL& url);
- // Locates the next occurance of delimiter in line, skipping over quoted
- // strings (e.g., commas will not be treated as delimiters if they appear
- // within a quoted string). Returns the offset of the found delimiter or
- // line.size() if no delimiter was found.
- static size_t FindDelimiter(const std::string& line,
- size_t search_start,
- char delimiter);
-
// Parses the value of a Content-Type header. The resulting mime_type and
// charset values are normalized to lowercase. The mime_type and charset
// output values are only modified if the content_type_str contains a mime
@@ -323,6 +315,16 @@ class NET_EXPORT HttpUtil {
// calls to GetNext() or after the NameValuePairsIterator is destroyed.
class NET_EXPORT NameValuePairsIterator {
public:
+ // Whether or not values are optional. VALUES_OPTIONAL allows
+ // e.g. name1=value1;name2;name3=value3, whereas VALUES_NOT_OPTIONAL
+ // will treat it as a parse error because name2 does not have a
+ // corresponding equals sign. Default is VALUES_NOT_OPTIONAL.
Ryan Sleevi 2015/07/16 02:25:44 This last sentence arguably belongs to the NameVal
estark 2015/07/16 04:52:18 Done.
+ enum OptionalValues { VALUES_OPTIONAL, VALUES_NOT_OPTIONAL };
+
+ NameValuePairsIterator(std::string::const_iterator begin,
+ std::string::const_iterator end,
+ char delimiter,
+ OptionalValues optional_values);
NameValuePairsIterator(std::string::const_iterator begin,
std::string::const_iterator end,
char delimiter);
@@ -353,6 +355,8 @@ class NET_EXPORT HttpUtil {
value_end_);
}
+ bool value_is_quoted() const { return value_is_quoted_; }
+
// The value before unquoting (if any).
std::string raw_value() const { return std::string(value_begin_,
value_end_); }
@@ -373,6 +377,10 @@ class NET_EXPORT HttpUtil {
std::string unquoted_value_;
bool value_is_quoted_;
+
+ // True if values are required for each name/value pair; false if a
+ // name is permitted to appear without a corresponding value.
+ bool values_optional_;
};
};

Powered by Google App Engine
This is Rietveld 408576698