package org.jboss.resteasy.test.spring.inmodule.resource; import org.jboss.logging.Logger; import javax.ws.rs.GET; import javax.ws.rs.Path; import javax.ws.rs.Produces; import javax.ws.rs.core.Context; import javax.ws.rs.core.HttpHeaders; import javax.ws.rs.core.MediaType; import javax.ws.rs.core.UriInfo; @Path("/echo") @Produces(MediaType.TEXT_PLAIN) public class SpringWebappContextResource { private static Logger logger = Logger.getLogger(SpringWebappContextResource.class); private UriInfo ui; private HttpHeaders headers; @Context public void setUriInfo(UriInfo ui) { this.ui = ui; } @Context public void setHttpHeaders(HttpHeaders headers) { this.headers = headers; } @GET @Path("/uri") public String echoURI() { sleep(); logger.info("requestUribuilder: " + ui.getRequestUriBuilder().toString()); logger.info("request uri: " + ui.getRequestUri()); return (ui != null ? ui.getRequestUriBuilder().build().toString() : "null"); } @GET @Path("/headers") public String echoHeaders() { sleep(); logger.info("uri: " + ui.getRequestUri().toString()); logger.info("builder: " + ui.getRequestUriBuilder().build().toString()); String s = headers != null && headers.getRequestHeader(HttpHeaders.ACCEPT) != null ? (ui != null ? ui .getRequestUriBuilder().build().toString() : "null") + ":" + headers.getRequestHeader(HttpHeaders.ACCEPT).get(0) : "null"; logger.info("return: " + s); return s; } private void sleep() { try { Thread.sleep((int) (Math.random() * 1000)); } catch (Exception e) { } } }