@@ -96,13 +96,15 @@ void HttpRequestImpl::parseParameters() const
9696 while (cpos < key.length () &&
9797 isspace (static_cast <unsigned char >(key[cpos])))
9898 ++cpos;
99- key = key. substr (cpos);
99+ key. remove_prefix (cpos);
100100 auto pvalue = coo.substr (epos + 1 );
101- std::string pdecode = utils::urlDecode (pvalue);
102- std::string keydecode = utils::urlDecode (key);
103- parameters_[keydecode] = pdecode;
101+ parameters_[utils::urlDecode (key)] = utils::urlDecode (pvalue);
104102 }
105- value = value.substr (pos + 1 );
103+ else
104+ {
105+ parameters_[utils::urlDecode (coo)];
106+ }
107+ value.remove_prefix (pos + 1 );
106108 }
107109 if (value.length () > 0 )
108110 {
@@ -115,11 +117,13 @@ void HttpRequestImpl::parseParameters() const
115117 while (cpos < key.length () &&
116118 isspace (static_cast <unsigned char >(key[cpos])))
117119 ++cpos;
118- key = key. substr (cpos);
120+ key. remove_prefix (cpos);
119121 auto pvalue = coo.substr (epos + 1 );
120- std::string pdecode = utils::urlDecode (pvalue);
121- std::string keydecode = utils::urlDecode (key);
122- parameters_[keydecode] = pdecode;
122+ parameters_[utils::urlDecode (key)] = utils::urlDecode (pvalue);
123+ }
124+ else
125+ {
126+ parameters_[utils::urlDecode (coo)];
123127 }
124128 }
125129 }
@@ -153,13 +157,15 @@ void HttpRequestImpl::parseParameters() const
153157 while (cpos < key.length () &&
154158 isspace (static_cast <unsigned char >(key[cpos])))
155159 ++cpos;
156- key = key. substr (cpos);
160+ key. remove_prefix (cpos);
157161 auto pvalue = coo.substr (epos + 1 );
158- std::string pdecode = utils::urlDecode (pvalue);
159- std::string keydecode = utils::urlDecode (key);
160- parameters_[keydecode] = pdecode;
162+ parameters_[utils::urlDecode (key)] = utils::urlDecode (pvalue);
161163 }
162- value = value.substr (pos + 1 );
164+ else
165+ {
166+ parameters_[utils::urlDecode (coo)];
167+ }
168+ value.remove_prefix (pos + 1 );
163169 }
164170 if (value.length () > 0 )
165171 {
@@ -172,11 +178,13 @@ void HttpRequestImpl::parseParameters() const
172178 while (cpos < key.length () &&
173179 isspace (static_cast <unsigned char >(key[cpos])))
174180 ++cpos;
175- key = key. substr (cpos);
181+ key. remove_prefix (cpos);
176182 auto pvalue = coo.substr (epos + 1 );
177- std::string pdecode = utils::urlDecode (pvalue);
178- std::string keydecode = utils::urlDecode (key);
179- parameters_[keydecode] = pdecode;
183+ parameters_[utils::urlDecode (key)] = utils::urlDecode (pvalue);
184+ }
185+ else
186+ {
187+ parameters_[utils::urlDecode (coo)];
180188 }
181189 }
182190 }
0 commit comments