@Override
public void isSegmentValid(SegmentId request,
StreamObserver<SegmentValidityResponse> responseObserver) {
log.info("isSegmentValid called for segment {}/{}/{}.", request.getStreamInfo().getScope(),
request.getStreamInfo().getStream(), request.getSegmentId());
authenticateExecuteAndProcessResults(() -> this.authHelper.checkAuthorization(request.getStreamInfo().getScope() + "/" +
request.getStreamInfo().getStream(), AuthHandler.Permissions.READ_UPDATE),
delegationToken -> controllerService.isSegmentValid(request.getStreamInfo().getScope(),
request.getStreamInfo().getStream(),
request.getSegmentId())
.thenApply(bRes -> SegmentValidityResponse.newBuilder().setResponse(bRes).build()),
responseObserver);
}