Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Un plug-in è una classe .NET registrata con Dev Proxy che introduce un comportamento specifico del proxy di sviluppo. Un plug-in può offrire indicazioni in tempo reale sull'utilizzo dell'API, simulare il comportamento dell'API, analizzare più richieste API o produrre un report. Dev Proxy ha quattro tipi di plug-in:
- intercettazione di plug-in che intercettano richieste HTTP e risposte e possono analizzarli e modificarli
- Plug-in STDIO che intercettano la comunicazione stdin/stdout/stderr con eseguibili locali
- i plug-in per la creazione di report eseguiti nelle richieste registrate da Dev Proxy
- giornalisti che generano report basati sui dati raccolti dai plug-in di report
Registrare i plug-in nel file devproxyrc.json. Il file contiene un elenco di plug-in da caricare e la relativa configurazione.
Dev Proxy include una raccolta di plug-in ed è possibile creare plug-in personalizzati per estendere la funzionalità di Dev Proxy in base alle proprie esigenze.
All'avvio di Dev Proxy carica i plug-in abilitati nel file di configurazione. A seconda dei plug-in abilitati, Dev Proxy può fornire indicazioni, simulare il comportamento dell'API o analizzare le richieste API. Le sezioni seguenti illustrano il funzionamento dei diversi tipi di plug-in.
Intercettazione di plug-in
Quando Dev Proxy intercetta una richiesta corrispondente a uno degli URL nella matrice urlsToWatch, richiama ogni plug-in di intercettazione nell'ordine in cui sono elencati nel file di configurazione. Ogni plug-in di intercettazione eredita dalla BasePlugin classe e può eseguire l'override dei metodi seguenti:
-
BeforeRequestAsync- chiamato quando Dev Proxy intercetta una richiesta -
BeforeResponseAsync- chiamato dopo che Dev Proxy riceve una risposta dal server -
AfterResponseAsync- chiamato dopo che Dev Proxy invia la risposta al client
In ogni override del metodo, il plug-in può analizzare la richiesta e la risposta e modificarla, se necessario. Può anche restituire messaggi di materiale sussidiario. Per vedere cosa è possibile, vedere il codice dei plug-in forniti con Dev Proxy.
Plug-in STDIO
Quando si usa il stdio comando, Il proxy di sviluppo esegue la comunicazione STDIN/STDOUT/STDERR con file eseguibili locali. Il proxy di STDIO è utile per testare e eseguire il debug di server MCP (Model Context Protocol) e altre applicazioni basate su STDIO.
I plug-in STDIO implementano l'interfaccia IStdioPlugin e possono sottoscrivere gli eventi seguenti:
-
BeforeStdinAsync- generato prima di inoltrare STDIN al processo figlio -
AfterStdoutAsync- generato dopo la ricezione di STDOUT dal processo figlio -
AfterStderrAsync- generato dopo la ricezione di STDERR dal processo figlio -
AfterStdioRequestLogAsync- generato per registrare coppie di richiesta/risposta STDIO e record -
AfterStdioRecordingStopAsync- generato quando la sessione termina per elaborare le registrazioni
I plug-in possono modificare, utilizzare o simulare messaggi impostando ResponseState.HasBeenSet = true. I plug-in seguenti supportano l'intercettazione STDIO:
- MockStdioResponsePlugin - Simulare le risposte STDIN/STDOUT/STDERR
- DevToolsPlugin - Controllare il traffico STDIO in Chrome DevTools
- LatencyPlugin : aggiungere la latenza artificiale alla comunicazione STDIO
Plug-in per la creazione di report
Dev Proxy consente di registrare le richieste e le risposte dell'API. In genere si usa la registrazione per segnalare l'utilizzo dell'API o analizzare più richieste API. I plug-in di BaseReportingPlugin creazione di report ereditano dalla classe ed eseguono l'override del AfterRecordingStopAsync metodo .
Quando si arresta la registrazione, Dev Proxy chiama il AfterRecordingStopAsync metodo di ogni plug-in, passando l'elenco di richieste registrate e risposte come argomento. I plug-in per la creazione di report possono quindi analizzare i dati registrati e generare un oggetto report. Un oggetto report è un oggetto arbitrario definito dal plug-in di report. I plug-in di creazione di report archiviano i report chiamando il metodo StoreReport.
Importante
I plug-in di creazione di report generano oggetti report, archiviati in memoria da Dev Proxy. Per convertire questi oggetti report in report leggibili dall'utente, è necessario abilitare uno o più reporter nel file di configurazione del proxy di sviluppo.
Giornalisti
Dev Proxy usa reporter per convertire gli oggetti report generati dai plug-in di report in report leggibili dall'utente. Ad esempio, il MarkdownReporter converte un oggetto report in un file Markdown. I reporter sono plug-in speciali che ereditano dalla classe BaseReporter. Implementano il metodo GetReport, che accetta come argomento un report creato da un plug-in di report e lo converte in una stringa. Questa stringa viene quindi salvata su disco seguendo il modello di PluginName_ReporterName.ReporterExtension, ad esempio: ApiCenterOnboardingPlugin_MarkdownReporter.md.
Importante
Poiché i giornalisti dipendono dagli oggetti report generati dai plug-in per la creazione di report, è necessario abilitare i reporter nel file di configurazione di Dev Proxy dopo aver segnalato i plug-in. Se li abiliti prima di segnalare i plug-in, i reporter non avranno dati da segnalare.