diff options
Diffstat (limited to 'bandwagon/content/scripts/rpc/service.js')
-rw-r--r-- | bandwagon/content/scripts/rpc/service.js | 211 |
1 files changed, 21 insertions, 190 deletions
diff --git a/bandwagon/content/scripts/rpc/service.js b/bandwagon/content/scripts/rpc/service.js index 83c562e..9251f59 100644 --- a/bandwagon/content/scripts/rpc/service.js +++ b/bandwagon/content/scripts/rpc/service.js @@ -61,9 +61,8 @@ Bandwagon.RPC.Service = function() if (result == service.Bandwagon.RPC.Constants.BANDWAGON_RPC_NET_FAILURE) { // response is error code - service._logger.debug("Bandwagon.RPC.Service: complete is error with error code: " + response.errorCode + ", message: " + response.errorMessage); + service._logger.debug("Bandwagon.RPC.Service: complete is error with error code: " + response.errorCode + ", message: " + response.errorMessage) event.error = new service.Bandwagon.RPC.Error(response.errorCode, response.errorMessage); - event._response = response.data; } // CALLBACK TYPE 1: if we have a callback, call it @@ -101,9 +100,9 @@ Bandwagon.RPC.Service = function() } } } - }; + }; - this.rpcSend = function(type, callback, action, method, data, url, credentials) + this.rpcSend = function(type, callback, action, method, data, url) { var service = this; @@ -125,11 +124,6 @@ Bandwagon.RPC.Service = function() { rpcnet.setMethod("DELETE"); } - else if (method == "PUT") - { - rpcnet.setMethod("PUT"); - rpcnet.setPostData(data); - } else { rpcnet.setMethod("GET"); @@ -143,13 +137,7 @@ Bandwagon.RPC.Service = function() } rpcnet.setArguments(data); - } - - rpcnet.setHeader("X-API-Auth", service.Bandwagon.Preferences.getPreference(service.Bandwagon.PREF_AUTH_TOKEN)); - if (credentials) - { - rpcnet.setCredentials(credentials.login, credentials.password); } rpcnet.onComplete = function(rpc, result, response, type) { service.rpcComplete(rpc, result, response, type, callback); }; @@ -216,70 +204,9 @@ Bandwagon.RPC.Service.prototype.unregisterObserver = function(observerId) * Bandwagon Protocol Methods Below Here */ -Bandwagon.RPC.Service.prototype.authenticate = function(login, password, callback) -{ - var service = this; - - this._logger.debug("Bandwagon.RPC.Service.authenticate: getting auth token for user '" + login + "'"); - - var internalCallback2 = function(event) - { - if (event.isError()) - { - service._logger.info("Bandwagon.RPC.Service.authenticate: authentication failed"); - } - else - { - event.authToken = event.getData().attribute("value"); - - if (!event.authToken.match(/.*\w.*/)) - { - // invalid auth token (bug 496612) - service._logger.error("Bandwagon.RPC.Service.authenticate: invalid auth token: '" + event.authToken + "'"); - - event._result = service.Bandwagon.RPC.Constants.BANDWAGON_RPC_SERVICE_ERROR_UNEXPECTED_XML; - } - else - { - service._logger.debug("Bandwagon.RPC.Service.authenticate: have an auth token: " + event.authToken); - - service.Bandwagon.Preferences.setPreference(service.Bandwagon.PREF_AUTH_TOKEN, event.authToken); - } - } - - if (callback) - { - callback(event); - } - } - - var internalCallback1 = function(event) - { - if (event && event.authURL) - { - service._logger.debug("Bandwagon.RPC.Service.authenticate: using authURL = " + event.authURL); - - service.rpcSend(service.Bandwagon.RPC.Constants.BANDWAGON_RPC_EVENT_TYPE_BANDWAGON_RPC_GET_AUTH_DOCUMENT_COMPLETE, - internalCallback2, - event.authURL, - "POST", - null, - null, - {login: login, password: password} - ); - } - else if (callback) - { - callback(event); - } - } - - this.getServiceDocument(internalCallback1); -} - Bandwagon.RPC.Service.prototype.getServiceDocument = function(callback) { - var service = this; + var service = this; this._logger.debug("Bandwagon.RPC.Service.getServiceDocument: getting service document for logged in user"); @@ -287,23 +214,6 @@ Bandwagon.RPC.Service.prototype.getServiceDocument = function(callback) { if (event.isError()) { - // in the case of unauthorized access, we are given the href to the auth resource - event.authURL = ""; - - try - { - event.authURL = event.getData().attribute("href"); - } - catch (e) {} - - if (event.authURL != "") - { - service._logger.debug("Bandwagon.RPC.Service.getServiceDocument: is error, but have an authURL = " + event.authURL); - } - else - { - service._logger.debug("Bandwagon.RPC.Service.getServiceDocument: is error and there is no authURL"); - } } else { @@ -391,12 +301,6 @@ Bandwagon.RPC.Service.prototype.newCollection = function(collection, callback) else { collection.unserialize(event.getData()); - - collection.resourceURL = event.getData().@xmlbase.toString(); - collection.addonsResourceURL = event.getData().@xmlbase.toString() + event.getData().addons.attribute("href").toString(); - - service._logger.debug("Bandwagon.RPC.Service.newCollection: create new autopub collection with resourceURL = " + collection.resourceURL); - collection.status = collection.STATUS_LOADED; } @@ -436,110 +340,39 @@ Bandwagon.RPC.Service.prototype.deleteCollection = function(collection, callback null); } -Bandwagon.RPC.Service.prototype.unsubscribeFromCollection = function(collection, callback) +/** OBSOLETE +Bandwagon.RPC.Service.prototype.subscribeCollection = function(collection, callback) { - var service = this; - - this._logger.debug("Bandwagon.RPC.Service.unsubscribeFromCollection: unsubscribing from collection '" + collection.toString() + "' ..."); - - if (collection == null) - { - if (callback) - callback(new this.Bandwagon.RPC.Event()); - - return; - } + Bandwagon.Logger.debug("Bandwagon.RPC.Service.subscribeCollection: TBD"); - var data = { - "subscribed": "no" - }; + // TODO - this.rpcSend(service.Bandwagon.RPC.Constants.BANDWAGON_RPC_EVENT_TYPE_BANDWAGON_RPC_UNSUBSCRIBE_FROM_COLLECTION_COMPLETE, - callback, - collection.resourceURL, - "PUT", - data); + if (callback) + callback(new this.Bandwagon.RPC.Event()); } +*/ -Bandwagon.RPC.Service.prototype.subscribeToCollection = function(collection, callback) +/** OBSOLETE +Bandwagon.RPC.Service.prototype.unsubscribeCollection = function(collection, callback) { - var service = this; - - this._logger.debug("Bandwagon.RPC.Service.subscribeToCollection: subscribing to collection '" + collection.toString() + "' ..."); - - if (collection == null) - { - if (callback) - callback(new this.Bandwagon.RPC.Event()); - - return; - } + Bandwagon.Logger.debug("Bandwagon.RPC.Service.unsubscribeCollection: TBD"); - var data = { - "subscribed": "yes" - }; + // TODO - this.rpcSend(service.Bandwagon.RPC.Constants.BANDWAGON_RPC_EVENT_TYPE_BANDWAGON_RPC_SUBSCRIBE_TO_COLLECTION_COMPLETE, - callback, - collection.resourceURL, - "PUT", - data); + if (callback) + callback(new this.Bandwagon.RPC.Event()); } +*/ -Bandwagon.RPC.Service.prototype.updateCollectionDetails = function(collection, callback) +Bandwagon.RPC.Service.prototype.removeAddonFromCollection = function(guid, collection, callback) { var service = this; - this._logger.debug("Bandwagon.RPC.Service.updateCollectionDetails: updating collection details for '" + collection.toString() + "' ..."); - - if (collection == null) + if (guid.substring(0,1) == "{") { - if (callback) - callback(new this.Bandwagon.RPC.Event()); - - return; + guid = guid.substring(1, guid.length-2); } - collection.status = collection.STATUS_LOADING; - - var data = { - "name": collection.name, - "description": collection.description, - "listed": (collection.listed?"1":"0"), - "subscribed": (collection.subscribed?"yes":"no") - }; - - var internalCallback = function(event) - { - if (event.isError()) - { - collection.status = collection.STATUS_LOADERROR; - } - else - { - collection.unserialize(event.getData()); - collection.status = collection.STATUS_LOADED; - } - - event.collection = collection; - - if (callback) - { - callback(event); - } - } - - this.rpcSend(service.Bandwagon.RPC.Constants.BANDWAGON_RPC_EVENT_TYPE_BANDWAGON_RPC_UPDATE_COLLECTION_COMPLETE, - internalCallback, - collection.resourceURL, - "PUT", - data); -} - -Bandwagon.RPC.Service.prototype.removeAddonFromCollection = function(guid, collection, callback) -{ - var service = this; - Bandwagon.Logger.debug("Bandwagon.RPC.Service.removeAddonFromCollection: extension.guid = '" + guid + "', collection = '" + collection.resourceURL); var internalCallback = function(event) @@ -595,8 +428,6 @@ Bandwagon.RPC.Service.prototype.shareToEmail = function(extension, emailAddress, return; } - personalNote = personalNote.replace("\n", "\r", "gi"); - var data = { "guid": extension.guid, "to": emailAddress, |