private Callback<Void> securityPostProcessRequestCallback() {
      return buildCallback(frontendMetrics.postDatasetsSecurityPostProcessRequestMetrics, bytesRead -> {
        ReadableStreamChannel outputChannel;
        logger.debug("Got request for {} with payload", ACCOUNTS_CONTAINERS_DATASETS);
        addOrUpdateDataset();
        outputChannel = new ByteBufferReadableStreamChannel(ByteBuffer.allocate(0));
        restResponseChannel.setHeader(RestUtils.Headers.DATE, new GregorianCalendar().getTime());
        restResponseChannel.setHeader(RestUtils.Headers.CONTENT_TYPE, RestUtils.JSON_CONTENT_TYPE);
        restResponseChannel.setHeader(RestUtils.Headers.CONTENT_LENGTH, outputChannel.getSize());
        finalCallback.onCompletion(outputChannel, null);
      }, uri, logger, finalCallback);
    }
After {@link SecurityService#postProcessRequest} finishes, add or update the dataset.
@return a {@link Callback} to be used with {@link SecurityService#postProcessRequest}.
ambry-frontend/src/main/java/com/github/ambry/frontend/PostDatasetsHandler.java