Forward to Another Service
In some cases, we may need to forward all or some of the requests to a real backend somewhere outside of MockMotor.
It may be required for:
Adding a new response before it is actually ready on the real backend Replacing some of the real responses with mocked ones to test special scenarios Recording the traffic in the execution log for later mocking
The forwarding is not performed on mock service level. Instead, each of responses can be configured separately to forward its request, or to respond with a mock. Different responses can even be forwarded to different services, if required.
Forward URL
To forward a response, simply provide the forward URL:
No other values are required. The HTTP request will be forwarded to the backend as-is, including all the HTTP headers except those that can
be different for MockMotor-backend communications. Currently, MockMotor replaces Host
, Connection
, User-Agent
, Content-Length
and Accept-Encoding
headers.
Relative URL
The part of the request URL after the mock service base URL is the relative URL. It is appended to the forward URL before calling the backend service. That includes the relative path and the query parameters.
Suppose we have a mock service with URL http://mm/CRM/refs
that forwards requests to https://192.168.222.11/rfrcrm
Then:
Request to MockMotor | Request to Backend |
---|---|
http://mm/CRM/refs/acc/27114 | https://192.168.222.11/rfrcrm/acc/27114 |
http://mm/CRM/refs?q=27114 | https://192.168.222.11/rfrcrm?q=27114 |
Limitations
The response cannot modify the response received from the backend (for example, to add a field to mock a future update). This is planned for a future version.
Forwarding to backends with two-way SSL is not supported - MockMotor cannot yet present a client certificate.
Forward & Record the Response
When the Record Response As Mock
is enabled, the response from the forward is not only sent back to the consumer but also recorded as a fully configured mock response.
See Recording for more details.