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.