Callback Actions - Java
When mocking a callback in Java use the org.mockserver.model.HttpClassCallback class which specifies the details class to callback as follows, for example:
HttpCallback httpClassCallback = callback("org.some.package.MyCallback");
The full specification of org.mockserver.model.HttpClassCallback is as follows:
public class HttpCallback {
/**
* The class to callback as a fully qualified class name
*
* This calls must:
* - implement org.mockserver.mock.action.ExpectationCallback
* - have a zero argument constructor
* - be available in the classpath of the MockServer
*
* @param callbackClass class to callback as a fully qualified class name, i.e. "com.foo.MyExpectationCallback"
*/
public HttpCallback withCallbackClass(String callbackClass);
}
The class specified must implement the org.mockserver.mock.action.ExpectationCallback interface as follows:
public interface ExpectationCallback {
/**
* Called for every request when expectation condition has been satisfied.
* The request that satisfied the expectation condition is passed as the
* parameter and the return value is the response that will be returned to the client.
*
* @param httpRequest the request that satisfied the expectation condition
* @return the response that will be returned to the client
*/
public HttpResponse handle(HttpRequest httpRequest);
}
Times
The org.mockserver.matchers.Times class is used to specify how many times you want MockServer to match a request:
To create an instance of Times use one of the static factory methods:
Times.unlimited();
Times.once();
Times.exactly(int count);