Udostępnij za pośrednictwem


Architektura wtyczki

Wtyczka jest klasą platformy .NET zarejestrowaną w usłudze Dev Proxy, która wprowadza określone zachowanie serwera proxy deweloperów. Wtyczka może oferować wskazówki dotyczące użycia interfejsu API w czasie rzeczywistym, symulowania zachowania interfejsu API, analizowania wielu żądań interfejsu API lub tworzenia raportu. Serwer proxy deweloperów ma trzy typy wtyczek:

  • przechwytywanie wtyczek, które przechwytują żądania i odpowiedzi oraz mogą je analizować i modyfikować
  • wtyczek raportowania uruchamianych na żądaniach zarejestrowanych przez serwer proxy deweloperów
  • reporterów, które generują raporty na podstawie danych zebranych przez wtyczki raportowania

W pliku devproxyrc.jsonsą rejestrowane wtyczki. Plik zawiera listę wtyczek do załadowania i ich konfiguracji.

Serwer proxy deweloperów zawiera kolekcję wtyczek i można tworzyć niestandardowe wtyczki w celu rozszerzenia funkcji serwera proxy deweloperów w celu dopasowania ich do Twoich potrzeb.

Po uruchomieniu serwera proxy deweloperów ładuje on wtyczki włączone w pliku konfiguracji. W zależności od włączanych wtyczek serwer proxy deweloperów może udostępniać wskazówki, symulować zachowanie interfejsu API lub analizować żądania interfejsu API. W poniższych sekcjach opisano sposób działania różnych typów wtyczek.

Przechwytywanie wtyczek

Gdy serwer proxy deweloperów przechwytuje żądanie pasujące do jednego z adresów URL w tablicy urlsToWatch, wywołuje każdą wtyczkę przechwytywania w kolejności, w której są wymienione w pliku konfiguracji. Każda przechwycenie wtyczki dziedziczy z klasy BaseProxyPlugin i może subskrybować następujące zdarzenia:

  • BeforeRequest — zgłaszany, gdy serwer proxy deweloperów przechwytuje żądanie
  • BeforeResponse — zgłaszana po otrzymaniu odpowiedzi serwera proxy deweloperskiego z serwera
  • AfterResponse — zgłoszone po wysłaniu odpowiedzi do klienta przez serwer proxy dewelopera

Dla każdego z tych zdarzeń wtyczki mogą definiować procedurę obsługi zdarzeń. W programie obsługi wtyczka może analizować żądanie i odpowiedź oraz modyfikować je w razie potrzeby. Może również wyświetlać komunikaty ze wskazówkami. Aby zobaczyć, co jest możliwe, zobacz kod wtyczek dostarczanych z serwerem proxy dev.

Wtyczki raportowania

Serwer proxy deweloperów umożliwia rejestrowanie żądań i odpowiedzi interfejsu API. Rejestrowanie jest zwykle używane do raportowania użycia interfejsu API lub analizowania wielu żądań interfejsu API. Wtyczki raportowania dziedziczą z klasy BaseReportingPlugin i rejestrują program obsługi zdarzeń za pomocą zdarzenia AfterRecordingStop.

Po zatrzymaniu rejestrowania serwer proxy dewelopera zgłasza zdarzenie AfterRecordingStop, przekazując listę zarejestrowanych żądań i odpowiedzi jako argument do zarejestrowanych programów obsługi zdarzeń. Wtyczki raportowania mogą następnie analizować zarejestrowane dane i generować obiekt raportu. Obiekt raportu jest dowolnym obiektem zdefiniowanym przez wtyczkę raportowania. Wtyczki raportowania przechowują raporty, wywołując metodę StoreReport.

Ważny

Wtyczki raportowania generują obiekty raportów, które serwer proxy deweloperów przechowuje w pamięci. Aby przekonwertować te obiekty raportu na raporty czytelne dla użytkownika, należy włączyć co najmniej jednego reportera w pliku konfiguracji serwera proxy dewelopera.

Reporterów

Serwer proxy deweloperów używa reporterów do konwertowania obiektów raportów generowanych przez wtyczki raportowania na raporty czytelne dla użytkowników. Na przykład MarkdownReporter konwertuje obiekt raportu na plik Markdown. Reporterzy to specjalne wtyczki dziedziczone z klasy BaseReporter. Implementują metodę GetReport, która przyjmuje jako argument raport utworzony przez wtyczkę raportowania i konwertuje ją na ciąg. Ten ciąg jest następnie zapisywany na dysku zgodnie ze wzorcem PluginName_ReporterName.ReporterExtension, na przykład: ApiCenterOnboardingPlugin_MarkdownReporter.md.

Ważny

Ponieważ reporterzy zależą od obiektów raportów generowanych przez wtyczki raportowania, należy włączyć wtyczki raportowania w pliku konfiguracji serwera proxy deweloperów po wtyczki raportowania. Jeśli włączysz je przed raportowaniem wtyczek, reporterzy nie będą mieli żadnych danych do raportowania.