सीधे सामग्री पर जाएँ

प्लगइन बैकएंड SDK संदर्भ ​

बैकएंड प्लगइन का कोड Ogma के JavaScript सैंडबॉक्स में चलता है और होस्ट एप्लिकेशन से एक sdk ऑब्जेक्ट प्राप्त करता है।

पूरे प्लगइन पैकेज प्रारूप, मैनिफ़ेस्ट फ़ील्ड, अनुमतियों और उदाहरणों के लिए प्लगइन प्रणाली गाइड से शुरू करें।

प्रवेश बिंदु ​

बैकएंड प्लगइन एक init फ़ंक्शन उपलब्ध कराते हैं:

js
async function init(sdk) {
  sdk.console.log("plugin started");
}

प्लगइन चालू किए जाने पर Ogma, init(sdk) को कॉल करता है।

मुख्य नेमस्पेस ​

नेमस्पेसउद्देश्य
sdk.consoleप्लगइन के लॉग बफ़र में संदेश लिखना।
sdk.metaप्लगइन मेटाडेटा और डेटा पथ पढ़ना।
sdk.eventsOgma इवेंट के लिए कॉलबैक रजिस्टर करना।
sdk.requestsHTTP इतिहास और अनुरोध डेटा की क्वेरी करना।
sdk.findingsअनुमतियाँ मिलने पर निष्कर्षों की क्वेरी करना या उन्हें बनाना।
sdk.scopeसक्रिय परीक्षण दायरे की जानकारी पढ़ना।
sdk.storageप्लगइन स्टेट के लिए स्थायी कुंजी/मान स्टोरेज।
sdk.fsप्लगइन की निजी डेटा डायरेक्टरी में फ़ाइल संचालन।
sdk.pathप्लगइन डेटा डायरेक्टरी में पथ बनाने के सहायक उपकरण।
sdk.apiप्लगइन फ्रंटएंड को बैकएंड हैंडलर उपलब्ध कराना।

लॉगिंग ​

js
sdk.console.log("message")
sdk.console.warn("warning")
sdk.console.error("error")

संदेश प्लगइन के लॉग UI में दिखाई देते हैं। लॉग संक्षिप्त रखें और गोपनीय जानकारी लिखने से बचें।

मेटाडेटा ​

js
sdk.meta.id()
sdk.meta.packageId()
sdk.meta.version()
sdk.meta.path()

प्लगइन से संबंधित डेटा के लिए sdk.meta.path() का उपयोग करें। यह न मानें कि सैंडबॉक्स किए गए प्लगइन कोड को फ़ाइल सिस्टम के किसी भी पथ तक पहुँच मिलती है।

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")

इवेंट ​

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")
})

कॉलबैक तेज़ होने चाहिए। लंबे समय तक चलने वाले काम को उपयोगकर्ता की स्पष्ट कार्रवाई या बैकएंड API हैंडलर के ज़रिए शुरू कराएँ।

फ्रंटएंड ब्रिज हैंडलर ​

बैकएंड प्लगइन, प्लगइन के फ्रंटएंड पैनल के लिए हैंडलर उपलब्ध करा सकते हैं:

js
sdk.api.register("ping", async function(input) {
  return { ok: true, input: input };
});

फ्रंटएंड, Ogma फ्रंटएंड SDK के ज़रिए हैंडलर को कॉल करता है। फ्रंटएंड SDK संदर्भ देखें।

सुरक्षा संबंधी अपेक्षाएँ ​

  • HTTP ट्रैफ़िक, निष्कर्ष, लॉग और निर्यात को संवेदनशील मानें।
  • केवल वही अनुमतियाँ माँगें जिनकी आपके प्लगइन को आवश्यकता है।
  • डिफ़ॉल्ट रूप से क्रेडेंशियल, कुकी, Bearer टोकन या निजी ट्रैफ़िक कभी लॉग न करें।
  • प्लगइन का व्यवहार उपयोगकर्ता के लिए स्पष्ट और समझने योग्य रखें।

मालिकाना सॉफ़्टवेयर। सभी अधिकार सुरक्षित हैं।