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;
dev/client_coding/connector_http_server.1303228946.txt.gz · Last modified: 2011/04/19 12:02 by rmzelle