
tddmonkey.reactoraws.common.AmazonWebServiceRequestAsyncHandler Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of reactor-aws-common Show documentation
Show all versions of reactor-aws-common Show documentation
Spring Reactor Wrapper around AWS Client
The newest version!
package tddmonkey.reactoraws.common;
import com.amazonaws.AmazonWebServiceRequest;
import com.amazonaws.handlers.AsyncHandler;
import reactor.core.publisher.MonoSink;
public class AmazonWebServiceRequestAsyncHandler implements AsyncHandler {
private final MonoSink super RS> subscriber;
private boolean shouldEmitValue;
private AmazonWebServiceRequestAsyncHandler(MonoSink super RS> subscriber, boolean shouldEmitValue) {
this.subscriber = subscriber;
this.shouldEmitValue = shouldEmitValue;
}
@Override
public void onError(Exception exception) {
subscriber.error(exception);
}
@Override
public void onSuccess(RQ request, RS response) {
if (shouldEmitValue) {
subscriber.success(response);
} else {
subscriber.success();
}
}
public static AsyncHandler valueEmittingHandlerFor(final MonoSink super RS> subscriber) {
return new AmazonWebServiceRequestAsyncHandler<>(subscriber, true);
}
public static AsyncHandler voidHandlerFor(MonoSink super Void> subscriber) {
return new AmazonWebServiceRequestAsyncHandler<>(subscriber, false);
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy