I needed a simple way to proxy an HTTP request and add an authorization header to it, so I created a REST service using JAX-RS and using groovy to call the server. I put the code on our eXo
server thanks to eXo IDE, and click deploy and that's it :) If you need something similar, here is the code: import javax.ws.rs.Path import javax.ws.rs.POST import javax.ws.rs.FormParam
@Path("/proxy") public class Proxy { @POST @Path("basic_auth/") public String basic_auth(@FormParam("url") String url, @FormParam("login") String login, @FormParam("password") String password) {
def encoded = "$login:$password".getBytes().encodeBase64().toString() def c= new URL(url).openConnection() c.setRequestProperty("Authorization", "Basic $encoded") return c.content.text } } To
test it: curl -d "url=http://TheUrl.com/test&login=my_login&password=my_pwd" \ http://YourDomain.com/rest/proxy/basic_auth/