Megosztás a következőn keresztül:


Beépülő modul architektúrája

A beépülő modul egy dev proxyval regisztrált .NET-osztály, amely egy adott Dev Proxy-viselkedést vezet be. A beépülő modulok valós idejű útmutatást nyújtanak az API-használatról, szimulálhatják az API viselkedését, elemezhetnek több API-kérést, vagy jelentést készíthetnek. A Dev Proxy háromféle beépülő modult használ:

  • lehallgató beépülő modulok, amelyek elfogják a kéréseket és a válaszokat, és elemezhetik és módosíthatják őket
  • jelentéskészítési beépülő modulok, amelyek a Dev Proxy által rögzített rögzített kérelmeken futnak
  • riporterek, amelyek jelentéseket hoznak létre a jelentéskészítési beépülő modulok által gyűjtött adatok alapján

Beépülő modulokat regisztrál a devproxyrc.json fájlban. A fájl tartalmazza a betöltendő beépülő modulok listáját és azok konfigurációját.

A Dev Proxy beépülő modulok gyűjteményével, és egyéni beépülő modulokat hozhat létre, hogy a Dev Proxy funkcióit az igényeinek megfelelően bővítse.

A Dev Proxy indításakor betölti a konfigurációs fájlban engedélyezett beépülő modulokat. Attól függően, hogy mely beépülő modulokat engedélyezi, a Dev Proxy útmutatást nyújthat, szimulálhatja az API viselkedését, vagy elemezheti az API-kéréseket. A következő szakaszok a különböző beépülő modulok működését ismertetik.

Beépülő modulok elfogása

Amikor a Dev Proxy elfog egy kérést, amely megfelel a urlsToWatch tömb egyik URL-címének, a konfigurációs fájlban felsorolt sorrendben meghívja az egyes elfogó beépülő modulokat. Minden elfogó beépülő modul örökli a BaseProxyPlugin osztályt, és feliratkozhat a következő eseményekre:

  • BeforeRequest – akkor merül fel, amikor a Dev Proxy elfog egy kérést
  • BeforeResponse – a rendszer azt követően emeli ki, hogy a Dev Proxy választ kap a kiszolgálótól
  • AfterResponse – a Dev Proxy által az ügyfélnek küldött válasz elküldése után aktiválva

Ezen események mindegyikéhez a beépülő modulok definiálhatnak eseménykezelőt. A kezelőben a beépülő modul elemezheti a kérést és a választ, és szükség esetén módosíthatja azt. Útmutatási üzeneteket is képes kiadni. A lehetséges lehetőségek megtekintéséhez tekintse meg a Dev Proxy által biztosított beépülő modulokkódját.

Jelentéskészítési beépülő modulok

A Dev Proxy lehetővé teszi az API-kérések és válaszok rögzítését. Általában a rögzítéssel jelentést készít az API-használatról, vagy több API-kérést elemez. A jelentéskészítő beépülő modulok a BaseReportingPlugin osztálytól öröklődnek, és regisztrálnak egy eseménykezelőt a AfterRecordingStop eseményhez.

Amikor leállítja a rögzítést, a Dev Proxy a AfterRecordingStop eseményt állítja elő, és argumentumként továbbítja a rögzített kérések és válaszok listáját a regisztrált eseménykezelőknek. A jelentéskészítő beépülő modulok ezután elemezhetik a rögzített adatokat, és létrehozhatnak egy jelentésobjektumot. A jelentésobjektumok a jelentéskészítő beépülő modul által meghatározott tetszőleges objektumok. A jelentéskészítő beépülő modulok a StoreReport metódus meghívásával tárolják a jelentéseket.

Fontos

A jelentéskészítő beépülő modulok jelentésobjektumokat hoznak létre, amelyeket a Dev Proxy tárol a memóriában. Ha ezeket a jelentésobjektumokat felhasználó által olvasható jelentésekké szeretné alakítani, engedélyeznie kell egy vagy több riportert a Fejlesztői proxy konfigurációs fájljában.

Riporterek

A Dev Proxy riporterek használatával konvertálja a jelentéskészítő beépülő modulok által létrehozott jelentésobjektumokat felhasználó által olvasható jelentésekké. A MarkdownReporter például egy jelentésobjektumot Markdown-fájllá alakít át. A riporterek speciális beépülő modulok, amelyek a BaseReporter osztálytól öröklődnek. Implementálják a GetReport metódust, amely argumentumként egy jelentéskészítő beépülő modul által létrehozott jelentést vesz igénybe, és sztringgé alakítja. Ezt a sztringet ezután a rendszer a PluginName_ReporterName.ReporterExtension mintát követve menti a lemezre, például: ApiCenterOnboardingPlugin_MarkdownReporter.md.

Fontos

Mivel a riporterek a jelentéskészítő beépülő modulok által létrehozott jelentésobjektumoktól függenek, engedélyeznie kell a jelentéskészítési beépülő modulokat a fejlesztői proxy konfigurációs fájljában a beépülő modulok jelentése után. Ha engedélyezi őket a beépülő modulok jelentése előtt, a riporterek nem fognak adatokat jelenteni.