All Downloads are FREE. Search and download functionalities are using the official Maven repository.

template.JS.stg Maven / Gradle / Ivy

group T;

// JavaScript
//
JSapi(apiHeader, apilist, versionMajor, versionMinor, versionMicro) ::= <<
//
// Copyright (C) 2011-2013 Incapture Technologies LLC
//
// This is an autogenerated license statement. When copyright notices appear below
// this one that copyright supercedes this statement.
//
// Unless required by applicable law or agreed to in writing, software is distributed
// on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
// or implied.
//
// Unless explicit permission obtained in writing this software cannot be distributed.
//

// Autogenerated Javascript API for Rapture
//

var http = require('http');
var MD5 = require('./md5.js');
var FormData = require('form-data');
var querystring = require('querystring');
var site = "localhost";
var port = '8665';
var ctx = {};

exports.getContext = function() {
    return ctx;
}

exports.setConnection = function(s, p) {
     site = s;
     port = p;
}

function _genCall(prefix, fnname, params, callback) {
  var realparams = JSON.stringify(params);

  var postData = querystring.stringify({
    FUNCTION: fnname.toUpperCase(),
    PARAMS: realparams
  });
  var form = new FormData();
  form.append('FUNCTION', fnname.toUpperCase());
  form.append('PARAMS', realparams);
  var options = {
    host: site,
    path: '/rapture/' + prefix.toLowerCase(),
    port: port,
    headers: form.getHeaders(),
    method: 'POST'
  }

  if (ctx.hasOwnProperty('session') && ctx.session.hasOwnProperty('contextId')) {
    options.headers['x-rapture'] = ctx.session.contextId;
  }


  var dcallback = function(response) {
    var str = '';
    response.on('data', function(chunk) {
      str += chunk;
    });
    response.on('end', function() {
      callback(str);
    });
  }

  var req = http.request(options, dcallback);
  form.pipe(req);
  //req.end();
};


function _login(password, callback) {
	var hashPassword = MD5(password);
	var combinedBit = hashPassword + ":" + ctx.session.salt;
	var senderPassword = MD5(combinedBit);

	var sendParams = {
                       "user" : ctx.username,
                       "digest" : senderPassword,
                       "context" : ctx.session.contextId,
                       "clientApiVersion": {"major": , "minor": , "micro":  } };

     _genCall('login', 'LOGIN', sendParams,  callback);
};

exports.login = function(username, password, callback) {
	ctx.username = username;
	var sessionParams = { "user" : username };
	_genCall('login', 'CONTEXT', sessionParams, function(data) {
	    var info = JSON.parse(data);
	    if (info.inError) {
	    	callback(info.message, null);
	   	} else {
	    	ctx.session = info.response;
	    	_login(password, function(d) {
	    		var info = JSON.parse(d);
	    		if (info.inError) {
	    		   callback(info.response.message, null);
	    		} else {
	    		   callback(null, info.response);
	    		}
	    	});
	    }
	});
};

exports.getClientApiVersion = function(callback) {
          callback( null, { "major":, "minor":, "micro":});
         };





>>

JSExportSetup(apiType) ::= <<
   exports. = {};
>>

JSApiEntry(apitype, name, paramNames, params) ::= <<
    // Function for 

exports.. = function(, callback) {
                var callParams = {};
                
                var theName = "";
                _genCall("", theName, callParams, function(resp) {
                	var d  = JSON.parse(resp);
                	if  (d.inError) {
                		callback(d.message, null);
                	} else {
                		ctx.lastStats = d.perfStats;
                		callback(null, d.response);
                	}
                });
    }
>>

JSParam(name) ::= <<
   callParams. = ;
>>




© 2015 - 2025 Weber Informatics LLC | Privacy Policy