Architektura modulů plug-in
Modul plug-in je třída .NET zaregistrovaná ve službě Dev Proxy, která zavádí specifické chování dev proxy serveru. Modul plug-in může nabídnout pokyny k využití rozhraní API v reálném čase, simulaci chování rozhraní API, analýzu více požadavků rozhraní API nebo vytvoření sestavy. Dev Proxy má tři typy modulů plug-in:
- zachycení modulů plug-in, které zachycují požadavky a odpovědi a mohou je analyzovat a upravovat.
- moduly plug-in pro vytváření sestav, které běží na žádostech zaznamenaných dev proxy serverem
- zpravodajů, které generují sestavy na základě dat shromážděných moduly plug-in pro vytváření sestav.
Do souborudevproxyrc.json
zaregistrujete moduly plug-in . Soubor obsahuje seznam modulů plug-in pro načtení a jejich konfiguraci.
Dev Proxy obsahuje kolekci modulů plug-in a můžete vytvářet vlastní moduly plug-in, abyste rozšířili funkce Dev Proxy tak, aby odpovídaly vašim potřebám.
Když se spustí dev proxy server, načte moduly plug-in povolené v konfiguračním souboru. V závislosti na tom, které moduly plug-in povolíte, může dev proxy poskytovat pokyny, simulovat chování rozhraní API nebo analyzovat požadavky rozhraní API. Následující části vysvětlují, jak fungují různé typy modulů plug-in.
Zachycování modulů plug-in
Když Dev Proxy zachytí požadavek odpovídající jedné z adres URL v poli urlsToWatch
, vyvolá každý zachycující modul plug-in v pořadí, v jakém jsou uvedeny v konfiguračním souboru. Každý zachycující modul plug-in dědí z třídy BaseProxyPlugin
a může se přihlásit k odběru následujících událostí:
-
BeforeRequest
– vyvolána při zachycení požadavku dev proxy serverem -
BeforeResponse
– vyvolá se po přijetí odpovědi ze serveru dev proxy serverem -
AfterResponse
– vyvolána po odeslání odpovědi dev proxy serveru klientovi
Pro každou z těchto událostí mohou moduly plug-in definovat obslužnou rutinu události. V obslužné rutině může modul plug-in analyzovat požadavek a odpověď a v případě potřeby ho upravit. Může také vypíše zprávy s pokyny. Pokud chcete zjistit, co je možné, podívejte se na kód modulů plug-in poskytovanýchDev Proxy .
Moduly plug-in pro vytváření sestav
Dev Proxy umožňuje zaznamenávat požadavky a odpovědi rozhraní API. Záznam obvykle používáte k hlášení o využití rozhraní API nebo analýze více požadavků rozhraní API. Moduly plug-in pro vytváření sestav dědí z třídy BaseReportingPlugin
a zaregistrují obslužnou rutinu události s událostí AfterRecordingStop
.
Když zastavíte nahrávání, dev proxy vyvolá událost AfterRecordingStop
a předá seznam zaznamenaných požadavků a odpovědí jako argument registrovaným obslužným rutinám událostí. Moduly plug-in pro vytváření sestav pak mohou analyzovat zaznamenaná data a generovat objekt sestavy. Objekt sestavy je libovolný objekt definovaný modulem plug-in pro vytváření sestav. Moduly plug-in pro vytváření sestav ukládají sestavy voláním metody StoreReport
.
Důležitý
Moduly plug-in pro vytváření sestav generují objekty sestav, které dev Proxy ukládá do paměti. Pokud chcete tyto objekty sestavy převést na sestavy čitelné uživatelem, musíte v konfiguračním souboru dev proxy povolit jeden nebo více zpravodajů.
Reportéři
Dev Proxy používá reportery k převodu objektů sestav vygenerovaných generováním modulů plug-in na uživatelsky čitelné sestavy. Například MarkdownReporter převede objekt sestavy na soubor Markdown. Reportéři jsou speciální moduly plug-in, které dědí z třídy BaseReporter
. Implementují GetReport
metodu, která přebírá jako argument sestavu vytvořenou modulem plug-in pro vytváření sestav a převádí ji na řetězec. Tento řetězec se pak uloží na disk podle vzoru PluginName_ReporterName.ReporterExtension
, například: ApiCenterOnboardingPlugin_MarkdownReporter.md
.
Důležitý
Vzhledem k tomu, že reportéři závisejí na objektech sestav vygenerovaných moduly plug-in pro vytváření sestav, musíte povolit moduly plug-in generování sestav v konfiguračním souboru dev proxy po vytváření sestav modulů plug-in. Pokud je povolíte před vytvářením sestav modulů plug-in, reportéři nebudou mít žádná data, na kterých by bylo možné sestavovat.