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

Merge branch 'dev' into 'master'

Dev

See merge request !45
parents 991e914b 5562edaf
BIGSTREAM_IMG=bigstream:test BIGSTREAM_IMG=bigstream
BS_SECRET=bigstream-server BS_SECRET=bigstream-server
REDIS_TAG=4 REDIS_TAG=4
PREFIX_NO=19 PREFIX_NO=19
......
#Changelog #Changelog
## [1.2.5] - 2021-10-07 -> 2023-05-21R
### Added
- DOCKER :: TZ Data
- STORAGE :: Wirdcard Subscribe
- PLUGIN :: dt-jwt-verify
- TRIGGER :: http-listener add query meta
### Fixed
- PLUGIN :: dt-mysql port param
## [1.2.4] - 2021-06-21 ## [1.2.4] - 2021-06-21
### Added ### Added
- STORAGE :: Object Cache - STORAGE :: Object Cache
......
FROM node:12-alpine FROM node:12-alpine
RUN apk add --no-cache make gcc g++ python linux-headers udev RUN apk add make gcc g++ linux-headers udev
COPY . /app/node-bigstream COPY . /app/node-bigstream
...@@ -10,7 +10,8 @@ RUN npm install ...@@ -10,7 +10,8 @@ RUN npm install
RUN node script/install_plugins.js RUN node script/install_plugins.js
FROM node:12-alpine FROM node:12-alpine
RUN apk add --no-cache python RUN apk add --no-cache python3
RUN apk add --no-cache tzdata
COPY --from=0 /app/node-bigstream /app/node-bigstream COPY --from=0 /app/node-bigstream /app/node-bigstream
......
...@@ -30,6 +30,7 @@ var process_req = function(req, res ,method) { ...@@ -30,6 +30,7 @@ var process_req = function(req, res ,method) {
'object_type' : 'httpdata', 'object_type' : 'httpdata',
'headers': req.headers, 'headers': req.headers,
'method' : method, 'method' : method,
'query' : reqHelper.getQuery(),
'data' : {} 'data' : {}
} }
......
var Redis = require('redis'); var Redis = require('redis');
var mmatch = require("minimatch");
const KEYS = 'bs:regis:triggers'; const KEYS = 'bs:regis:triggers';
module.exports.create = function(cfg) module.exports.create = function(cfg)
...@@ -78,8 +80,13 @@ StorageEventList.prototype.update = function(cb) ...@@ -78,8 +80,13 @@ StorageEventList.prototype.update = function(cb)
StorageEventList.prototype.findJob= function(sname) StorageEventList.prototype.findJob= function(sname)
{ {
var jobs = []; var jobs = [];
// this.sel.forEach( function (val) {
// if(val.storage_name == sname){
// jobs.push(val);
// }
// });
this.sel.forEach( function (val) { this.sel.forEach( function (val) {
if(val.storage_name == sname){ if(mmatch(sname,val.storage_name)){
jobs.push(val); jobs.push(val);
} }
}); });
......
{ {
"name": "node-bigstream", "name": "node-bigstream",
"description": "", "description": "",
"version": "1.2.4", "version": "1.2.5",
"main": "./bigstream.js", "main": "./bigstream.js",
"author": { "author": {
"name": "Kamron Aroonrua", "name": "Kamron Aroonrua",
......
...@@ -20,6 +20,7 @@ function perform_function(context,response){ ...@@ -20,6 +20,7 @@ function perform_function(context,response){
if(param.http_meta){ if(param.http_meta){
input_meta.http_headers = htdata.headers; input_meta.http_headers = htdata.headers;
input_meta.http_method = htdata.method; input_meta.http_method = htdata.method;
input_meta.http_query = htdata.query;
} }
if(typeof htdata.data == 'object' && htdata.data.type == 'Buffer'){ if(typeof htdata.data == 'object' && htdata.data.type == 'Buffer'){
data = Buffer.from(htdata.data); data = Buffer.from(htdata.data);
......
var util = require('util');
var DTPlugin = require('../dt-plugin');
function DTTask(context,request){
DTPlugin.call(this,context,request);
this.name = "jwt-verify";
this.output_type = "";
}
util.inherits(DTTask,DTPlugin);
DTTask.prototype.perform = require('./perform');
module.exports = DTTask;
\ No newline at end of file
var jwt = require('jsonwebtoken');
var ctx = require('../../../context');
var Utils = ctx.getLib('lib/util/plugin-utils');
function perform_function(context,request,response){
var job_id = context.jobconfig.job_id;
var transaction_id = context.transaction.id;
var param = context.task.config.param || {};
var memstore = context.task.memstore
var output_type = request.input_type;
var data = request.data;
var meta = request.meta || {};
var req_token = param.token || ""
var req_secret = param.secret || ""
var env = {
'type' : output_type,
'data' : data,
'meta' : meta
}
req_secret = Utils.vm_execute_text(env,req_secret);
req_token = Utils.vm_execute_text(env,req_token);
var jwtout = {
"error":true,
"decode":{}
}
jwt.verify(req_token, req_secret, function(err, decoded) {
if(!err){
jwtout.error=false;
jwtout.decode=decoded;
}
meta.jwt = jwtout
response.meta = meta;
response.success(data,output_type);
});
//response.success();
//response.reject();
//response.error("error message")
}
module.exports = perform_function;
...@@ -14,6 +14,7 @@ function perform_function(context,request,response){ ...@@ -14,6 +14,7 @@ function perform_function(context,request,response){
var meta = request.meta || {}; var meta = request.meta || {};
var req_host = param.host || "localhost"; var req_host = param.host || "localhost";
var req_port = param.port || "3306"
var req_user = param.user || ""; var req_user = param.user || "";
var req_pass = param.password || ""; var req_pass = param.password || "";
var req_db = param.database || ""; var req_db = param.database || "";
...@@ -35,6 +36,7 @@ function perform_function(context,request,response){ ...@@ -35,6 +36,7 @@ function perform_function(context,request,response){
{ {
var _prm = meta._param; var _prm = meta._param;
req_host = (_prm.host)?_prm.host:req_host; req_host = (_prm.host)?_prm.host:req_host;
req_port = (_prm.port)?_prm.host:req_port;
req_user = (_prm.user)?_prm.user:req_user; req_user = (_prm.user)?_prm.user:req_user;
req_pass = (_prm.password)?_prm.password:req_pass; req_pass = (_prm.password)?_prm.password:req_pass;
req_db = (_prm.database)?_prm.database:req_db; req_db = (_prm.database)?_prm.database:req_db;
...@@ -43,6 +45,7 @@ function perform_function(context,request,response){ ...@@ -43,6 +45,7 @@ function perform_function(context,request,response){
var conf = { var conf = {
"host" : req_host, "host" : req_host,
"port" : Number(req_port),
"user" : req_user, "user" : req_user,
"password" : req_pass, "password" : req_pass,
"database" : req_db "database" : req_db
......
{ {
"version":"1.2.4", "version":"1.2.5",
"build":"202106211900" "build":"202305211800"
} }
\ No newline at end of file
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