package fr.openwide.core.test.jpa.externallinkchecker.business.rest.server; import java.util.regex.Matcher; import java.util.regex.Pattern; import javax.servlet.http.HttpServletRequest; import javax.ws.rs.GET; import javax.ws.rs.HEAD; import javax.ws.rs.Path; import javax.ws.rs.Produces; import javax.ws.rs.QueryParam; import javax.ws.rs.core.Context; import javax.ws.rs.core.MediaType; import javax.ws.rs.core.Response; import javax.ws.rs.core.Response.Status; import javax.ws.rs.core.UriBuilder; import org.springframework.stereotype.Component; import fr.openwide.core.rest.jersey2.service.AbstractRestServiceImpl; @Component @Path("/test") @Produces(MediaType.APPLICATION_JSON) public class SimpleRestServiceImpl extends AbstractRestServiceImpl { private static final String SIMPLE_OK_PATH = "/ok"; @HEAD @Path(SIMPLE_OK_PATH) public Response ok() { return Response.ok().build(); } @HEAD @Path("ok/location-gîte-ardeche.fr/index.html") public Response okParse1() { return Response.ok().build(); } @HEAD @Path("ok/V2/Partenaires/00043/Images/Chalet 95/dheilly003.JPG") public Response okParse2() { return Response.ok().build(); } @GET @Path("ok/reservit/avail-info.php") public Response okParse3( @QueryParam("hotelid") String hotelid, @QueryParam("userid") String userid, @QueryParam("__utma") String __utma, @QueryParam("__utmc") String __utmc, @QueryParam("__utmz") String __utmz ) { return Response.ok().build(); } @GET @Path("ok/translate_c") public Response okParse4( @QueryParam("client") String client, @QueryParam("depth") String depth, @QueryParam("hl") String hl, @QueryParam("langpair") String langpair, @QueryParam("rurl") String rurl, @QueryParam("u") String u ) { return Response.ok().build(); } @GET @Path("/ok/get") public Response okGet() { return Response.ok().build(); } private static final String _301toOK_PATH = "/301toOK"; @GET @Path(_301toOK_PATH) public Response _301toOk(@Context HttpServletRequest req) { String requestURI = req.getRequestURI(); Matcher matcher = Pattern.compile(_301toOK_PATH + "/?$").matcher(requestURI); String redirectURI = matcher.replaceAll(SIMPLE_OK_PATH); return Response.status(Status.MOVED_PERMANENTLY) .location(UriBuilder.fromUri(redirectURI).build()) .build(); } @GET @Path("ko/not-found") public Response koNotFound() { return Response.status(Response.Status.NOT_FOUND).build(); } }