corebasic 1.0.85 → 1.0.87

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/libs/features.js CHANGED
@@ -12,7 +12,7 @@ const getFeatureMethod = api => api.split(' ')[0].toLowerCase()
12
12
  const getFeatureUrl = api => api.split(' ')[1]
13
13
  const getFeature = name => features[name]
14
14
 
15
- export const send = async (feature, params, payload) => {
15
+ export const send = async (feature, params, payload, headers) => {
16
16
  let {api} = getFeature(feature)
17
17
  let method = getFeatureMethod(api)
18
18
  let url = getFeatureUrl(api)
@@ -24,7 +24,9 @@ export const send = async (feature, params, payload) => {
24
24
  throw {feature, when: 'api/params/substitution', message: "Internal Feature Call" }
25
25
  }
26
26
 
27
- return await (axios[method](`http://127.0.0.1${url}`,payload).timeout(1000))
27
+ payload = { ...payload, feature, txn: Utils.uid() }
28
+
29
+ return (await axios[method](`http://127.0.0.1:3000${url}`, { data: payload, headers: {jwt: headers.jwt}, timeout: 1000 })).data
28
30
  }
29
31
 
30
32
 
@@ -61,7 +63,7 @@ export const start = async (app, url, file) => {
61
63
  try {
62
64
  if (method === "get") {
63
65
  try {
64
- await feature.handler({...req, body: {...req.body, topic} }, res)
66
+ await feature.handler({...req, headers: req.headers, body: {...req.body, topic} }, res)
65
67
  } catch (err) {
66
68
  throw {status: 500, message: "Failed to GET feature", ...err}
67
69
  }
package/libs/messaging.js CHANGED
@@ -3,6 +3,8 @@ import axios from 'axios'
3
3
  import { createClient } from 'redis';
4
4
  import * as Utils from './utils.js'
5
5
 
6
+ const url = process.env.REDIS_URL || "redis://localhost:6380"
7
+
6
8
  // url: 'redis://alice:foobared@localhost:6380'
7
9
  let consumer, publisher
8
10
 
@@ -49,7 +51,6 @@ async function connect({user,req,res, uid}) {
49
51
  }
50
52
 
51
53
  export async function start(app) {
52
- const url = process.env.REDIS_URL || "redis://localhost:6380"
53
54
  consumer = createClient({ url });
54
55
  await consumer.connect();
55
56
  publisher = createClient({ url });
@@ -78,6 +79,31 @@ export async function publish(channel, message) {
78
79
  }
79
80
 
80
81
 
82
+ // Generic Functions
83
+ // -----------------
84
+
85
+ export async function newConsumer() {
86
+ let consumer = createClient({ url })
87
+ await consumer.connect()
88
+ return consumer
89
+ }
90
+
91
+ export async function newProducer() {
92
+ let publisher = createClient({ url })
93
+ await publisher.connect()
94
+ return publisher
95
+ }
96
+
97
+ export async function subscribe(channel, listener) {
98
+ let consumer = await newConsumer()
99
+ await consumer.subscribe(channel, listener)
100
+ }
101
+
102
+
103
+ export async function produce(channel, message) {
104
+ let producer = await newProducer()
105
+ await producer.publish(channel, message)
106
+ }
81
107
 
82
108
 
83
109
 
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "corebasic",
3
3
  "type": "module",
4
- "version": "1.0.85",
4
+ "version": "1.0.87",
5
5
  "description": "",
6
6
  "main": "index.js",
7
7
  "scripts": {