@@ -76,11 +76,27 @@ var FMEServer = ( function() {
7676 return config ;
7777 }
7878
79+ /**
80+ * Get Simple Response Type
81+ * @return {String } - The extracted simple accept type from the config
82+ */
83+ function getResponseType ( ) {
84+ var type = getConfig ( 'accept' ) ,
85+ accept = 'json' ;
86+ if ( type . indexOf ( '/' ) !== - 1 ) {
87+ type = type . split ( / \/ / g) ;
88+ if ( type [ 1 ] . length > 0 ) {
89+ accept = type [ 1 ] ;
90+ }
91+ }
92+ return accept ;
93+ }
94+
7995 /**
8096 * Check Config Status
8197 */
8298 function checkConfig ( ) {
83- if ( getConfig ( ) . server && getConfig ( ) . token ) {
99+ if ( getConfig ( ' server' ) && getConfig ( ' token' ) ) {
84100 return true ;
85101 }
86102 throw new Error ( 'You must initialize FMEServer using the FMEServer.init() method.' ) ;
@@ -288,7 +304,7 @@ var FMEServer = ( function() {
288304 getSession : function ( repository , workspace , callback ) {
289305 callback = callback || null ;
290306 var url = buildURL ( '{{svr}}/fmedataupload/' + repository + '/' + workspace ) ;
291- var params = 'opt_extractarchive=false&opt_pathlevel=3&opt_fullpath=true&token=' + getConfig ( ) . token ;
307+ var params = 'opt_extractarchive=false&opt_pathlevel=3&opt_fullpath=true&token=' + getConfig ( ' token' ) ;
292308 ajax ( url , callback , 'POST' , params , 'application/x-www-form-urlencoded' ) ;
293309 } ,
294310
@@ -330,7 +346,10 @@ var FMEServer = ( function() {
330346 runDataDownload : function ( repository , workspace , params , callback ) {
331347 callback = callback || null ;
332348 var url = buildURL ( '{{svr}}/fmedatadownload/' + repository + '/' + workspace ) ;
333- params = 'opt_responseformat=' + getConfig ( 'accept' ) + '&opt_showresult=true&token=' + getConfig ( ) . token + '&' + params ;
349+ if ( params && params . length > 0 ) {
350+ params = '&' + params ;
351+ }
352+ params = 'opt_responseformat=' + getResponseType ( ) + '&opt_showresult=true&token=' + getConfig ( 'token' ) + params ;
334353 ajax ( url , callback , 'POST' , params , 'application/x-www-form-urlencoded' ) ;
335354 } ,
336355
@@ -344,7 +363,7 @@ var FMEServer = ( function() {
344363 runDataStreaming : function ( repository , workspace , params , callback ) {
345364 callback = callback || null ;
346365 var url = buildURL ( '{{svr}}/fmedatastreaming/' + repository + '/' + workspace ) ;
347- params = 'opt_showresult=true&token=' + getConfig ( ) . token + '&' + params ;
366+ params = 'opt_showresult=true&token=' + getConfig ( ' token' ) + '&' + params ;
348367 ajax ( url , callback , 'POST' , params , 'application/x-www-form-urlencoded' ) ;
349368 } ,
350369
@@ -360,7 +379,7 @@ var FMEServer = ( function() {
360379 callback = callback || null ;
361380 jsid = jsid || null ;
362381 var url = buildURL ( '{{svr}}/fmedataupload/' + repository + '/' + workspace ) ;
363- var token = getConfig ( ) . token ( ) ;
382+ var token = getConfig ( ' token' ) ;
364383 if ( jsid !== null ) {
365384 url += ';jsessionid=' + jsid ;
366385 }
@@ -444,7 +463,7 @@ var FMEServer = ( function() {
444463 for ( var f in files ) {
445464 params += path + '/' + files [ f ] . name + '%22%20%22' ;
446465 }
447- params += '&' + extra + '&opt_responseformat=json &token=' + getConfig ( ) . token ;
466+ params += '&' + extra + '&opt_responseformat=' + getResponseType ( ) + ' &token=' + getConfig ( ' token' ) ;
448467 ajax ( url + params , callback ) ;
449468 } ,
450469
0 commit comments