Condividi tramite


Intercettare le richieste con intestazioni specifiche

Per impostazione predefinita, Dev Proxy intercetta tutte le richieste che corrispondono agli URL configurati nel file di devproxyrc.json . Quando si desidera intercettare solo richieste specifiche, ad esempio le richieste inviate da un componente specifico, è possibile configurare Dev Proxy per intercettare le richieste con intestazioni specifiche.

Per intercettare le richieste con intestazioni specifiche, nel devproxyrc.json file aggiungere la filterByHeaders proprietà . Nella proprietà filterByHeaders, specifica le intestazioni che vuoi usare per filtrare le richieste. Per ogni intestazione, specificare il valore che l'intestazione deve contenere per consentire a Dev Proxy di intercettare la richiesta. Se si lascia vuoto il valore, Dev Proxy intercetta le richieste che contengono l'intestazione specificata, indipendentemente dal relativo valore.

Esempio: Intercettare le richieste con un'intestazione e un valore specifici

L'esempio seguente illustra come configurare Dev Proxy per intercettare le richieste che contengono l'intestazione x-app con un valore che contiene contoso-intranet:

{
  "$schema": "https://raw.githubusercontent.com/dotnet/dev-proxy/main/schemas/v1.0.0/rc.schema.json",
  "plugins": [
    // [...] trimmed for brevity
  ],
  "filterByHeaders": [
    {
      "name": "x-app",
      "value": "contoso-intranet"
    }
  ]
}

Usando questa configurazione, Dev Proxy intercetta le richieste che contengono l'intestazione x-app con il valore contoso-intranet, ad esempio:

GET https://api.contoso.com/customers
x-app: contoso-intranet

Dev Proxy intercetta anche le richieste che corrispondono parzialmente al valore specificato, ad esempio:

GET https://api.contoso.com/customers
x-app: contoso-intranet-search

Dev Proxy non intercetta la richiesta seguente perché il valore dell'intestazione x-app non contiene contoso-intranet:

GET https://api.contoso.com/customers
x-app: contoso-public

La corrispondenza parziale è utile e consente di intercettare le richieste con valori soggetti a cambiamenti nel tempo, ad esempio la versione di un componente o dell'SDK.

Esempio: Intercettare le richieste con un'intestazione specifica indipendentemente dal valore

Per intercettare le richieste che contengono un'intestazione specifica, indipendentemente dal relativo valore, lasciare vuoto il valore:

{
  "$schema": "https://raw.githubusercontent.com/dotnet/dev-proxy/main/schemas/v1.0.0/rc.schema.json",
  "plugins": [
    // [...] trimmed for brevity
  ],
  "filterByHeaders": [
    {
      "name": "x-contoso",
      "value": ""
    }
  ]
}

Usando questa configurazione, Dev Proxy intercetta le richieste che contengono l'intestazione x-contoso , indipendentemente dal relativo valore:

GET https://api.contoso.com/customers
x-contoso: api-sdk v1.0

Oppure:

GET https://api.contoso.com/customers
x-contoso: intranet

Dev Proxy non intercetta la richiesta seguente perché non ha l'intestazione x-contoso :

GET https://api.contoso.com/customers
x-app: contoso-public