package org.datacite.conres.controller; import javax.ws.rs.GET; import javax.ws.rs.Path; import javax.ws.rs.PathParam; import javax.ws.rs.core.*; /** * Deals with content negotiation requests * * @see LinkController */ @Path("/{doi: 10\\..+/.+}") public class ContentController extends BaseController { public ContentController(@PathParam("doi")String doi, @Context HttpHeaders headers){ super(doi, headers); log4j.debug("New request for " + doi + " as " + acceptHeader); } @GET public Response get(@Context Request r, @PathParam("doi")String doi) { if (model == null) { log4j.warn("No content for " + doi); return Response.status(404).build(); } Variant v = r.selectVariant(allSupportedTypes()); if (v == null) { log4j.error("Not acceptable: " + doi + " as " + acceptHeader); return Response.notAcceptable(allSupportedTypes()).build(); } return buildResponse(v); } }