aboutsummaryrefslogtreecommitdiff
path: root/js/io/system/coreioapi.js
diff options
context:
space:
mode:
authorPushkar Joshi2012-05-31 12:20:03 -0700
committerPushkar Joshi2012-05-31 12:20:03 -0700
commit4bc52365b1f81a386c3c59fd7c6ad874bb387cb5 (patch)
treec5b17297aba04bd54a59cf6214d29486e089031b /js/io/system/coreioapi.js
parent75a862d305bc4502e22bc5aa65fa271143b8cf6c (diff)
parent6042bdc5f2aada4412912fd01602d32c9088dc26 (diff)
downloadninja-4bc52365b1f81a386c3c59fd7c6ad874bb387cb5.tar.gz
Merge branch 'master' into pentool
Diffstat (limited to 'js/io/system/coreioapi.js')
-rwxr-xr-xjs/io/system/coreioapi.js64
1 files changed, 64 insertions, 0 deletions
diff --git a/js/io/system/coreioapi.js b/js/io/system/coreioapi.js
index a06f45c6..1e6518fe 100755
--- a/js/io/system/coreioapi.js
+++ b/js/io/system/coreioapi.js
@@ -193,6 +193,23 @@ exports.CoreIoApi = Montage.create(Component, {
193 this._fileServiceURL = value; 193 this._fileServiceURL = value;
194 } 194 }
195 }, 195 },
196 ////////////////////////////////////////////////////////////////////
197 //File service API URL
198 _webServiceURL: {
199 enumerable: false,
200 value: '/web'
201 },
202 ////////////////////////////////////////////////////////////////////
203 //
204 webServiceURL: {
205 enumerable: false,
206 get: function() {
207 return String(this.rootUrl+this._webServiceURL);
208 },
209 set: function(value) {
210 this._webServiceURL = value;
211 }
212 },
196 //////////////////////////////////////////////////////////////////// 213 ////////////////////////////////////////////////////////////////////
197 //Directory service API URL 214 //Directory service API URL
198 _directoryServiceURL: { 215 _directoryServiceURL: {
@@ -647,6 +664,53 @@ exports.CoreIoApi = Montage.create(Component, {
647 } 664 }
648 }, 665 },
649 //////////////////////////////////////////////////////////////////// 666 ////////////////////////////////////////////////////////////////////
667 // Reads an external file (cross-domain)
668 // Parameters:
669 // the file parameter must contain the following properties
670 // url: string value containing the full file path/URL i.e. "http://google.com/motorola.html"
671 // binary parameter is optional if the content is to be binary
672 // Return values:
673 // returns an object with two properties
674 // success: boolean indicating if the call succeeded or failed
675 // content: string containing the file contents
676 // status: int indicating the request HTTP status code
677 // 200 - the file was read and its contents were returned
678 // 404 - the file does not exist
679 // 500 - unknown server error occurred
680 readExternalFile: {
681 enumerable: false,
682 value: function(file) {
683 //
684 var retValue = {success:null, content:null, status:null};
685 //
686 if(file && file.url && file.url.length) {
687 try {
688 var serviceURL = this._prepareServiceURL(this.webServiceURL, ''),
689 xhr = new XMLHttpRequest();
690 //
691 xhr.open("GET", serviceURL+"?url="+file.url, false);
692 if (file.binary) xhr.setRequestHeader("return-type", "binary");
693 xhr.setRequestHeader("Content-Type", "text/plain");
694 xhr.send();
695 //
696 if (xhr.readyState === 4) {
697 retValue.status = xhr.status;
698 if(xhr.status == 200) {
699 retValue.content = xhr.response;
700 }
701 retValue.success = true;
702 }
703 }
704 catch(error) {
705 xhr = null;
706 retValue.success = false;
707 }
708 }
709 //
710 return retValue;
711 }
712 },
713 ////////////////////////////////////////////////////////////////////
650 // Create a new directory/folder 714 // Create a new directory/folder
651 // Parameters: 715 // Parameters:
652 // the dir parameter must contain the following properties 716 // the dir parameter must contain the following properties