package org.openntf.domino.rest.servlet;
import java.io.IOException;
import java.net.URI;
import javax.ws.rs.GET;
import javax.ws.rs.Path;
import javax.ws.rs.WebApplicationException;
import javax.ws.rs.core.Context;
import javax.ws.rs.core.MediaType;
import javax.ws.rs.core.Response;
import javax.ws.rs.core.Response.ResponseBuilder;
import javax.ws.rs.core.UriInfo;
import com.ibm.commons.util.io.json.JsonException;
import com.ibm.domino.commons.util.UriHelper;
import com.ibm.domino.das.service.RestService;
import com.ibm.domino.das.servlet.DasServlet;
import com.ibm.domino.das.utils.ErrorHelper;
@Path("")
public class ODARootResource {
public ODARootResource() {
// TODO Auto-generated constructor stub
}
@GET
public Response getInfo(@Context final UriInfo uriInfo) {
String entity = null;
RestService.verifyNoDatabaseContext();
URI baseURI;
try {
baseURI = UriHelper.copy(uriInfo.getAbsolutePath(), true);
entity = DasServlet.getServicesResponse(baseURI.toString());
} catch (IOException e) {
throw new WebApplicationException(ErrorHelper.createErrorResponse(e, Response.Status.INTERNAL_SERVER_ERROR));
} catch (JsonException e) {
throw new WebApplicationException(ErrorHelper.createErrorResponse(e, Response.Status.INTERNAL_SERVER_ERROR));
}
ResponseBuilder builder = Response.ok();
builder.type(MediaType.APPLICATION_JSON_TYPE).entity(entity);
Response response = builder.build();
return response;
}
}