Condividi tramite


RiscriverePlugin

Riscrive le richieste.

Screenshot di un prompt dei comandi con Dev Proxy che riscrive una richiesta API in ingresso.

Definizione dell'istanza del plug-in

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

Esempio di configurazione

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

Proprietà di configurazione

Proprietà Descrizione Valore predefinito
rewritesFile Percorso del file contenente definizioni di riscrittura rewrites.json

Opzioni della riga di comando

Nessuno

Esempi di file di riscrittura

Di seguito sono riportati esempi di regole di riscrittura.

Riscrivere tutte le richieste da HTTP a HTTPS

Riscrivere tutte le richieste da HTTP a HTTPS. In questo contesto, tutte le richieste configurate con Dev Proxy o RewritePlugin.

{
  "$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"
      }
    }
  ]
}

Simula le proprietà del file

Proprietà Descrizione Richiesto
rewrites Matrice di oggetti di riscrittura che definisce l'elenco di regole di riscrittura applicabili a RewritePlugin alle richieste intercettate

Riscrivere l'oggetto

Ogni regola di riscrittura ha le proprietà seguenti:

Proprietà Descrizione Richiesto
in Riscrivere il modello in modo che corrisponda alla richiesta in ingresso.
out Riscrivere il modello per riscrivere la richiesta

Osservazioni:

Se la richiesta intercetta RewritePlugin, non corrisponde a tutte le proprietà definite nel modello in , il plug-in non applica la regola di riscrittura alla richiesta.

Riscrivere il modello

Ogni criterio di riscrittura ha le proprietà seguenti:

Proprietà Descrizione Richiesto Valore predefinito Valore di esempio
url Espressione regolare applicata dal plug-in all'URL. ^http://(.*)

Osservazioni:

Se si usano gruppi di acquisizione nell'espressione regolare nei modelli, è possibile farvi riferimento nel modello out. Ad esempio, se si vuole riscrivere in http://example.com/foo, è possibile usare la regola di riscrittura https://example.com/foo seguente:

{
  "$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"
      }
    }
  ]
}