You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

lu-request.js 3.2KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495
  1. /**
  2. * Created by robin on 10/24/15.
  3. */
  4. (function () {
  5. 'use strict';
  6. angular.module('luticate2Utils')
  7. .factory('luRequest', ['$q', '$http', 'luPromise', function ($q, $http, luPromise) {
  8. var luRequest = {};
  9. luRequest.get = function(url, dataGet, promise)
  10. {
  11. return luRequest.request(url, 'GET', dataGet, null, promise);
  12. };
  13. luRequest.post = function(url, dataGet, dataPost, promise)
  14. {
  15. return luRequest.request(url, 'POST', dataGet, dataPost, promise);
  16. };
  17. luRequest.put = function(url, dataGet, dataPost, promise)
  18. {
  19. return luRequest.request(url, 'PUT', dataGet, dataPost, promise);
  20. };
  21. luRequest.delete = function(url, dataGet, dataPost, promise)
  22. {
  23. return luRequest.request(url, 'DELETE', dataGet, dataPost, promise);
  24. };
  25. function reject(deferred, data, status, promise)
  26. {
  27. var obj = {
  28. Data: data,
  29. Status: status
  30. };
  31. deferred.reject(obj);
  32. if (promise != null) {
  33. luPromise.reject(promise, obj);
  34. }
  35. }
  36. function resolve(deferred, data, promise)
  37. {
  38. deferred.resolve(data);
  39. if (promise != null) {
  40. luPromise.resolve(promise, data);
  41. }
  42. }
  43. luRequest.request = function(url, method, dataGet, dataPost, promise)
  44. {
  45. if (promise != null) {
  46. luPromise.initPromise(promise);
  47. }
  48. var deferred = $q.defer();
  49. url = url.replace(/\/+$/, '');
  50. var params = {
  51. url: url,
  52. method: method,
  53. params: dataGet,
  54. data: dataPost == null ? null : $.param(dataPost),
  55. headers: {
  56. 'Content-Type': "application/json"
  57. }
  58. };
  59. $http(params)
  60. .success(function (result, status) {
  61. if (result == null || result.Message != null) {
  62. var message = result == null ? "Failed to parse response" : result.Message;
  63. reject(deferred, message, status, promise);
  64. }
  65. else {
  66. resolve(deferred, result.Data, promise);
  67. }
  68. })
  69. .error(function (result, status) {
  70. if (result == null || result.Message != null) {
  71. var message = result == null ? "Failed to parse response" : result.Message;
  72. reject(deferred, message, status, promise);
  73. }
  74. else {
  75. reject(deferred, result, status, promise);
  76. }
  77. });
  78. return deferred.promise;
  79. };
  80. return luRequest;
  81. }]);
  82. })();