JAX-RS service to proxy an HTTP request in groovy
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/










