Bagikan melalui


Tulis Ulang Plugin

Menulis ulang permintaan.

Cuplikan layar prompt perintah dengan Dev Proxy menulis ulang permintaan API masuk.

Contoh konfigurasi

{
  "$schema": "https://raw.githubusercontent.com/dotnet/dev-proxy/main/schemas/v2.0.0/rc.schema.json",
  "plugins": [
    {
      "name": "RewritePlugin",
      "enabled": true,
      "pluginPath": "~appFolder/plugins/DevProxy.Plugins.dll",
      "configSection": "rewritePlugin"
    }
  ],
  "rewritePlugin": {
    "$schema": "https://raw.githubusercontent.com/dotnet/dev-proxy/main/schemas/v2.0.0/rewriteplugin.schema.json",
    "rewritesFile": "rewrites.json"
  }
}

Properti konfigurasi

Properti Deskripsi Bawaan
rewritesFile Jalur ke file yang berisi definisi penulisan ulang rewrites.json

Opsi baris Perintah

Tidak

Contoh refrite file

Berikut ini adalah contoh aturan penulisan ulang.

Menulis ulang semua permintaan dari HTTP ke HTTPS

Tulis ulang semua permintaan dari HTTP ke HTTPS. Dalam konteks ini, semua berarti semua permintaan yang dikonfigurasi dengan Dev Proxy atau RewritePlugin.

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

Properti file tiruan

Properti Deskripsi Wajib diisi
rewrites Array objek penulisan ulang yang menentukan daftar aturan penulisan ulang yang diterapkan RewritePlugin untuk permintaan yang disadapnya Ya

Menulis ulang objek

Setiap aturan penulisan ulang memiliki properti berikut:

Properti Deskripsi Wajib diisi
in Tulis ulang pola agar sesuai dengan permintaan masuk. Ya
out Menulis ulang pola untuk menulis ulang permintaan Ya

Keterangan

Jika permintaan yang disadap RewritePlugin, tidak cocok dengan semua properti yang ditentukan dalam pola, plugin tidak menerapkan aturan penulisan ulang ke permintaan.

Pola penulisan ulang

Setiap pola penulisan ulang memiliki properti berikut:

Properti Deskripsi Wajib diisi Nilai default Sampel nilai
url Ekspresi reguler yang diterapkan plugin ke URL. Ya ^http://(.*)

Keterangan

Jika Anda menggunakan grup pengambilan dalam ekspresi reguler dalam pola, Anda dapat merujuknya dalam pola keluar. Misalnya, jika Anda ingin menulis http://example.com/foo ulang ke https://example.com/foo, Anda bisa menggunakan aturan penulisan ulang berikut:

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