package com.badlogic.gdx;
import java.io.UnsupportedEncodingException;
import java.net.URLEncoder;
import java.util.Map;
import java.util.Set;
import com.badlogic.gdx.Net.HttpRequest;
/** Provides utility methods to work with the {@link HttpRequest} content and parameters. */
public class HttpParametersUtils {
public static String defaultEncoding = "UTF-8";
public static String nameValueSeparator = "=";
public static String parameterSeparator = "&";
/**
* Useful method to convert a map of key,value pairs to a String to be used as part of a GET or POST content.
*
* @param parameters
* A Map<String, String> with the parameters to encode.
* @return The String with the parameters encoded.
*/
public static String convertHttpParameters(Map<String, String> parameters) {
Set<String> keySet = parameters.keySet();
StringBuffer convertedParameters = new StringBuffer();
for (String name : keySet) {
convertedParameters.append(encode(name, defaultEncoding));
convertedParameters.append(nameValueSeparator);
convertedParameters.append(encode(parameters.get(name), defaultEncoding));
convertedParameters.append(parameterSeparator);
}
if (convertedParameters.length() > 0)
convertedParameters.deleteCharAt(convertedParameters.length() - 1);
return convertedParameters.toString();
}
private static String encode(String content, String encoding) {
try {
return URLEncoder.encode(content, encoding);
} catch (UnsupportedEncodingException e) {
throw new IllegalArgumentException(e);
}
}
}