Skip to content

Commit 88adfe4

Browse files
pfarcasanufacebook-github-bot
authored andcommitted
make ParseURL getQuery helper static
Summary: 1. The only callsite of this seemed to migrate to `HTTPMessage::getQueryParam` 2. I was looking to reuse this method, but it requires me to have a `ParsedURL` which is only buildable via URL parsing. This method doesn't really use internal state, so maybe it can just be a static helper. See next diff for usage. Reviewed By: lnicco Differential Revision: D68833844 fbshipit-source-id: 990ff1b621e9b505a387b02c2d1a5669aa09625b
1 parent 8d1533b commit 88adfe4

File tree

3 files changed

+12
-12
lines changed

3 files changed

+12
-12
lines changed

proxygen/lib/utils/ParseURL.cpp

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -255,10 +255,9 @@ void ParseURL::stripBrackets() noexcept {
255255
}
256256

257257
folly::Optional<folly::StringPiece> ParseURL::getQueryParam(
258-
folly::StringPiece name) const noexcept {
259-
auto params = query_;
260-
while (!params.empty()) {
261-
auto param = params.split_step('&');
258+
folly::StringPiece query, const folly::StringPiece name) noexcept {
259+
while (!query.empty()) {
260+
auto param = query.split_step('&');
262261
if (!param.removePrefix(name)) {
263262
continue;
264263
}

proxygen/lib/utils/ParseURL.h

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -158,8 +158,8 @@ class ParseURL {
158158

159159
FB_EXPORT void stripBrackets() noexcept;
160160

161-
FOLLY_NODISCARD folly::Optional<folly::StringPiece> getQueryParam(
162-
folly::StringPiece name) const noexcept;
161+
FOLLY_NODISCARD static folly::Optional<folly::StringPiece> getQueryParam(
162+
folly::StringPiece query, const folly::StringPiece name) noexcept;
163163

164164
private:
165165
void moveHostAndAuthority(ParseURL&& goner) {

proxygen/lib/utils/test/ParseURLTest.cpp

Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -268,11 +268,12 @@ TEST(ParseURL, PortOverflow) {
268268

269269
TEST(ParseURL, GetQueryParam) {
270270
auto u = ParseURL::parseURL("localhost/?foo=1&bar=2&baz&bazz=3&bak=");
271+
auto q = u->query();
271272
ASSERT_TRUE(u.hasValue());
272-
EXPECT_EQ(u->getQueryParam("foo"), "1");
273-
EXPECT_EQ(u->getQueryParam("bar"), "2");
274-
EXPECT_EQ(u->getQueryParam("baz"), "");
275-
EXPECT_EQ(u->getQueryParam("bazz"), "3");
276-
EXPECT_EQ(u->getQueryParam("bak"), "");
277-
EXPECT_FALSE(u->getQueryParam("fooo").has_value());
273+
EXPECT_EQ(ParseURL::getQueryParam(q, "foo"), "1");
274+
EXPECT_EQ(ParseURL::getQueryParam(q, "bar"), "2");
275+
EXPECT_EQ(ParseURL::getQueryParam(q, "baz"), "");
276+
EXPECT_EQ(ParseURL::getQueryParam(q, "bazz"), "3");
277+
EXPECT_EQ(ParseURL::getQueryParam(q, "bak"), "");
278+
EXPECT_FALSE(ParseURL::getQueryParam(q, "fooo").has_value());
278279
}

0 commit comments

Comments
 (0)