Aracılığıyla paylaş


Yeniden YazPlugin

İstekleri yeniden yazar.

Gelen API isteğini yeniden yazan Dev Proxy ile komut isteminin ekran görüntüsü.

Eklenti örneği tanımı

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

Yapılandırma örneği

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

Yapılandırma özellikleri

Özellik Açıklama Varsayılan
rewritesFile Yeniden yazma tanımlarını içeren dosyanın yolu rewrites.json

Komut satırı seçenekleri

Hiçbiri

Dosya örneklerini yeniden yazma

Aşağıda yeniden yazma kuralları örnekleri verilmiştir.

HTTP'den HTTPS'ye tüm istekleri yeniden yazma

HTTP'den HTTPS'ye tüm istekleri yeniden yazın. Bu bağlamda, tüm isteklerin Dev Proxy veya RewritePlugin ile yapılandırıldığı anlamına gelir.

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

Sahte dosya özellikleri

Özellik Açıklama Gerekli
rewrites RewritePlugin'in kestiği isteklere uyguladığı yeniden yazma kurallarının listesini tanımlayan yeniden yazma nesneleri dizisi evet

Nesneyi yeniden yazma

Her yeniden yazma kuralı aşağıdaki özelliklere sahiptir:

Özellik Açıklama Gerekli
in Gelen istekle eşleşecek şekilde deseni yeniden yaz. evet
out İsteği yeniden yazmak için deseni yeniden yazma evet

Açıklamalar

RewritePlugin'in kestiği istek, desende tanımlanan tüm özelliklerle eşleşmiyorsa, eklenti isteğe yeniden yazma kuralını uygulamaz.

Deseni yeniden yazma

Her yeniden yazma düzeni aşağıdaki özelliklere sahiptir:

Özellik Açıklama Gerekli Varsayılan değer Örnek değer
url Eklentinin URL için geçerli olduğu normal ifade. evet ^http://(.*)

Açıklamalar

Desenlerde normal ifadede yakalama grupları kullanıyorsanız, bunlara dış desende başvurabilirsiniz. Örneğin, öğesine yeniden yazmak http://example.com/foohttps://example.com/fooistiyorsanız, aşağıdaki yeniden yazma kuralını kullanabilirsiniz:

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