This repository has been archived on 2022-01-02. You can view files and clone it, but cannot push or open issues or pull requests.
AriaNg/src/scripts/services/aria2HttpRpcService.js
2016-12-11 01:04:29 +08:00

56 lines
1.9 KiB
JavaScript

(function () {
'use strict';
angular.module('ariaNg').factory('aria2HttpRpcService', ['$http', 'ariaNgSettingService', 'ariaNgLogService', function ($http, ariaNgSettingService, ariaNgLogService) {
var rpcUrl = ariaNgSettingService.getJsonRpcUrl();
return {
request: function (context) {
if (!context) {
return;
}
var requestContext = {
url: rpcUrl,
method: 'POST',
data: context.requestBody
};
ariaNgLogService.debug('[aria2HttpRpcService.request] request start', requestContext);
return $http(requestContext).success(function (data) {
ariaNgLogService.debug('[aria2HttpRpcService.request] response success', data);
if (!data) {
return;
}
if (context.successCallback) {
context.successCallback(data.id, data.result);
}
}).error(function (data) {
ariaNgLogService.debug('[aria2HttpRpcService.request] response error', data);
if (!data) {
data = {
id: '-1',
error: {
// code: '-1',
// message: 'Unknown Error',
innerError: true
}
};
}
if (context.errorCallback) {
context.errorCallback(data.id, data.error);
}
});
},
on: function (eventName, callback) {
//Not implement
}
};
}]);
}());