private Callback<Page<NamedBlobRecord>> listBlobsCallback() {
      return buildCallback(frontendMetrics.listDbLookupMetrics, page -> {
        ReadableStreamChannel channel =
            serializeJsonToChannel(page.toJson(record -> new NamedBlobListEntry(record).toJson()));
        restResponseChannel.setHeader(RestUtils.Headers.DATE, new GregorianCalendar().getTime());
        restResponseChannel.setHeader(RestUtils.Headers.CONTENT_TYPE, RestUtils.JSON_CONTENT_TYPE);
        restResponseChannel.setHeader(RestUtils.Headers.CONTENT_LENGTH, channel.getSize());
        finalCallback.onCompletion(channel, null);
      }, uri, LOGGER, finalCallback);
    }
After {@link NamedBlobDb#list} finishes, serialize the result to JSON and send the response.
@return a {@link Callback} to be used with {@link NamedBlobDb#list}.
ambry-frontend/src/main/java/com/github/ambry/frontend/NamedBlobListHandler.java