Eklenti arka uç SDK başvuru kaynağı
Arka uç eklenti kodu, Ogma'nın JavaScript yalıtım ortamında çalışır ve ana uygulamadan bir sdk nesnesi alır.
Tam eklenti paket biçimi, manifest alanları, izinler ve örnekler için eklenti sistemi kılavuzuyla başlayın.
Giriş noktası
Arka uç eklentileri bir init işlevi sunar:
js
async function init(sdk) {
sdk.console.log("plugin started");
}Eklenti etkinleştirildiğinde Ogma init(sdk) çağırır.
Temel ad alanları
| Ad alanı | Amaç |
|---|---|
sdk.console | Eklenti günlük arabelleğine mesaj yazma. |
sdk.meta | Eklenti meta verilerini ve veri yollarını okuma. |
sdk.events | Ogma olayları için geri çağrı kaydetme. |
sdk.requests | HTTP geçmişini ve istek verilerini sorgulama. |
sdk.findings | İzinler elverdiğinde bulgu sorgulama veya oluşturma. |
sdk.scope | Etkin kapsam bilgilerini okuma. |
sdk.storage | Eklenti durumu için anahtar/değer kalıcılığı. |
sdk.fs | Eklentinin özel veri dizininde dosya işlemleri. |
sdk.path | Eklenti veri dizinindeki yolları oluşturma yardımcıları. |
sdk.api | Arka uç işleyicilerini eklenti ön ucuna sunma. |
Günlük kaydı
js
sdk.console.log("message")
sdk.console.warn("warning")
sdk.console.error("error")Mesajlar eklenti günlük arayüzünde görünür. Günlükleri kısa tutun ve gizli bilgileri yazmaktan kaçının.
Meta veriler
js
sdk.meta.id()
sdk.meta.packageId()
sdk.meta.version()
sdk.meta.path()Eklentiye özgü veriler için sdk.meta.path() kullanın. Yalıtılmış eklenti kodunun keyfi dosya sistemi yollarına erişebildiğini varsaymayın.
js
sdk.storage.set("key", "value")
sdk.storage.get("key")
sdk.storage.keys()
sdk.storage.delete("key")
sdk.storage.clear()js
sdk.fs.readFile("relative/file.txt")
sdk.fs.writeFile("relative/file.txt", "text")
sdk.fs.appendFile("relative/file.txt", "more")
sdk.fs.exists("relative/file.txt")
sdk.fs.existsSync("relative/file.txt")
sdk.fs.mkdir("relative/dir")
sdk.path.join("a", "b", "c")Olaylar
js
sdk.events.onInterceptRequest(function(req) {
return req
})
sdk.events.onInterceptResponse(function(req, res) {
sdk.console.log(res.getCode())
})
sdk.events.onProjectChange(function() {
sdk.console.log("project changed")
})Geri çağrılar hızlı olmalıdır. Uzun süren işleri açık kullanıcı işlemlerine veya arka uç API işleyicilerine taşıyın.
Ön uç köprü işleyicileri
Arka uç eklentileri ön uç eklenti panelleri için işleyiciler sunabilir:
js
sdk.api.register("ping", async function(input) {
return { ok: true, input: input };
});Ön uç, işleyiciyi Ogma ön uç SDK'sı üzerinden çağırır. Ön uç SDK başvuru kaynağına bakın.
Güvenlik beklentileri
- HTTP trafiğini, bulguları, günlükleri ve dışa aktarımları hassas kabul edin.
- Yalnızca eklentinin ihtiyaç duyduğu izinleri isteyin.
- Varsayılan olarak kimlik bilgilerini, çerezleri, bearer belirteçlerini veya özel trafiği asla günlüğe yazmayın.
- Eklenti davranışını kullanıcı için açık ve anlaşılır tutun.