package org.jboss.resteasy.test.response.resource; import javax.ws.rs.GET; import javax.ws.rs.HEAD; import javax.ws.rs.POST; import javax.ws.rs.Path; import javax.ws.rs.Produces; import javax.ws.rs.QueryParam; import javax.ws.rs.core.Link; import javax.ws.rs.core.MediaType; import javax.ws.rs.core.Response; import javax.ws.rs.ext.RuntimeDelegate; import java.net.URI; import java.net.URISyntaxException; @Path("/") public class ResponseResource { public static final String ENTITY = "ENtiTy"; @GET @Path("empty") public Response empty() { return Response.ok().build(); } @HEAD @Path("head") public String head() { return "head"; } @GET @Path("entity") @Produces(MediaType.TEXT_PLAIN) public String entity() { return ENTITY; } @GET @Path("date") public String date(@QueryParam("date") String date) { return date; } @POST @Path("link") public Response getLink(String rel) { Response.ResponseBuilder builder = Response.ok(); if (rel != null && rel.length() != 0) { builder.links(createLink("path", rel)); } return builder.build(); } protected static Link createLink(String path, String rel) { return Link.fromUri(createUri(path)).rel(rel).build(); } protected static URI createUri(String path) { URI uri; try { uri = new URI("http://localhost.tck:888/url404/" + path); } catch (URISyntaxException e) { throw new RuntimeException(e); } return uri; } @GET @Path("entitybodyresponsetest") public Response entityResponseTest() { RuntimeDelegate rd = RuntimeDelegate.getInstance(); Response.ResponseBuilder rb = rd.createResponseBuilder(); String rwe = "hello"; Response build = rb.entity(rwe).build(); return build; } @GET @Path("nullEntityResponse") public Response nullEntityResponse() { RuntimeDelegate rd = RuntimeDelegate.getInstance(); Response.ResponseBuilder rb = rd.createResponseBuilder(); return rb.entity(null).build(); } }