private void addResources(VertxRegistry registry, Object...objs) { for (Object obj : objs) { registry.addSingletonResource(obj); } }
@Override public void start(Future<Void> startPromise) { VertxResteasyDeployment deployment = new VertxResteasyDeployment(); deployment.start(); deployment.getProviderFactory().registerProvider(DefaultExceptionMapper.class); if (enableRbac) { log.info("Enabling RBAC for REST API"); deployment.getProviderFactory().registerProviderInstance(new AuthInterceptor(authApi, path -> path.startsWith(HttpHealthService.BASE_URI) || path.startsWith(HttpConsoleService.BASE_URI))); } else { log.info("Disabling authentication and authorization for REST API"); deployment.getProviderFactory().registerProviderInstance(new AllowAllAuthInterceptor()); } deployment.getRegistry().addSingletonResource(new HttpHealthService()); deployment.getRegistry().addSingletonResource(new HttpConsoleService(authApi.getNamespace(), addressSpaceApi)); deployment.getRegistry().addSingletonResource(new OSBCatalogService(addressSpaceApi, authApi, schemaProvider)); deployment.getRegistry().addSingletonResource(new OSBProvisioningService(addressSpaceApi, authApi, schemaProvider, consoleProxy)); deployment.getRegistry().addSingletonResource(new OSBBindingService(addressSpaceApi, authApi, schemaProvider, userApi)); deployment.getRegistry().addSingletonResource(new OSBLastOperationService(addressSpaceApi, authApi, schemaProvider)); VertxRequestHandler requestHandler = new VertxRequestHandler(vertx, deployment); httpServer = createServer(requestHandler, startPromise); }
deployment.getRegistry().addSingletonResource(new SwaggerSpecEndpoint()); deployment.getRegistry().addSingletonResource(new HttpOpenApiService()); deployment.getRegistry().addSingletonResource(new HttpNestedAddressService(addressSpaceApi, schemaProvider, clock)); deployment.getRegistry().addSingletonResource(new HttpAddressService(addressSpaceApi, schemaProvider, clock)); deployment.getRegistry().addSingletonResource(new HttpClusterAddressService(addressSpaceApi, schemaProvider, clock)); deployment.getRegistry().addSingletonResource(new HttpSchemaService(schemaProvider)); deployment.getRegistry().addSingletonResource(new HttpAddressSpaceService(addressSpaceApi, schemaProvider, clock)); deployment.getRegistry().addSingletonResource(new HttpClusterAddressSpaceService(addressSpaceApi, clock)); if (userApi != null) { deployment.getRegistry().addSingletonResource(new HttpUserService(addressSpaceApi, userApi, clock)); deployment.getRegistry().addSingletonResource(new HttpClusterUserService(userApi, clock)); } else { log.info("User API not available, disabling"); deployment.getRegistry().addSingletonResource(new HttpHealthService()); deployment.getRegistry().addSingletonResource(new HttpMetricsService(version, metrics)); deployment.getRegistry().addSingletonResource(new HttpRootService()); deployment.getRegistry().addSingletonResource(new HttpApiRootService());