use of io.swagger.annotations.ApiResponse in project indy by Commonjava.
the class SecurityResource method getKeycloakInit.
@ApiOperation("Retrieve the keycloak init Javascript (for use by the UI)")
@ApiResponse(code = 200, message = "Always return 200 whether Keycloak is disabled or not")
@Path("/keycloak-init.js")
@Produces("text/javascript")
@GET
public Response getKeycloakInit() {
logger.debug("Retrieving Keycloak UI-init Javascript file...");
Response response = null;
try {
response = Response.ok(controller.getKeycloakInit()).header(ApplicationHeader.cache_control.key(), NO_CACHE).build();
} catch (final IndyWorkflowException e) {
logger.error(String.format("Failed to load keycloak-init.js. Reason: %s", e.getMessage()), e);
response = responseHelper.formatResponse(e);
}
return response;
}
use of io.swagger.annotations.ApiResponse in project indy by Commonjava.
the class SecurityResource method getKeycloakUiJson.
@ApiOperation("Retrieve the keycloak JSON configuration (for use by the UI)")
@ApiResponses({ @ApiResponse(code = 400, message = "Keycloak is disabled"), @ApiResponse(code = 200, message = "File retrieval successful") })
@Path("/keycloak.json")
@Produces("application/json")
@GET
public Response getKeycloakUiJson() {
logger.debug("Retrieving Keycloak UI JSON file...");
Response response = null;
try {
final String content = controller.getKeycloakUiJson();
if (content == null) {
response = Response.status(Status.BAD_REQUEST).entity(DISABLED_MESSAGE).header(ApplicationHeader.cache_control.key(), NO_CACHE).build();
} else {
response = Response.ok(content).header(ApplicationHeader.cache_control.key(), NO_CACHE).build();
}
} catch (final IndyWorkflowException e) {
logger.error(String.format("Failed to load client-side keycloak.json. Reason: %s", e.getMessage()), e);
response = responseHelper.formatResponse(e);
}
return response;
}
use of io.swagger.annotations.ApiResponse in project indy by Commonjava.
the class DeprecatedFoloContentAccessResource method doHead.
@ApiOperation("Store and track file/artifact content under the given artifact store (type/name) and path.")
@ApiResponses({ @ApiResponse(code = 404, message = "Content is not available"), @ApiResponse(code = 200, message = "Header metadata for content (or rendered listing when path ends with '/index.html' or '/'") })
@HEAD
@Path("/{path: (.*)}")
public Response doHead(@ApiParam("User-assigned tracking session key") @PathParam("id") final String id, @ApiParam(allowableValues = "hosted,group,remote", required = true) @PathParam("type") final String type, @PathParam("name") final String name, @PathParam("path") final String path, @QueryParam(CHECK_CACHE_ONLY) final Boolean cacheOnly, @Context final HttpServletRequest request, @Context final UriInfo uriInfo) {
final TrackingKey tk = new TrackingKey(id);
final String baseUri = uriInfo.getBaseUriBuilder().path(BASE_PATH).path(id).build().toString();
EventMetadata metadata = new EventMetadata().set(TRACKING_KEY, tk).set(ACCESS_CHANNEL, AccessChannel.MAVEN_REPO);
final Consumer<Response.ResponseBuilder> deprecation = builder -> {
String alt = Paths.get("/api/folo/track/", id, MAVEN_PKG_KEY, type, name, path).toString();
responseHelper.markDeprecated(builder, alt);
};
return handler.doHead(MAVEN_PKG_KEY, type, name, path, cacheOnly, baseUri, request, metadata, deprecation);
}
use of io.swagger.annotations.ApiResponse in project indy by Commonjava.
the class DeprecatedFoloContentAccessResource method doGet.
@ApiOperation("Retrieve and track file/artifact content under the given artifact store (type/name) and path.")
@ApiResponses({ @ApiResponse(code = 404, message = "Content is not available"), @ApiResponse(code = 200, response = String.class, message = "Rendered content listing (when path ends with '/index.html' or '/')"), @ApiResponse(code = 200, response = StreamingOutput.class, message = "Content stream") })
@GET
@Path("/{path: (.*)}")
public Response doGet(@ApiParam("User-assigned tracking session key") @PathParam("id") final String id, @ApiParam(allowableValues = "hosted,group,remote", required = true) @PathParam("type") final String type, @PathParam("name") final String name, @PathParam("path") final String path, @Context final HttpServletRequest request, @Context final UriInfo uriInfo) {
final TrackingKey tk = new TrackingKey(id);
final String baseUri = uriInfo.getBaseUriBuilder().path(BASE_PATH).path(id).build().toString();
EventMetadata metadata = new EventMetadata().set(TRACKING_KEY, tk).set(ACCESS_CHANNEL, AccessChannel.MAVEN_REPO);
final Consumer<Response.ResponseBuilder> deprecation = builder -> {
String alt = Paths.get("/api/folo/track/", id, MAVEN_PKG_KEY, type, name, path).toString();
responseHelper.markDeprecated(builder, alt);
};
return handler.doGet(MAVEN_PKG_KEY, type, name, path, baseUri, request, metadata, deprecation);
}
use of io.swagger.annotations.ApiResponse in project indy by Commonjava.
the class DeprecatedStoreAdminHandler method getAll.
@ApiOperation("Retrieve the definitions of all artifact stores of a given type on the system")
@ApiResponses({ @ApiResponse(code = 200, response = StoreListingDTO.class, message = "The store definitions") })
@GET
@Produces(ApplicationContent.application_json)
public Response getAll(@ApiParam(allowableValues = "hosted,group,remote", required = true) @PathParam("type") final String type) {
String altPath = Paths.get(MavenPackageTypeDescriptor.MAVEN_ADMIN_REST_BASE_PATH, type).toString();
Consumer<Response.ResponseBuilder> modifier = (rb) -> responseHelper.markDeprecated(rb, altPath);
final StoreType st = StoreType.get(type);
Response response;
try {
final List<ArtifactStore> stores = adminController.getAllOfType(st);
logger.info("Returning listing containing stores:\n\t{}", new JoinString("\n\t", stores));
final StoreListingDTO<ArtifactStore> dto = new StoreListingDTO<>(stores);
response = responseHelper.formatOkResponseWithJsonEntity(dto, modifier);
} catch (final IndyWorkflowException e) {
logger.error(e.getMessage(), e);
response = responseHelper.formatResponse(e, modifier);
}
return response;
}
Aggregations