Как настроить автономный сервер Wiremock под путем приложения - PullRequest
1 голос
/ 09 апреля 2020

Я пытаюсь настроить wiremock под путем к приложению.

У меня есть док-станция для wiremock, работающая по некоторому пути https://local.wiremock/, и это прекрасно работает, поэтому я могу получить доступ к администратору следующим образом https://local.wiremock/__admin/docs

Однако при развертывании на aws он должен находиться под следующим путем: https://aws-server.wiremock/simulator/__admin/docs

И добавление пути приложения /simulator нарушает все.

Поэтому я хочу настроить его локально, чтобы он работал под: https://local.wiremock/simulator/__admin/docs

Я просматривал документацию, и там нет ничего для конфигурации автономного сервера. Есть поле mappedUnder xml, которое может быть полезно, но его нельзя установить с помощью docker.

Есть идеи, как этого добиться?

1 Ответ

0 голосов
/ 14 апреля 2020

Я думаю, вы могли бы сделать это, добавив Request Wrapper . Идея, лежащая в основе обертки запроса, заключается в том, что она перехватывает запрос и позволяет вам изменить его перед отправкой запроса. Я думаю, что ваше решение будет выглядеть примерно так ...

public static class removeSimulatorPath extends StubRequestFilter {

    @Override
    public RequestFilterAction filter(Request request) {
        Request wrappedRequest = RequestWrapper.create()
                // lambda to replace the current URL with one without `/simulator`
                .transformAbsoluteUrl(url -> url.replace("/simulator", "")
                .wrap(request);

        return RequestFilterAction.continueWith(wrappedRequest);
    }

    @Override
    public String getName() {
        return "remove-simulator-path";
    }
}
...