This is an old revision of the document!
The following code registers an endpoint with the built-in connector HTTP server. This HTTP server is enabled by default in Zotero Standalone. It can be enabled in Firefox setting extensions.zotero.connector.enabled to true in about:config.
This script must be run with chrome privileges. The best way to do this is to create an extension that registers an XPCOM service to run at Firefox startup. Firefox 4 users also have the option of creating a bootstrapped extension. Alternatively, you could register the endpoint from a overlay or from a chrome URI that you load manually.
Once registered, going to http://127.0.0.1:23119/myendpoint in a web browser should produce a page containing “Hello world.”
var Zotero = Components.classes["@zotero.org/Zotero;1"] .getService(Components.interfaces.nsISupports) .wrappedJSObject; MyEndpoint = {}; MyEndpoint.prototype = { /** * Gets available translator list * @param {String} method "GET" or "POST" * @param {String} data POST data or GET query string * @param {Function} sendResponseCallback function to send HTTP response */ "init":function(method, data, sendResponseCallback) { // do something with data here? Zotero.debug("MyEndpoint loaded"); sendResponseCallback( 200, // 200 OK "Hello world" // Response body ); } } // Register endpoint Zotero.Connector.Endpoints["/myendpoint"] = MyEndpoint;