How to intercept GWT Request Factory on client before call is being made and after response is received?
One can extend DefaultRequestTransport
and intercept send call, at the same time writing a wrapper over TrasnportReceiver
one can intercept response’s. Following is the example.
public class LoaderRequestTransport extends DefaultRequestTransport {
private Loader loader;
public LoaderRequestTransport(Loader loader) {
this.loader = loader;
}
public LoaderRequestTransport() {
this(new Loader(LoaderResources.INSTANCE.communicating()));
}
@Override
public void send(final String payload, final TransportReceiver receiver) {
final TransportReceiver proxy = new TransportReceiver() {
@Override
public void onTransportFailure(final ServerFailure failure) {
loader.hide();
receiver.onTransportFailure(failure);
}
@Override
public void onTransportSuccess(final String payload) {
loader.hide();
receiver.onTransportSuccess(payload);
}
};
loader.show();
super.send(payload, proxy);
}
}
Use this LoaderRequestTransport
MVPRequestFactory requestFactory = GWT.create(MVPRequestFactory.class);
requestFactory.initialize(eventBus, new LoaderRequestTransport());