Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Eklenti, Belirli bir Geliştirme Ara Sunucusu davranışını tanıtır ve Dev Proxy ile kaydedilen bir .NET sınıfıdır. Eklenti API kullanımı hakkında gerçek zamanlı rehberlik sunabilir, API davranışını simüle edebilir, birden çok API isteğini analiz edebilir veya bir rapor oluşturabilir. Dev Proxy'nin dört tür eklentisi vardır:
- HTTP isteklerini ve yanıtlarını kesen ve bunları çözümleyip değiştirebilen eklentileri durdurma
- Yerel yürütülebilir dosyalarla stdin/stdout/stderr iletişimini kesen STDIO eklentileri
- raporlama eklentileri, Dev Proxy tarafından kaydedilen istekler üzerinde çalışan
- muhabirleri, raporlama eklentileri tarafından toplanan verileri temel alan raporlar oluşturan
eklentilerini devproxyrc.json dosyasına kaydedersiniz. Dosya, yüklenecek eklentilerin listesini ve bunların yapılandırmasını içerir.
Geliştirme Proxy'si, bir eklenti koleksiyonuyla birlikte gelir ve Geliştirme Ara Sunucusu işlevselliğini gereksinimlerinize uyacak şekilde genişletmek için özel eklentiler oluşturabilirsiniz.
Geliştirme Proxy'si başlatıldığında, yapılandırma dosyasında etkinleştirilen eklentileri yükler. Hangi eklentileri etkinleştirdiğinize bağlı olarak, Dev Proxy rehberlik sağlayabilir, API davranışını simüle edebilir veya API isteklerini analiz edebilir. Aşağıdaki bölümlerde farklı eklenti türlerinin nasıl çalıştığı açıklanmaktadır.
Eklentileri kesme
Geliştirme Ara Sunucusu, urlsToWatch dizisindeki URL'lerden biriyle eşleşen bir isteği kestiğinde, her kesme eklentisini yapılandırma dosyasında listelendikleri sırayla çağırır. Her kesme eklentisi BaseProxyPlugin sınıfından devralır ve aşağıdaki olaylara abone olabilir:
-
BeforeRequest- Dev Proxy bir isteği kestiğinde tetiklenen -
BeforeResponse- Dev Proxy sunucudan bir yanıt aldıktan sonra oluşturulur -
AfterResponse- Dev Proxy yanıtı istemciye gönderdikten sonra tetiklenmiş
Bu olayların her biri için eklentiler bir olay işleyicisi tanımlayabilir. İşleyicide eklenti, isteği ve yanıtı analiz edebilir ve gerekirse değiştirebilir. Ayrıca kılavuz iletilerinin çıkışını da verebilir. Nelerin mümkün olduğunu görmek için Bkz. Dev Proxy ile sağlanan eklentilerinkodu.
STDIO eklentileri
komutunu kullandığınızdastdio, Dev Proxy proxy'si yerel yürütülebilir dosyalarla STDIN/STDOUT/STDERR iletişimini sağlar. STDIO ara sunucusu, Model Bağlam Protokolü (MCP) sunucularını ve diğer STDIO tabanlı uygulamaları test etme ve hata ayıklama için kullanışlıdır.
STDIO eklentileri arabirimi uygular IStdioPlugin ve aşağıdaki olaylara abone olabilir:
-
BeforeStdinAsync- STDIN alt işleme iletilmeden önce yükseltildi -
AfterStdoutAsync- alt işlemden STDOUT alındıktan sonra yükseltilmiş -
AfterStderrAsync- Alt işlemden STDERR alındıktan sonra yükseltildi -
AfterStdioRequestLogAsync- STDIO istek/yanıt çiftlerini günlüğe kaydetmek ve kaydetmek için yükseltilmiş -
AfterStdioRecordingStopAsync- Oturum sona erdiğinde kayıtları işlemeye yükseltildi
Eklentiler ayarlayarak ResponseState.HasBeenSet = trueiletileri değiştirebilir, kullanabilir veya sahte iletileri kullanabilir. Aşağıdaki eklentiler STDIO kesme işlemini destekler:
- MockStdioResponsePlugin - sahte STDIN/STDOUT/STDERR yanıtları
- DevToolsPlugin - Chrome DevTools'ta STDIO trafiğini inceleme
- LatencyPlugin - STDIO iletişimine yapay gecikme süresi ekleme
Raporlama eklentileri
Geliştirme Proxy'si, API isteklerini ve yanıtlarını kaydetmenize olanak tanır. Api kullanımını raporlamak veya birden çok API isteğini analiz etmek için genellikle kaydı kullanırsınız. Raporlama eklentileri BaseReportingPlugin sınıfından devralır ve AfterRecordingStop olayına bir olay işleyicisi kaydeder.
Kaydı durdurduğunuzda Dev Proxy, kaydedilen isteklerin ve yanıtların listesini kayıtlı olay işleyicilerine bağımsız değişken olarak geçirerek AfterRecordingStop olayını başlatır. Raporlama eklentileri daha sonra kaydedilen verileri analiz edebilir ve bir rapor nesnesi oluşturabilir. Rapor nesnesi, raporlama eklentisi tarafından tanımlanan rastgele bir nesnedir. Raporlama eklentileri, StoreReport yöntemini çağırarak raporları depolar.
Önemli
Raporlama eklentileri, Dev Proxy'nin bellekte depoladığı rapor nesneleri oluşturur. Bu rapor nesnelerini kullanıcı tarafından okunabilir raporlara dönüştürmek için Dev Proxy yapılandırma dosyasında bir veya daha fazla muhabiri etkinleştirmeniz gerekir.
Gazeteci -lere
Geliştirme Proxy'si, raporlama eklentileri tarafından oluşturulan rapor nesnelerini kullanıcı tarafından okunabilir raporlara dönüştürmek için muhabirleri kullanır. Örneğin, MarkdownReporter bir rapor nesnesini Markdown dosyasına dönüştürür. Muhabirler, BaseReporter sınıfından devralınan özel eklentilerdir. Bir raporlama eklentisi tarafından oluşturulan bir raporu bağımsız değişken olarak alan ve bunu dizeye dönüştüren GetReport yöntemini uygularlar. Bu dize daha sonra PluginName_ReporterName.ReporterExtension deseninin ardından diske kaydedilir, örneğin: ApiCenterOnboardingPlugin_MarkdownReporter.md.
Önemli
Muhabirler, raporlama eklentileri tarafından oluşturulan rapor nesnelerine bağlı olduğundan, raporlama eklentilerini raporladıktan sonra Dev Proxy yapılandırma dosyasında raporlama eklentilerini etkinleştirmeniz gerekir. Eklentileri raporlamadan önce bunları etkinleştirirseniz, muhabirlerin bildirecek verisi olmaz.