Megosztás:


RewritePlugin

Írja át a kéréseket.

Képernyőkép egy parancssorról, amelyen a Dev Proxy újraír egy bejövő API-kérést.

Beépülő modulpéldány definíciója

{
  "name": "RewritePlugin",
  "enabled": true,
  "pluginPath": "~appFolder/plugins/DevProxy.Plugins.dll",
  "configSection": "rewritePlugin"
}

Példa konfigurációra

{
  "rewritePlugin": {
    "$schema": "https://raw.githubusercontent.com/dotnet/dev-proxy/main/schemas/v1.0.0/rewriteplugin.schema.json",
    "rewritesFile": "rewrites.json"
  }
}

Konfigurációs tulajdonságok

Tulajdonság Leírás Alapértelmezett
rewritesFile Az újraírási definíciókat tartalmazó fájl elérési útja rewrites.json

Parancssori beállítások

Egyik sem

Példák átírása fájlra

Az alábbiakban példákat láthat a szabályok újraírására.

Az összes kérés átírása HTTP-ről HTTPS-re

Írja át a HTTP-ről a HTTPS-re irányuló összes kérést. Ebben a kontextusban minden a Dev Proxyval vagy a RewritePluginnel konfigurált összes kérést jelenti.

{
  "$schema": "https://raw.githubusercontent.com/dotnet/dev-proxy/main/schemas/v1.0.0/rewriteplugin.rewritesfile.schema.json",
  "rewrites": [
    {
      "in": {
        "url": "^http://(.*)"
      },
      "out": {
        "url": "https://$1"
      }
    }
  ]
}

Fájltulajdonságok szimulálása

Tulajdonság Leírás Kötelező
rewrites Újraírási objektumok tömbje , amelyek meghatározzák az átírási szabályok listáját, amelyeket a RewritePlugin az általa elfogott kérelmekre alkalmaz igen

Objektum újraírása

Minden átírási szabály a következő tulajdonságokkal rendelkezik:

Tulajdonság Leírás Kötelező
in Írja át a mintát a bejövő kérésnek megfelelően. igen
out Minta átírása a kérés újraírásához igen

Megjegyzések

Ha az Újraírásplugin elfogására irányuló kérés nem felel meg a mintában definiált összes tulajdonságnak, a beépülő modul nem alkalmazza az újraírási szabályt a kérelemre.

Minta újraírása

Minden újraírási minta a következő tulajdonságokkal rendelkezik:

Tulajdonság Leírás Kötelező Alapértelmezett érték Mintaérték
url Reguláris kifejezés, amelyet a beépülő modul az URL-címre alkalmaz. igen ^http://(.*)

Megjegyzések

Ha rögzített csoportokat használ a reguláris kifejezésben a mintákban , hivatkozhat rájuk a kimenő mintában. Ha például át szeretné írni http://example.com/foohttps://example.com/foo, a következő átírási szabályt használhatja:

{
  "$schema": "https://raw.githubusercontent.com/dotnet/dev-proxy/main/schemas/v1.0.0/rewriteplugin.rewritesfile.schema.json",
  "rewrites": [
    {
      "in": {
        "url": "^http://(.*)"
      },
      "out": {
        "url": "https://$1"
      }
    }
  ]
}