package com.atlassian.labs.speakeasy.rest; import com.atlassian.labs.speakeasy.proxy.ProxyService; import com.atlassian.sal.api.net.Request.MethodType; import javax.servlet.ServletException; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import javax.ws.rs.*; import javax.ws.rs.core.Context; import javax.ws.rs.core.Response; import java.io.IOException; @Path("/proxy") public class AppLinksProxyResource { private final ProxyService proxyService; public AppLinksProxyResource(ProxyService proxyService) { this.proxyService = proxyService; } @GET @Consumes("*/*") @Produces("*/*") public Response doGet(@Context HttpServletRequest req, @Context HttpServletResponse resp) throws ServletException, IOException { int status = proxyService.proxy(req, resp, MethodType.GET); return Response.status(status).build(); } @POST @Consumes("*/*") @Produces("*/*") public Response doPost(@Context HttpServletRequest req, @Context HttpServletResponse resp) throws ServletException, IOException { int status = proxyService.proxy(req, resp, MethodType.POST); return Response.status(status).build(); } }