Condividi tramite


Architettura del plug-in

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 include tre tipi di plug-in:

  • intercettare i plug-in che intercettano richieste e risposte e possono analizzarli e modificarli
  • 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 classe BaseProxyPlugin e può sottoscrivere gli eventi seguenti:

  • BeforeRequest : generato quando Dev Proxy intercetta una richiesta
  • BeforeResponse : generato dopo che Dev Proxy riceve una risposta dal server
  • AfterResponse : generato dopo che Dev Proxy invia la risposta al client

Per ognuno di questi eventi, i plug-in possono definire un gestore eventi. Nel gestore, 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 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 creazione di report ereditano dalla classe BaseReportingPlugin e registrano un gestore eventi con l'evento AfterRecordingStop.

Quando si arresta la registrazione, Dev Proxy genera l'evento AfterRecordingStop, passando l'elenco di richieste e risposte registrate come argomento ai gestori eventi registrati. 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 reporter dipendono dagli oggetti report generati dai plug-in per la creazione di report, è necessario abilitare i plug-in di report 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.