2020-05-05 00:43:05 -03:00
|
|
|
/*
|
|
|
|
|
* Copyright (c) 2020, the SerenityOS developers.
|
|
|
|
|
*
|
2021-04-22 05:24:48 -03:00
|
|
|
* SPDX-License-Identifier: BSD-2-Clause
|
2020-05-05 00:43:05 -03:00
|
|
|
*/
|
|
|
|
|
|
|
|
|
|
#include <AK/StringBuilder.h>
|
2020-06-15 12:55:27 -03:00
|
|
|
#include <AK/URLParser.h>
|
2020-05-05 00:43:05 -03:00
|
|
|
#include <LibWeb/URLEncoder.h>
|
|
|
|
|
|
|
|
|
|
namespace Web {
|
|
|
|
|
|
2020-06-15 12:55:27 -03:00
|
|
|
String urlencode(const Vector<URLQueryParam>& pairs)
|
2020-05-05 00:43:05 -03:00
|
|
|
{
|
|
|
|
|
StringBuilder builder;
|
|
|
|
|
for (size_t i = 0; i < pairs.size(); ++i) {
|
2020-06-15 12:55:27 -03:00
|
|
|
builder.append(urlencode(pairs[i].name));
|
2020-05-05 00:43:05 -03:00
|
|
|
builder.append('=');
|
2020-06-15 12:55:27 -03:00
|
|
|
builder.append(urlencode(pairs[i].value));
|
2020-05-05 00:43:05 -03:00
|
|
|
if (i != pairs.size() - 1)
|
|
|
|
|
builder.append('&');
|
|
|
|
|
}
|
|
|
|
|
return builder.to_string();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
}
|