package com.netscape.certsrv.key; import javax.ws.rs.Consumes; import javax.ws.rs.DefaultValue; import javax.ws.rs.GET; 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.MediaType; import javax.ws.rs.core.MultivaluedMap; @Path("agent/keys") public interface KeyResource { public static final int DEFAULT_MAXTIME = 10; public static final int DEFAULT_MAXRESULTS = 100; @GET @Produces({ MediaType.APPLICATION_XML, MediaType.APPLICATION_JSON }) public KeyDataInfos listKeys(@QueryParam("clientID") String clientID, @QueryParam("status") String status, @DefaultValue(""+DEFAULT_MAXRESULTS) @QueryParam("maxResults") int maxResults, @DefaultValue(""+DEFAULT_MAXTIME) @QueryParam("maxTime") int maxTime); /** * Used to retrieve a key * @param data * @return */ @POST @Path("retrieve") @Produces({ MediaType.APPLICATION_XML, MediaType.APPLICATION_JSON }) @Consumes({ MediaType.APPLICATION_XML, MediaType.APPLICATION_JSON }) public KeyData retrieveKey(KeyRecoveryRequest data); // retrieval - used to test integration with a browser @POST @Path("retrieve") @Produces({ MediaType.APPLICATION_XML, MediaType.APPLICATION_JSON }) @Consumes({ MediaType.APPLICATION_FORM_URLENCODED }) public KeyData retrieveKey(MultivaluedMap form); }