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.
Ett plugin-program är en .NET-klass registrerad med Dev Proxy som introducerar ett specifikt Dev Proxy-beteende. Ett plugin-program kan ge vägledning i realtid om API-användning, simulera API-beteende, analysera flera API-begäranden eller skapa en rapport. Dev Proxy har fyra typer av plugin-program:
- avlyssna plugin-program som fångar upp HTTP-begäranden och svar och kan analysera och ändra dem
- STDIO-plugin-program som fångar upp stdin/stdout/stderr-kommunikation med lokala körbara filer
- rapportering av plugin-program som körs på begäranden registreras av Dev Proxy
- reportrar som genererar rapporter baserat på data som samlas in av rapportinsticksprogram
Du registrerar plugin-program i devproxyrc.json-filen. Filen innehåller en lista över plugin-program som ska läsas in och deras konfiguration.
Dev Proxy levereras med en samling plugin-program och du kan skapa anpassade plugin-program för att utöka Dev Proxy-funktionerna så att de passar dina behov.
När Dev Proxy startar läser den in plugin-program som är aktiverade i konfigurationsfilen. Beroende på vilka plugin-program du aktiverar kan Dev Proxy ge vägledning, simulera API-beteende eller analysera API-begäranden. I följande avsnitt förklaras hur de olika typerna av plugin-program fungerar.
Fånga upp plugin-program
När Dev Proxy fångar upp en begäran som matchar en av URL:erna i den urlsToWatch matrisen anropas varje plugin-program som fångas upp i den ordning de anges i konfigurationsfilen. Varje plugin-program för avlyssning ärver från BasePlugin klassen och kan åsidosätta följande metoder:
-
BeforeRequestAsync– anropas när Dev Proxy fångar upp en begäran -
BeforeResponseAsync– anropas när Dev Proxy tar emot ett svar från servern -
AfterResponseAsync– anropas när Dev Proxy skickar svaret till klienten
I varje metod åsidosättning kan plugin-programmet analysera begäran och svaret och ändra det om det behövs. Den kan också mata ut vägledningsmeddelanden. Mer information om vad som är möjligt finns i kod för plugin-program som tillhandahålls med Dev Proxy.
STDIO-plugin-program
När du använder stdio kommandot proxyproxy för Dev Proxy STDIN/STDOUT/STDERR-kommunikation med lokala körbara filer. Proxying STDIO är användbart för att testa och felsöka MCP-servrar (Model Context Protocol) och andra STDIO-baserade program.
STDIO-plugin-program implementerar IStdioPlugin gränssnittet och kan prenumerera på följande händelser:
-
BeforeStdinAsync- upphöjts innan STDIN vidarebefordras till den underordnade processen -
AfterStdoutAsync- upphöjt efter att ha fått STDOUT från den underordnade processen -
AfterStderrAsync- upphöjt efter att ha fått STDERR från den underordnade processen -
AfterStdioRequestLogAsync– upphöjt till att logga och registrera STDIO-begäran/svarspar -
AfterStdioRecordingStopAsync– upphöjt när sessionen slutar bearbeta inspelningar
Plugin-program kan ändra, använda eller håna meddelanden genom att ange ResponseState.HasBeenSet = true. Följande plugin-program stöder STDIO-avlyssning:
- MockStdioResponsePlugin – mock STDIN/STDOUT/STDERR-svar
- DevToolsPlugin – inspektera STDIO-trafik i Chrome DevTools
- LatencyPlugin – lägg till artificiell svarstid i STDIO-kommunikation
Rapportering av plugin-program
Med Dev Proxy kan du registrera API-begäranden och svar. Du använder vanligtvis inspelning för att rapportera om API-användning eller analysera flera API-begäranden. Rapporterings-plugin-program ärver från BaseReportingPlugin klassen och åsidosätter AfterRecordingStopAsync metoden.
När du slutar spela in anropar Dev Proxy metoden för AfterRecordingStopAsync varje plugin-program och skickar listan över inspelade begäranden och svar som ett argument. Rapportinsticksprogram kan sedan analysera inspelade data och generera ett rapportobjekt. Ett rapportobjekt är ett godtyckligt objekt som definieras av plugin-programmet för rapportering. Rapportinsticksprogram lagrar rapporterna genom att anropa metoden StoreReport.
Viktig
Rapportinsticksprogram genererar rapportobjekt som Dev Proxy lagrar i minnet. Om du vill konvertera dessa rapportobjekt till användarläsbara rapporter måste du aktivera en eller flera reportrar i dev proxy-konfigurationsfilen.
Reportrar
Dev Proxy använder reportrar för att konvertera rapportobjekt som genereras av rapportering av plugin-program till användarläsbara rapporter. Till exempel konverterar MarkdownReporter ett rapportobjekt till en Markdown-fil. Reportrar är särskilda plugin-program som ärver från klassen BaseReporter. De implementerar metoden GetReport, som tar som argument en rapport som skapats av ett rapport-plugin-program och konverterar den till en sträng. Den här strängen sparas sedan på disken enligt PluginName_ReporterName.ReporterExtension mönster, till exempel: ApiCenterOnboardingPlugin_MarkdownReporter.md.
Viktig
Eftersom reportrar är beroende av de rapportobjekt som genereras av rapport-plugin-program måste du aktivera reportrar i dev proxy-konfigurationsfilen efter rapportering av plugin-program. Om du aktiverar dem innan du rapporterar plugin-program har reportrar inga data att rapportera om.