Kommentar
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
Skriver om begäranden.
Konfigurationsexempel
{
"$schema": "https://raw.githubusercontent.com/dotnet/dev-proxy/main/schemas/v4.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/v4.0.0/rewriteplugin.schema.json",
"rewritesFile": "rewrites.json"
}
}
Konfigurationsegenskaper
| Fastighet | beskrivning | Standard |
|---|---|---|
rewritesFile |
Sökväg till filen som innehåller omskrivningsdefinitioner | rewrites.json |
Kommandoradsalternativ
Ingen
Skriva om filexempel
Här följer exempel på omskrivningsregler.
Skriv om alla begäranden från HTTP till HTTPS
Skriv om alla begäranden från HTTP till HTTPS. I det här sammanhanget innebär alla begäranden som konfigurerats med Dev Proxy eller RewritePlugin.
{
"$schema": "https://raw.githubusercontent.com/dotnet/dev-proxy/main/schemas/v4.0.0/rewriteplugin.rewritesfile.schema.json",
"rewrites": [
{
"in": {
"url": "^http://(.*)"
},
"out": {
"url": "https://$1"
}
}
]
}
Ange ett begärandehuvud
Accept-Language Ange rubriken för alla begäranden till https://api.contoso.com. Om begäran redan har huvudet ersätter plugin-programmet dess värde. Om rubriken saknas lägger plugin-programmet till det. Eftersom regeln inte anger någon utgående URL ändrar plugin-programmet inte begärande-URL:en.
{
"$schema": "https://raw.githubusercontent.com/dotnet/dev-proxy/main/schemas/v4.0.0/rewriteplugin.rewritesfile.schema.json",
"rewrites": [
{
"in": {
"url": "^https://api\\.contoso\\.com/"
},
"out": {
"headers": [
{
"name": "Accept-Language",
"value": "nl-NL"
}
]
}
}
]
}
Skriva om begäranden till en URL från en miljövariabel
Skriv om begäranden till https://api.contoso.com den bas-URL som lagras i API_BASE_URL miljövariabeln, vilket bevarar resten av sökvägen.
{
"$schema": "https://raw.githubusercontent.com/dotnet/dev-proxy/main/schemas/v4.0.0/rewriteplugin.rewritesfile.schema.json",
"rewrites": [
{
"in": {
"url": "^https://api\\.contoso\\.com/(.*)"
},
"out": {
"url": "${env:API_BASE_URL}/$1"
}
}
]
}
Simulerar filegenskaper
| Fastighet | beskrivning | Obligatoriskt |
|---|---|---|
rewrites |
Matris med omskrivningsobjekt som definierar listan över omskrivningsregler som omskrivningspluggen gäller för de begäranden som den fångar upp | ja |
Skriv om objekt
Varje omskrivningsregel har följande egenskaper:
| Fastighet | beskrivning | Obligatoriskt |
|---|---|---|
in |
Skriv om mönstret för att matcha den inkommande begäran. | ja |
out |
Skriv om mönstret för att skriva om begäran | ja |
Kommentarer
Om begäran som RewritePlugin fångar upp matchar inte alla egenskaper som definierats i in-mönstret tillämpar plugin-programmet inte omskrivningsregeln på begäran.
Skriv om mönster
Varje omskrivningsmönster har följande egenskaper:
| Fastighet | beskrivning | Obligatoriskt | Standardvärde | Exempelvärde |
|---|---|---|---|---|
url |
I in-mönstret , reguljärt uttryck som plugin-programmet gäller för URL:en. I utmönstret skriver du om den url som begäran ska skrivas om till. Om du utelämnar det i utmönstret ändrar plugin-programmet inte url:en för begäran. | Ja in, nej in ut | ^http://(.*) |
|
headers |
Matris med begärandehuvuden som ska anges för begäran. Stöds endast i utmönstret . | no |
Kommentarer
Utmönstret måste ange url, headerseller båda.
Om du använder avbildningsgrupper i det reguljära uttrycket i in-mönstren kan du referera till dem i ut-mönstret. Om du till exempel vill skriva om http://example.com/foo till https://example.com/fookan du använda följande omskrivningsregel:
{
"$schema": "https://raw.githubusercontent.com/dotnet/dev-proxy/main/schemas/v4.0.0/rewriteplugin.rewritesfile.schema.json",
"rewrites": [
{
"in": {
"url": "^http://(.*)"
},
"out": {
"url": "https://$1"
}
}
]
}
I ut-URL:en kan du referera till miljövariabler med hjälp av syntaxen.${env:VAR_NAME} Dev Proxy infogar värdet för miljövariabeln as-is, så att värdet även kan referera till insamlingsgrupper från in-mönstret . Dev Proxy löser endast miljövariabler för begäranden som matchar in-mönstret och expanderar inte miljövariabler i in-mönstret . Om en refererad miljövariabel inte har angetts loggar Dev Proxy ett fel och hoppar över omskrivningsregeln.
Förfrågningshuvudrad
Varje begärandehuvud har följande egenskaper:
| Fastighet | beskrivning | Obligatoriskt |
|---|---|---|
name |
Namnet på begärandehuvudet | ja |
value |
Värde som ska anges för begärandehuvudet | ja |
Kommentarer
Plugin-programmet matchar skiftlägeskänsliga huvudnamn. Om begäran redan har huvudet ersätter plugin-programmet dess värde. Om rubriken saknas lägger plugin-programmet till det.
Plugin-programmet anger endast rubriker för begäranden vars URL matchar url-mönstret . Plugin-programmet utvärderar matchningen innan den tillämpar URL-omskrivningen av samma regel, så när en regel skriver om både URL:en och rubrikerna gäller rubrikerna för samma begäranden som URL-omskrivningen.
Du kan referera till miljövariabler i rubrikvärden med hjälp av syntaxen ${env:VAR_NAME} . Dev Proxy löser dem på samma sätt som i ut-URL :en och hoppar över omskrivningsregeln om en refererad miljövariabel inte har angetts. Rubrikvärden stöder inte insamlingsgrupper från in-mönstret .