Commit f9e18d4b authored by Kamron Aroonrua's avatar Kamron Aroonrua 💬

http emit

parent 902bbdd9
...@@ -11,6 +11,8 @@ var EvenPub = ctx.getLib('lib/amqp/event-pub'); ...@@ -11,6 +11,8 @@ var EvenPub = ctx.getLib('lib/amqp/event-pub');
var QueueCaller = ctx.getLib('lib/amqp/queuecaller'); var QueueCaller = ctx.getLib('lib/amqp/queuecaller');
var EvenSub = ctx.getLib('lib/amqp/event-sub'); var EvenSub = ctx.getLib('lib/amqp/event-sub');
const EventEmitter = require('events')
const JOBCHANEL = 'bs_job_cmd'; const JOBCHANEL = 'bs_job_cmd';
const API_PORT = 19180; const API_PORT = 19180;
...@@ -27,6 +29,7 @@ function HTTPListener(cfg) ...@@ -27,6 +29,7 @@ function HTTPListener(cfg)
this.jobcaller = new QueueCaller({'url':this.config.amqp.url,'name':'bs_jobs_cmd'}); this.jobcaller = new QueueCaller({'url':this.config.amqp.url,'name':'bs_jobs_cmd'});
this.evs = new EvenSub({'url':this.config.amqp.url,'name':'bs_trigger_cmd'}); this.evs = new EvenSub({'url':this.config.amqp.url,'name':'bs_trigger_cmd'});
this.msgrecv = new EvenSub({'url':this.config.amqp.url,'name':'bs_msg_bus'}); this.msgrecv = new EvenSub({'url':this.config.amqp.url,'name':'bs_msg_bus'});
this.httpcb = new EventEmitter()
} }
HTTPListener.prototype.start = function() HTTPListener.prototype.start = function()
...@@ -40,6 +43,11 @@ HTTPListener.prototype._http_start = function() ...@@ -40,6 +43,11 @@ HTTPListener.prototype._http_start = function()
{ {
var self = this; var self = this;
self.msgrecv.sub('msg.httpcb.#' + session_id,function(err,msg){
var ssid = msg.topic.split('.')[2]
self.httpcb.emit(ssid,msg)
})
this.httpacl.update(function(err){ this.httpacl.update(function(err){
if(!err){ if(!err){
console.log('WWW:ACL Update\t\t[OK]'); console.log('WWW:ACL Update\t\t[OK]');
...@@ -62,7 +70,8 @@ HTTPListener.prototype._http_start = function() ...@@ -62,7 +70,8 @@ HTTPListener.prototype._http_start = function()
app.use(context.middleware({ app.use(context.middleware({
'httpacl' : self.httpacl, 'httpacl' : self.httpacl,
'jobcaller' : self.jobcaller, 'jobcaller' : self.jobcaller,
'msgrecv' : self.msgrecv 'msgrecv' : self.msgrecv,
'httpcb' : self.httpcb
})); }));
app.use(require('./ws')); app.use(require('./ws'));
......
...@@ -22,6 +22,7 @@ var process_req = function(req, res ,method) { ...@@ -22,6 +22,7 @@ var process_req = function(req, res ,method) {
//var evp = req.context.evp; //var evp = req.context.evp;
var jobcaller = req.context.jobcaller; var jobcaller = req.context.jobcaller;
var msgrecv = req.context.msgrecv; var msgrecv = req.context.msgrecv;
var httpcb = req.context.httpcb;
var j = httpacl.findJob(appkey,method); var j = httpacl.findJob(appkey,method);
var jmatch = (j.length>0); var jmatch = (j.length>0);
...@@ -83,8 +84,8 @@ var process_req = function(req, res ,method) { ...@@ -83,8 +84,8 @@ var process_req = function(req, res ,method) {
if(jmatch) if(jmatch)
{ {
if(cb_response){ if(cb_response){
msgrecv.sub('msg.httpcb.' + session_id,function(err,msg){ httpcb.on(session_id,function(msg){
resp_msg.response=msg.data resp_msg.response=msg.data.data;
respHelper.responseOK(resp_msg); respHelper.responseOK(resp_msg);
}) })
}else{ }else{
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment