package org.jfrog.bamboo.util;
import com.google.gson.Gson;
import com.sun.syndication.io.impl.Base64;
import org.apache.commons.lang3.CharEncoding;
import org.apache.http.Header;
import org.apache.http.message.BasicHeader;
import java.io.UnsupportedEncodingException;
import java.net.URLEncoder;
/**
* Common HTTP related action utils
*
* @author Aviad Shikloshi
*/
public class HttpUtils {
private static Gson gson = new Gson();
/**
* Create basic authentication header
*/
public static Header createAuthorizationHeader(String username, String password) {
String authRawString = username + ":" + password;
String encoded = Base64.encode(authRawString);
String auth = "Basic " + encoded;
return new BasicHeader("Authorization", auth);
}
/**
* Convert a String represented json and convert it to an object of type T
*/
public static <T> T objectFromJsonString(String jsonString, Class<T> toClass) {
return gson.fromJson(jsonString, toClass);
}
/**
* Convert Object to JSON String
*/
public static <T> String jsonStringToObject(T object) {
return gson.toJson(object);
}
public static String encodePath(String string) throws UnsupportedEncodingException {
return URLEncoder.encode(string, CharEncoding.UTF_8).replaceAll("\\+", "%20");
}
}