Поделиться через


ПерезаписьPlugin

Перезаписывает запросы.

Снимок экрана: командная строка с прокси-сервером разработки, перезаписающая входящий запрос API.

Определение экземпляра подключаемого модуля

{
  "name": "RewritePlugin",
  "enabled": true,
  "pluginPath": "~appFolder/plugins/dev-proxy-plugins.dll",
  "configSection": "rewritePlugin"
}

Пример конфигурации

{
  "rewritePlugin": {
    "rewritesFile": "rewrites.json"
  }
}

Свойства конфигурации

Свойство Description По умолч.
rewritesFile Путь к файлу с определениями перезаписи rewrites.json

Параметры командной строки

нет

Примеры переопределения файлов

Ниже приведены примеры правил перезаписи.

Перезапись всех запросов из HTTP в HTTPS

Перезапись всех запросов из HTTP в HTTPS. В этом контексте все запросы, настроенные с помощью прокси-сервера разработки или перезаписиPlugin.

{
  "rewrites": [
    {
      "in": {
        "url": "^http://(.*)"
      },
      "out": {
        "url": "https://$1"
      }
    }
  ]
}

Макеты свойств файла

Свойство Описание: Обязательное поле
rewrites Массив объектов перезаписи, определяющих список правил перезаписи, применимых к запросам, которые он перехватывает. yes

Переопределение объекта

Каждое правило перезаписи имеет следующие свойства:

Свойство Описание: Обязательное поле
in Переопределите шаблон для сопоставления входящего запроса. yes
out Перезапись шаблона для перезаписи запроса yes

Замечания

Если запрос, перехватываемый ПереопределениемPlugin, не соответствует всем свойствам, определенным в шаблоне, подключаемый модуль не применяет правило перезаписи к запросу.

Шаблон перезаписи

Каждый шаблон перезаписи имеет следующие свойства:

Свойство Описание: Обязательное поле Default value Пример значения
url Регулярное выражение, которое подключаемый модуль применяется к URL-адресу. yes ^http://(.*)

Замечания

Если вы используете группы записи в регулярном выражении в шаблонах, вы можете ссылаться на них в шаблоне. Например, если вы хотите переписать, можно использовать следующее правило перезаписи http://example.com/foo https://example.com/foo:

{
  "in": {
    "url": "^http://(.*)"
  },
  "out": {
    "url": "https://$1"
  }
}