
com.undefinedlabs.scope.rules.ScopeMockWebServer Maven / Gradle / Ivy
package com.undefinedlabs.scope.rules;
import com.undefinedlabs.scope.logger.ScopeLogger;
import okhttp3.mockwebserver.Dispatcher;
import okhttp3.mockwebserver.MockResponse;
import okhttp3.mockwebserver.MockWebServer;
import okhttp3.mockwebserver.RecordedRequest;
import org.slf4j.Logger;
import java.io.IOException;
public class ScopeMockWebServer {
private static final Logger LOGGER = ScopeLogger.INSTANCE;
private static MockWebServer MOCK_WEB_SERVER;
public static void start() {
try {
MOCK_WEB_SERVER = new MockWebServer();
MOCK_WEB_SERVER.setDispatcher(new Dispatcher() {
@Override
public MockResponse dispatch(RecordedRequest recordedRequest) throws InterruptedException {
LOGGER.debug("Captured request to MockWebServer. RequestURL: {}, Headers: {}", recordedRequest.getRequestUrl(), recordedRequest.getHeaders());
return new MockResponse().setResponseCode(200);
}
});
MOCK_WEB_SERVER.start();
} catch(IOException e){
throw new RuntimeException(e);
}
}
public static String url(final String path) {
return MOCK_WEB_SERVER.url(path).toString();
}
public static void shutdown() {
try {
MOCK_WEB_SERVER.shutdown();
} catch(IOException e){
throw new RuntimeException(e);
}
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy