У меня запущен экземпляр Wiremock, как в примере ниже:
java -jar wiremock-standalone-2.19.0.jar --port=8080 --root-dir="/data" --proxy-all="https://api.github.com" --verbose
Теперь, когда я начинаю запись для домена https://api.github.com
на локальном хосте: 8080 / __ admin / рекордер / и запрашиваю прокси-URL, подобный этому
https://api.github.com/repos/MyOrganisationName/MyRepoName/contents/
Я получаю следующий ответ:
[
{
"name": "a-file-in-my-repo.md",
"path": "content/articles/a-file-in-my-repo.md",
"sha": "e69de29bb2d1d6434b8b29ae775ad8c2e48c5391",
"size": 0,
"url": "https://api.github.com/repos/MyOrganisationName/MyRepoName/contents/content/articles/a-file-in-my-repo.md?ref=develop",
"html_url": "https://github.com/MyOrganisationName/MyRepoName/blob/develop/content/articles/a-file-in-my-repo.md",
"git_url": "https://api.github.com/repos/MyOrganisationName/MyRepoName/git/blobs/e69de29bb2d1d6434b8b29ae775ad8c2e48c5391",
"download_url": "https://raw.githubusercontent.com/MyOrganisationName/MyRepoName/develop/content/articles/a-file-in-my-repo.md",
"type": "file",
"_links": {
"self": "https://api.github.com/repos/MyOrganisationName/MyRepoName/contents/content/articles/a-file-in-my-repo.md?ref=develop",
"git": "https://api.github.com/repos/MyOrganisationName/MyRepoName/git/blobs/e69de29bb2d1d6434b8b29ae775ad8c2e48c5391",
"html": "https://github.com/MyOrganisationName/MyRepoName/blob/develop/content/articles/a-file-in-my-repo.md"
}
}
]
Сейчас «проблема» состоит в том, что я хочу следовать этим URL-адресам, например, https://api.github.com/repos/MyOrganisationName/MyRepoName/contents/content/articles/a-file-in-my-repo.md?ref=develop
- но тогда запрос выполняется непосредственно против API github, а не через мой настроенный прокси Wiremock.
Так что мне нужна некоторая функциональность перезаписи / замены (на уровне wiremock), которая переписывает соответствие URL https://api.github.com в http://localhost:8080 перед сохранением записи, чтобы я получил ответ, как показано ниже:
[
{
"name": "a-file-in-my-repo.md",
"path": "content/articles/a-file-in-my-repo.md",
"sha": "e69de29bb2d1d6434b8b29ae775ad8c2e48c5391",
"size": 0,
"url": "http://localhost:8080/repos/MyOrganisationName/MyRepoName/contents/content/articles/a-file-in-my-repo.md?ref=develop",
"html_url": "https://github.com/MyOrganisationName/MyRepoName/blob/develop/content/articles/a-file-in-my-repo.md",
"git_url": "http://localhost:8080/repos/MyOrganisationName/MyRepoName/git/blobs/e69de29bb2d1d6434b8b29ae775ad8c2e48c5391",
"download_url": "https://raw.githubusercontent.com/MyOrganisationName/MyRepoName/develop/content/articles/a-file-in-my-repo.md",
"type": "file",
"_links": {
"self": "http://localhost:8080/repos/MyOrganisationName/MyRepoName/contents/content/articles/a-file-in-my-repo.md?ref=develop",
"git": "http://localhost:8080/repos/MyOrganisationName/MyRepoName/git/blobs/e69de29bb2d1d6434b8b29ae775ad8c2e48c5391",
"html": "https://github.com/MyOrganisationName/MyRepoName/blob/develop/content/articles/a-file-in-my-repo.md"
}
}
]
Возможно ли это как-то без ручной замены и перезапуска каждый раз?
Заранее спасибо