Mercurial > hg > ismi-richfaces
view src/main/java/de/mpiwg/itgroup/diva/rest/DivaProxy.java @ 154:84d20006521c
change McGill image server URL.
author | Robert Casties <casties@mpiwg-berlin.mpg.de> |
---|---|
date | Mon, 16 Oct 2017 15:41:02 +0200 |
parents | 2e911857a759 |
children | f2c1e5be355c |
line wrap: on
line source
package de.mpiwg.itgroup.diva.rest; import javax.ws.rs.GET; import javax.ws.rs.Path; import javax.ws.rs.PathParam; import javax.ws.rs.Produces; import javax.ws.rs.QueryParam; import javax.ws.rs.core.MediaType; import javax.ws.rs.core.Response; import de.mpiwg.itgroup.ismi.utils.HTTPUtils; import de.mpiwg.itgroup.ismi.utils.HTTPUtils.HttpResponse; import de.mpiwg.itgroup.ismi.utils.HTTPUtils.HttpStringResponse; @Path("/diva/proxy") public class DivaProxy { // was https://images.rasi.mcgill.ca/fcgi-bin/iipsrv.fcgi?FIF=/data7/srv/images/ private static String IMG_SERVER = "https://db.rasi.mcgill.ca/fcgi-bin/iipsrv.fcgi?FIF=/data7/srv/images/"; @GET @Path("/image") @Produces("image/jpeg") public Response image( @QueryParam("f") String f, @QueryParam("w") String w) throws Exception{ String dirName = getDirName(f); String url = IMG_SERVER + dirName + "/" + f + "&WID=" + w + "&CVT=JPG"; HttpResponse resp = HTTPUtils.getHttpSSLResponse(url); if(resp.code == 200){ return Response.ok(resp.content).build(); } return Response.status(Response.Status.NOT_FOUND).build(); } @GET @Path("/json/{file}") @Produces(MediaType.APPLICATION_JSON) public Response json( @PathParam("file") String file) throws Exception{ // was https://images.rasi.mcgill.ca/data/ HttpStringResponse resp = HTTPUtils.getHttpSSLStringResponse("https://db.rasi.mcgill.ca/data/" + file + ".json"); if(resp.code == 200){ return Response.ok(resp.content).build(); } return Response.status(Response.Status.NOT_FOUND).build(); } private String getDirName(String fileName){ String[] array = fileName.split("_"); return fileName.replace("_" + array[array.length-1], ""); } }