private void updateTenant(final RoutingContext ctx) { final String tenantId = getTenantIdFromContext(ctx); doTenantHttpRequest(ctx, tenantId, TenantConstants.TenantAction.update, status -> status == HttpURLConnection.HTTP_NO_CONTENT, null); }
private String getTenantIdFromContext(final RoutingContext ctx) { final JsonObject payload = ctx.get(KEY_REQUEST_BODY); return Optional.ofNullable(getTenantParam(ctx)).orElse(getTenantParamFromPayload(payload)); }
private void doTenantHttpRequest( final RoutingContext ctx, final String tenantId, final TenantConstants.TenantAction action, final Predicate<Integer> successfulOutcomeFilter, final Handler<HttpServerResponse> httpServerResponseHandler) { logger.debug("http request [{}] for tenant [tenant: {}]", action, tenantId); final JsonObject payload = ctx.get(KEY_REQUEST_BODY); final JsonObject requestMsg = EventBusMessage.forOperation(action.toString()) .setTenant(tenantId) .setJsonPayload(payload) .toJson(); sendAction(ctx, requestMsg, getDefaultResponseHandler(ctx, successfulOutcomeFilter, httpServerResponseHandler)); }
/** * Creates a new instance of an HTTP protocol handler for Hono's <em>Tenant</em> API. * * @return The handler. */ @Bean @Scope("prototype") public TenantHttpEndpoint tenantHttpEndpoint() { return new TenantHttpEndpoint(vertx()); }
private String getTenantIdFromContext(final RoutingContext ctx) { final JsonObject payload = ctx.get(KEY_REQUEST_BODY); return Optional.ofNullable(getTenantParam(ctx)).orElse(getTenantParamFromPayload(payload)); }
private void doTenantHttpRequest( final RoutingContext ctx, final String tenantId, final TenantConstants.TenantAction action, final Predicate<Integer> successfulOutcomeFilter, final Handler<HttpServerResponse> httpServerResponseHandler) { logger.debug("http request [{}] for tenant [tenant: {}]", action, tenantId); final JsonObject payload = ctx.get(KEY_REQUEST_BODY); final JsonObject requestMsg = EventBusMessage.forOperation(action.toString()) .setTenant(tenantId) .setJsonPayload(payload) .toJson(); sendAction(ctx, requestMsg, getDefaultResponseHandler(ctx, successfulOutcomeFilter, httpServerResponseHandler)); }
/** * Creates a new instance of an HTTP protocol handler for Hono's <em>Tenant</em> API. * * @return The handler. */ @Bean @Scope("prototype") public TenantHttpEndpoint tenantHttpEndpoint() { return new TenantHttpEndpoint(vertx()); }
private void removeTenant(final RoutingContext ctx) { final String tenantId = getTenantIdFromContext(ctx); doTenantHttpRequest(ctx, tenantId, TenantConstants.TenantAction.remove, status -> status == HttpURLConnection.HTTP_NO_CONTENT, null); }
private void getTenant(final RoutingContext ctx) { final String tenantId = getTenantIdFromContext(ctx); doTenantHttpRequest(ctx, tenantId, TenantConstants.TenantAction.get, status -> status == HttpURLConnection.HTTP_OK, null); }
private void getTenant(final RoutingContext ctx) { final String tenantId = getTenantIdFromContext(ctx); doTenantHttpRequest(ctx, tenantId, TenantConstants.TenantAction.get, status -> status == HttpURLConnection.HTTP_OK, null); }
private void updateTenant(final RoutingContext ctx) { final String tenantId = getTenantIdFromContext(ctx); doTenantHttpRequest(ctx, tenantId, TenantConstants.TenantAction.update, status -> status == HttpURLConnection.HTTP_NO_CONTENT, null); }
private void removeTenant(final RoutingContext ctx) { final String tenantId = getTenantIdFromContext(ctx); doTenantHttpRequest(ctx, tenantId, TenantConstants.TenantAction.remove, status -> status == HttpURLConnection.HTTP_NO_CONTENT, null); }
private void addTenant(final RoutingContext ctx) { final String tenantId = getTenantIdFromContext(ctx); final String location = String.format("/%s/%s", TenantConstants.TENANT_ENDPOINT, tenantId); doTenantHttpRequest(ctx, tenantId, TenantConstants.TenantAction.add, status -> status == HttpURLConnection.HTTP_CREATED, response -> response.putHeader(HttpHeaders.LOCATION, location) ); }
private void addTenant(final RoutingContext ctx) { final String tenantId = getTenantIdFromContext(ctx); final String location = String.format("/%s/%s", TenantConstants.TENANT_ENDPOINT, tenantId); doTenantHttpRequest(ctx, tenantId, TenantConstants.TenantAction.add, status -> status == HttpURLConnection.HTTP_CREATED, response -> response.putHeader(HttpHeaders.LOCATION, location) ); }