Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Note
titleAuthentication

Note that all the services require that the calling user is authenticated. You can use Basic authentication with your HTTP request.

 


Services

MethodFull PathAvailability
findScriptFiles<your_base_url>/rest/keplerrominfo/refapp/latest/async-script/findScriptFiles4.0.0+
checkScript<your_base_url>/rest/keplerrominfo/refapp/latest/async-script/checkScript4.0.0+
runScript<your_base_url>/rest/keplerrominfo/refapp/latest/async-script/runScript4.0.0+
runDetachedScript<your_base_url>/rest/keplerrominfo/refapp/latest/async-script/runDetachedScript4.0.0+
getResult<your_base_url>/rest/keplerrominfo/refapp/latest/async/getResult4.0.0+

findScriptFiles

Allows you to scan a folder for specific files for which the filename matches a specific regular expression.

ParameterTypeRequiredDescription
dirPathstringyesThe path of the directory to scan
regexstringyesThe regular expression to match the filenames against

Returns a ScriptFileListResponse.

 


Code Block
languagejavascript
titleExample Request using AJS
AJS.$.ajax({
 type: 'POST',
 contentType: "application/json",
 url : "http://localhost:7210/rest/keplerrominfo/refapp/latest/async-script/findScriptFiles",
 data : JSON.stringify({
 	dirPath : "D:/test",
    regex : "[^.]*\.sil"
 }),
 success : function(data) {
	console.log(data);
 },
 beforeSend: function (xhr){ 
	 xhr.setRequestHeader('Authorization', "Basic " + btoa(username + ":" + password)); 
 }
}); 

 

 



Code Block
languagejavascript
titleExample JSON Response
{
 "files":[
   "D:\\test\\test_1234567890 - Copy (5).sil",
   "D:\\test\\test_1234567890 - Copy (6).sil",
   "D:\\test\\test_1234567890 - Copy.sil",
   "D:\\test\\test_1234567890.sil"
 ]
}  

 


checkScript

Schedules a check script task to be run asynchronously for the given script and returns a ScriptScheduledResponse.

ParameterTypeRequiredDescription
source

ScriptSource

yesThe script to check

 


Code Block
titleExample Request using AJS
AJS.$.ajax({
 type: 'POST',
 contentType: "application/json",
 url : "http://localhost:7210/rest/keplerrominfo/refapp/latest/async-script/checkScript",
 data : JSON.stringify({
   source : {
   	type: "file",
   	code: "return 1;"
 	}
 }),
 success : function(data) {
    console.log(data);
 },
 beforeSend: function (xhr){
     xhr.setRequestHeader('Authorization', "Basic " + btoa(username + ":" + password));
 }
});

 

 



Code Block
titleExample JSON Response
{
 "key" : 4
}
 

 

 

 




runScript

Schedules a run script task to be run asynchronously for the given script and returns a ScriptScheduledResponse.

ParameterTypeRequiredDescription
source

ScriptSource

yesThe script to run

 


Code Block
titleExample Request using AJS
AJS.$.ajax({
 type: 'POST',
 contentType: "application/json",
 url : "http://localhost:7210/rest/keplerrominfo/refapp/latest/async-script/runScript",
 data : JSON.stringify({
   source: {
   	type: "file",
   	code: "return 1;"
	}
 }),
 success : function(data) {
    console.log(data);
 },
 beforeSend: function (xhr){
     xhr.setRequestHeader('Authorization', "Basic " + btoa(username + ":" + password));
 }
});

 

 



Code Block
titleExample JSON Response
{
 "key" : 4
}
 

 

 



runDetachedScript

Schedules a task to execute the script passed in as parameter on the server side and does not return the response or any information about it (simply runs the script).

ParameterTypeRequiredDescription

source

ScriptSourceyesThe script to run
 


Code Block
titleExample Request using AJS
AJS.$.ajax({
 type: 'POST',
 contentType: "application/json",
 url : "http://localhost:7210/rest/keplerrominfo/refapp/latest/async-script/runDetachedScript",
 data : JSON.stringify({
   source: {
   	type: "file",
   	code: "return 1;"
 }
 }),
 success : function(data) {
    console.log(data);
 },
 beforeSend: function (xhr){
     xhr.setRequestHeader('Authorization', "Basic " + btoa(username + ":" + password));
 }
});

 

 



Code Block
titleExample JSON Response
null

 

 



getResult

Checks if the task identified by the provided id is still running or has finished and returns an AsyncResultResponse. If the task has finished execution, the result is removed from memory and returned in the response. Subsequent calls to this method will not return the result.

ParameterTypeRequiredDescription

key

intyesThe unique key identifying a scheduled task.

 


Code Block
titleExample Request using AJS
AJS.$.ajax({
 type: 'POST',
 contentType: "application/json",
 url : "http://localhost:7210/rest/keplerrominfo/refapp/latest/async/getResult",
 data : JSON.stringify({
   key: 4
  }),
 success : function(data) {
    console.log(data);
 },
 beforeSend: function (xhr){
     xhr.setRequestHeader('Authorization', "Basic " + btoa(username + ":" + password));
 }
});
 

 



Code Block
titleExample JSON Response
{
 "running":false,
 "outcome": {
	 "valid": true
 }
}
Code Block
titleExample JSON Response
{
 "running":false,
 "outcome" : {
 	"errors" : {
		0 : {
			"errLine":1
			"error":"Encountered <DOUBLE>  at line 1, column 13. Was expecting one of:  ";" , "." , "." "
		}
	}
 }
}

 

 



Beans

ScriptFileListResponse

FieldTypeDescription
filesstring []List of absolute paths

...


AsyncResultResponse

...


FieldTypeDescription

running

booleanSignals that the script is still running
outcomeObjectThe results

 


ScriptScheduledResponse

FieldTypeDescription
keyintThe unique key of the scheduled task

 


ScriptSource

FieldTypeDescription
typestringThe type of the source
codestringThe source code

CURL Example

 


The following curl calls show how you would call SIL scripts from your favourite system (that's Linux, I hope). The commands assume that username / password is 'admin'

Notice the way you pass multiple parameters to the SIL scripts. The logic is the same, you post the script to start running asynchronously, then you come back later for the results. 


Code Block
$curl -H "Content-Type: application/json" -u admin:admin -d " {\"source\" : { \"type\": \"file\", \"code\": \"return 1;\"}}" 192.168.19.250:7210/rest/keplerrominfo/refapp/latest/async-script/runScript
{"key":4}

$curl -H "Content-Type: application/json" -u admin:admin -d "{\"key\" : 3}" 192.168.19.250:7210/rest/keplerrominfo/refapp/latest/async/getResult 
{"running":false,"outcome":{"results":["1"]}}