Skip to content

Instantly share code, notes, and snippets.

@DigiTec
Created December 2, 2012 04:21
Show Gist options
  • Save DigiTec/4186941 to your computer and use it in GitHub Desktop.
Save DigiTec/4186941 to your computer and use it in GitHub Desktop.
A sample service wrapper that I'm using for wrapping all of my GET based Azure services.
"use strict";
if (typeof(Services) === "undefined")
{
Object.defineProperties(this, {
Services: {
value: {},
configurable: false,
writable: false
}
});
}
Object.defineProperties(this.Services, {
UserFeedback: {
value: (function () {
var _userFeedbackServiceUrl = "http://127.0.0.1/UserFeedback.svc";
var _userFeedbackService = {};
function _packParameters(parameterPack) {
var params = [];
for (var i in parameterPack) {
params.push(i + "=" + encodeURIComponent(parameterPack[i]));
}
return params.join("&");
}
function _keepAlive() {
}
function _submitFeedback(serviceMethod, parameterPack) {
var xhr = XMLHttpRequest();
xhr.onreadystatechange = _keepAlive;
xhr.open("GET", _userFeedbackServiceUrl + "/" + serviceMethod + "?" + _packParameters(parameterPack), true);
xhr.send();
}
Object.defineProperties(_userFeedbackService, {
submitUserRating: {
value: function submitUserRating(user, email, rating, message) {
_submitFeedback("SubmitUserRating", { "user": user, "contact": email, "rating": rating, "msg": message });
}
},
submitFeatureRequest: {
value: function submitFeatureRequest(user, email, message) {
_submitFeedback("SubmitFeatureRequest", { "user": user, "contact": email, "msg": message });
}
},
submitBugReport: {
value: function submitBugReport(user, email, bugDesc, reproSteps, gameData) {
_submitFeedback("SubmitBugFeedback", { "user": user, "contact": email, "bugDesc": bugDesc, "repro": reproSteps, "dump": gameData });
}
},
});
return _userFeedbackService;
})(),
configurable: false,
writable: false
}
});
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment