in src/main/java/org/apache/cassandra/sidecar/MainModule.java [120:220]
public Router vertxRouter(Vertx vertx,
Configuration conf,
CassandraHealthHandler cassandraHealthHandler,
StreamSSTableComponentHandler streamSSTableComponentHandler,
FileStreamHandler fileStreamHandler,
SnapshotsHandler snapshotsHandler,
SchemaHandler schemaHandler,
RingHandler ringHandler,
LoggerHandler loggerHandler,
GossipInfoHandler gossipInfoHandler,
TimeSkewHandler timeSkewHandler,
NodeSettingsHandler nodeSettingsHandler,
SSTableUploadHandler ssTableUploadHandler,
SSTableImportHandler ssTableImportHandler,
SSTableCleanupHandler ssTableCleanupHandler,
ErrorHandler errorHandler)
{
Router router = Router.router(vertx);
router.route()
.handler(loggerHandler)
.handler(TimeoutHandler.create(conf.getRequestTimeoutMillis(),
HttpResponseStatus.REQUEST_TIMEOUT.code()));
router.route()
.path(ApiEndpointsV1.API + "/*")
.failureHandler(errorHandler);
// Docs index.html page
StaticHandler docs = StaticHandler.create("docs");
router.route()
.path("/docs/*")
.handler(docs);
// Add custom routers
// Provides a simple REST endpoint to determine if Sidecar is available
router.get(ApiEndpointsV1.HEALTH_ROUTE)
.handler(context -> context.json(OK_STATUS));
router.get(ApiEndpointsV1.CASSANDRA_HEALTH_ROUTE)
.handler(cassandraHealthHandler);
//noinspection deprecation
router.get(ApiEndpointsV1.DEPRECATED_COMPONENTS_ROUTE)
.handler(streamSSTableComponentHandler)
.handler(fileStreamHandler);
router.get(ApiEndpointsV1.COMPONENTS_ROUTE)
.handler(streamSSTableComponentHandler)
.handler(fileStreamHandler);
//noinspection deprecation
router.get(ApiEndpointsV1.DEPRECATED_SNAPSHOTS_ROUTE)
.handler(snapshotsHandler);
router.route()
.method(HttpMethod.GET)
.method(HttpMethod.PUT)
.method(HttpMethod.DELETE)
.path(ApiEndpointsV1.SNAPSHOTS_ROUTE)
.handler(snapshotsHandler);
//noinspection deprecation
router.get(ApiEndpointsV1.DEPRECATED_ALL_KEYSPACES_SCHEMA_ROUTE)
.handler(schemaHandler);
router.get(ApiEndpointsV1.ALL_KEYSPACES_SCHEMA_ROUTE)
.handler(schemaHandler);
//noinspection deprecation
router.get(ApiEndpointsV1.DEPRECATED_KEYSPACE_SCHEMA_ROUTE)
.handler(schemaHandler);
router.get(ApiEndpointsV1.KEYSPACE_SCHEMA_ROUTE)
.handler(schemaHandler);
router.get(ApiEndpointsV1.RING_ROUTE)
.handler(ringHandler);
router.get(ApiEndpointsV1.RING_ROUTE_PER_KEYSPACE)
.handler(ringHandler);
router.put(ApiEndpointsV1.SSTABLE_UPLOAD_ROUTE)
.handler(ssTableUploadHandler);
router.put(ApiEndpointsV1.SSTABLE_IMPORT_ROUTE)
.handler(ssTableImportHandler);
router.delete(ApiEndpointsV1.SSTABLE_CLEANUP_ROUTE)
.handler(ssTableCleanupHandler);
router.get(ApiEndpointsV1.GOSSIP_INFO_ROUTE)
.handler(gossipInfoHandler);
router.get(ApiEndpointsV1.TIME_SKEW_ROUTE)
.handler(timeSkewHandler);
router.get(ApiEndpointsV1.NODE_SETTINGS_ROUTE)
.handler(nodeSettingsHandler);
return router;
}