API לימות המשיח
-
@MusiCode אמר בAPI לימות המשיח:
איך עושים?
עשיתי קצת שינויים בקוד שלך והמרתי אותו לקלאס של EMS6, יתכן שזה מספיק בלי TS, לא בדקתי עד הסוף
const Call = require("./call"); const Router = require("express").Router; const EventEmitter = require("this.events"); class Call { read (massage) { } id_list_message (massage) { } } class Yemot_Router extends Router { constructor() { super() this.events = new EventEmitter(); this.this.active_calls = {}; } /** * * @param {string} path * @param {Call} fn */ addFn (path, fn) { this.all(path, (req, res, next) => { req.query = check_query(req.query); const call_id = req.query.ApiCallId; const [current_call, is_new_req] = this.get_current_call(call_id); current_call.get_req_vals(req, res, next); if (is_new_req) { fn(current_call).then((r) => { delete this.this.active_calls[call_id]; console.log(call_id, "deleted", r); }); } else { this.events.emit(call_id); } }); }; get_current_call (call_id) { let current_call = this.active_calls[call_id]; let is_new_req = false; if (!current_call) { current_call = this.active_calls[call_id] = new Call(call_id, this.events); is_new_req = true; console.log(call_id + " is new"); } return [current_call, is_new_req]; }; const check_query = function check_query (query) { if (typeof query == "object") { let iterator; for (const key of Object.keys(query)) { iterator = query[key]; if (typeof iterator === "object") { query[key] = iterator[(iterator.length - 1)]; } } } return query; }; }; module.exports = () => new Yemot_Router()
-
בשביל תיעוד מלא,
תעשה קובץ בשם yemot_router.d.ts, וב require אל תציין סיומת קובץצור קובץ בשם index.d.ts ותמקם אותו בתיקית השורשdeclare function Yemot(): YemotRouter; interface YemotRouter { addFn?(path: string, handler: Handler): void; } interface Call { read(massage: string): Promise<string> } type Handler = (p: Call) => void; export = Yemot;
-
@יוסף-בן-שמעון אמר בAPI לימות המשיח:
בשביל תיעוד מלא,
תעשה קובץ בשם yemot_router.d.ts, וב require אל תציין סיומת קובץצור קובץ בשם index.d.ts ותמקם אותו בתיקית השורשdeclare function Yemot(): YemotRouter; interface YemotRouter { addFn?(path: string, handler: Handler): void; } interface Call { read(massage: string): Promise<string> } type Handler = (p: Call) => void; export = Yemot;
תודה רבה!
בוצע.
-
@יעקב-ישראל
השיחה לא מחזיקה יותר מחצי שעה -
@יעקב-ישראל
יש ניתוקים אחרי 15-30 דקות
אחר מחברי הפורום פנה לשירות לקוחות בימי הקורונה
וביקש שיסדרו לו את זה חדרי ועידה לת"ת
והם אמרו לו שבגל שזה שרתים בחו"ל הם לא יסדרו לו את זה (אני לא זוכר את הניסוח המדוייק , אולי הוא יציץ כאן ויתקן) -
@יעקב-ישראל
היה הגבלות הרבה לפני הקורונה
ניהלו כאן על זה כמה דיונים (לא זוכר האם באסטריסק או כאן)
ולא יצא כלום. -
@יעקב-ישראל
איזה קישורים?
פשוט שלא יגבילו את הניתוב IP -
@יעקב-ישראל
תנסה ותראה
אם אתה מקים מרכזיית אסטריסק
אחרי חצי שעה נהיה שקט (לפני זה כתבתי שמתנקתק , לא היה מדוייק) -
@יעקב-ישראל
אני רואה שממש סטינו מהנושא אני פותח אשכול חדש