Created
July 24, 2015 20:57
-
-
Save leosuncin/03c7ba4453a9d4420c5f to your computer and use it in GitHub Desktop.
Simple angular service for wrap sails.io.js client
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
'use strict'; | |
/** | |
* @ngdoc service | |
* @name yourApp.$sails | |
* @description | |
* # $sails | |
* Service in the yourApp. | |
*/ | |
angular.module('yourApp') | |
.service('$sails', [ | |
'$rootScope', | |
'$q', | |
function($rootScope, $q) { | |
var baseUrl = location.origin || 'http://localhost:1337'; // Change this if your want CORS support | |
function get (url, query) { | |
url = baseUrl + url; | |
query = query || {}; | |
return $q(function(resolve, reject) { | |
io.socket.get(url, query, function(data, jwres) { | |
if (jwres.statusCode < 400) { | |
resolve(jwres); | |
} else { | |
reject(jwres); | |
} | |
}); | |
}); | |
} | |
function post (url, data) { | |
url = baseUrl + url; | |
return $q(function(resolve, reject) { | |
io.socket.post(url, data, function(data, jwres) { | |
if (jwres.statusCode < 400) { | |
resolve(jwres); | |
} else { | |
reject(jwres); | |
} | |
}); | |
}); | |
} | |
function put (url, data) { | |
url = baseUrl + url; | |
return $q(function(resolve, reject) { | |
io.socket.put(url, data, function(data, jwres) { | |
if (jwres.statusCode < 400) { | |
resolve(jwres); | |
} else { | |
reject(jwres); | |
} | |
}); | |
}); | |
} | |
function remove (url, query) { | |
url = baseUrl + url; | |
query = query || {}; | |
return $q(function(resolve, reject) { | |
io.socket.delete(url, query, function(data, jwres) { | |
if (jwres.statusCode < 400) { | |
resolve(jwres); | |
} else { | |
reject(jwres); | |
} | |
}); | |
}); | |
} | |
function on (event, cb) { | |
io.socket.on(event, function(msg) { | |
$rootScope.$apply(function() { | |
cb.apply(null, msg); | |
}); | |
}); | |
} | |
return { | |
get: get, | |
post: post, | |
put: put, | |
delete: remove, | |
on: on | |
}; | |
}]); |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment