דילוג לתוכן
  • דף הבית
  • קטגוריות
  • פוסטים אחרונים
  • משתמשים
  • חיפוש
  • חוקי הפורום
כיווץ
תחומים

תחומים - פורום חרדי מקצועי

💡 רוצה לזכור קריאת שמע בזמן? לחץ כאן!
  1. דף הבית
  2. תכנות
  3. API לימות המשיח

API לימות המשיח

מתוזמן נעוץ נעול הועבר תכנות
31 פוסטים 4 כותבים 463 צפיות 5 עוקבים
  • מהישן לחדש
  • מהחדש לישן
  • הכי הרבה הצבעות
תגובה
  • תגובה כנושא
התחברו כדי לפרסם תגובה
נושא זה נמחק. רק משתמשים עם הרשאות מתאימות יוכלו לצפות בו.
  • MusiCodeM MusiCode

    @יוסף-בן-שמעון אמר בAPI לימות המשיח:

    שאפו על הקוד המושקע!

    תודה תודה!

    אולי תעשה גם קבצי d.ts בשביל שעורך הקוד יכיר את הטיפוסים שלך, זה סטנדרט ב NPM

    איך עושים?
    אני שברתי את הראש על זה!
    אפילו פתחתי כאן שרשור, אא"ט.

    י מנותק
    י מנותק
    יוסף בן שמעון
    כתב ב נערך לאחרונה על ידי
    #17

    @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()
    
    
    י תגובה 1 תגובה אחרונה
    1
    • י יוסף בן שמעון

      @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()
      
      
      י מנותק
      י מנותק
      יוסף בן שמעון
      כתב ב נערך לאחרונה על ידי יוסף בן שמעון
      #18

      בשביל תיעוד מלא, תעשה קובץ בשם 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;
      
      
      MusiCodeM תגובה 1 תגובה אחרונה
      4
      • י יוסף בן שמעון

        בשביל תיעוד מלא, תעשה קובץ בשם 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;
        
        
        MusiCodeM מנותק
        MusiCodeM מנותק
        MusiCode
        כתב ב נערך לאחרונה על ידי
        #19

        @יוסף-בן-שמעון אמר ב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;
        
        

        תודה רבה!

        בוצע.

        תגובה 1 תגובה אחרונה
        1
        • MusiCodeM MusiCode

          @nigun כי הם נותנים לי הכי הרבה.

          וההפנייה לSIP תקולה אצלם, כך שאי אפשר לבנות על הפנייה לIP.

          יעקב ישראלי מנותק
          יעקב ישראלי מנותק
          יעקב ישראל
          כתב ב נערך לאחרונה על ידי
          #20

          @MusiCode לא מבין איפה הבעיה שולחים לשירות לקוחות את כתובת הIP והם פותחים לך זה כולה עניין של אבטחה

          nigunN תגובה 1 תגובה אחרונה
          0
          • יעקב ישראלי יעקב ישראל

            @MusiCode לא מבין איפה הבעיה שולחים לשירות לקוחות את כתובת הIP והם פותחים לך זה כולה עניין של אבטחה

            nigunN מנותק
            nigunN מנותק
            nigun
            כתב ב נערך לאחרונה על ידי
            #21

            @יעקב-ישראל
            השיחה לא מחזיקה יותר מחצי שעה

            מייל: nigun@duck.com

            יעקב ישראלי תגובה 1 תגובה אחרונה
            0
            • nigunN nigun

              @יעקב-ישראל
              השיחה לא מחזיקה יותר מחצי שעה

              יעקב ישראלי מנותק
              יעקב ישראלי מנותק
              יעקב ישראל
              כתב ב נערך לאחרונה על ידי
              #22

              @nigun תסביר בדיוק איפה הבעיה
              זה מוגבל לחצי שעה
              או שיש ניתוקים והמקסימום זה חצי שעה ?

              nigunN תגובה 1 תגובה אחרונה
              0
              • יעקב ישראלי יעקב ישראל

                @nigun תסביר בדיוק איפה הבעיה
                זה מוגבל לחצי שעה
                או שיש ניתוקים והמקסימום זה חצי שעה ?

                nigunN מנותק
                nigunN מנותק
                nigun
                כתב ב נערך לאחרונה על ידי
                #23

                @יעקב-ישראל
                יש ניתוקים אחרי 15-30 דקות
                אחר מחברי הפורום פנה לשירות לקוחות בימי הקורונה
                וביקש שיסדרו לו את זה חדרי ועידה לת"ת
                והם אמרו לו שבגל שזה שרתים בחו"ל הם לא יסדרו לו את זה (אני לא זוכר את הניסוח המדוייק , אולי הוא יציץ כאן ויתקן)

                מייל: nigun@duck.com

                יעקב ישראלי תגובה 1 תגובה אחרונה
                0
                • nigunN nigun

                  @יעקב-ישראל
                  יש ניתוקים אחרי 15-30 דקות
                  אחר מחברי הפורום פנה לשירות לקוחות בימי הקורונה
                  וביקש שיסדרו לו את זה חדרי ועידה לת"ת
                  והם אמרו לו שבגל שזה שרתים בחו"ל הם לא יסדרו לו את זה (אני לא זוכר את הניסוח המדוייק , אולי הוא יציץ כאן ויתקן)

                  יעקב ישראלי מנותק
                  יעקב ישראלי מנותק
                  יעקב ישראל
                  כתב ב נערך לאחרונה על ידי
                  #24

                  @nigun היה באמת בגלל הקורונה כמה הגבלות
                  כעת אשמח שתבדקו האם עדיין יש ניתוקים
                  וכעת פותחים לכל מי שמבקש

                  nigunN תגובה 1 תגובה אחרונה
                  0
                  • יעקב ישראלי יעקב ישראל

                    @nigun היה באמת בגלל הקורונה כמה הגבלות
                    כעת אשמח שתבדקו האם עדיין יש ניתוקים
                    וכעת פותחים לכל מי שמבקש

                    nigunN מנותק
                    nigunN מנותק
                    nigun
                    כתב ב נערך לאחרונה על ידי
                    #25

                    @יעקב-ישראל
                    היה הגבלות הרבה לפני הקורונה
                    ניהלו כאן על זה כמה דיונים (לא זוכר האם באסטריסק או כאן)
                    ולא יצא כלום.

                    מייל: nigun@duck.com

                    יעקב ישראלי תגובה 1 תגובה אחרונה
                    0
                    • nigunN nigun

                      @יעקב-ישראל
                      היה הגבלות הרבה לפני הקורונה
                      ניהלו כאן על זה כמה דיונים (לא זוכר האם באסטריסק או כאן)
                      ולא יצא כלום.

                      יעקב ישראלי מנותק
                      יעקב ישראלי מנותק
                      יעקב ישראל
                      כתב ב נערך לאחרונה על ידי
                      #26

                      @nigun תבדוק (ותביא קישורים)
                      אוכל לקדם את זה בימות

                      nigunN תגובה 1 תגובה אחרונה
                      0
                      • יעקב ישראלי יעקב ישראל

                        @nigun תבדוק (ותביא קישורים)
                        אוכל לקדם את זה בימות

                        nigunN מנותק
                        nigunN מנותק
                        nigun
                        כתב ב נערך לאחרונה על ידי
                        #27

                        @יעקב-ישראל
                        איזה קישורים?
                        פשוט שלא יגבילו את הניתוב IP

                        מייל: nigun@duck.com

                        יעקב ישראלי תגובה 1 תגובה אחרונה
                        0
                        • nigunN nigun

                          @יעקב-ישראל
                          איזה קישורים?
                          פשוט שלא יגבילו את הניתוב IP

                          יעקב ישראלי מנותק
                          יעקב ישראלי מנותק
                          יעקב ישראל
                          כתב ב נערך לאחרונה על ידי
                          #28

                          @nigun שלא יגבילו מבחינת מה ?
                          איפה זה מוגבל היום ?

                          nigunN תגובה 1 תגובה אחרונה
                          0
                          • יעקב ישראלי יעקב ישראל

                            @nigun שלא יגבילו מבחינת מה ?
                            איפה זה מוגבל היום ?

                            nigunN מנותק
                            nigunN מנותק
                            nigun
                            כתב ב נערך לאחרונה על ידי
                            #29

                            @יעקב-ישראל
                            תנסה ותראה
                            אם אתה מקים מרכזיית אסטריסק
                            אחרי חצי שעה נהיה שקט (לפני זה כתבתי שמתנקתק , לא היה מדוייק)

                            מייל: nigun@duck.com

                            יעקב ישראלי תגובה 1 תגובה אחרונה
                            0
                            • nigunN nigun

                              @יעקב-ישראל
                              תנסה ותראה
                              אם אתה מקים מרכזיית אסטריסק
                              אחרי חצי שעה נהיה שקט (לפני זה כתבתי שמתנקתק , לא היה מדוייק)

                              יעקב ישראלי מנותק
                              יעקב ישראלי מנותק
                              יעקב ישראל
                              כתב ב נערך לאחרונה על ידי
                              #30

                              @nigun תוכל לתת לי IP (תוכל למייל) בשביל שאשלח למתכנת לבדוק

                              nigunN תגובה 1 תגובה אחרונה
                              1
                              • יעקב ישראלי יעקב ישראל

                                @nigun תוכל לתת לי IP (תוכל למייל) בשביל שאשלח למתכנת לבדוק

                                nigunN מנותק
                                nigunN מנותק
                                nigun
                                כתב ב נערך לאחרונה על ידי
                                #31

                                @יעקב-ישראל
                                אני רואה שממש סטינו מהנושא אני פותח אשכול חדש

                                מייל: nigun@duck.com

                                תגובה 1 תגובה אחרונה
                                1
                                תגובה
                                • תגובה כנושא
                                התחברו כדי לפרסם תגובה
                                • מהישן לחדש
                                • מהחדש לישן
                                • הכי הרבה הצבעות


                                • 1
                                • 2
                                בא תתחבר לדף היומי!
                                • התחברות

                                • אין לך חשבון עדיין? הרשמה

                                • התחברו או הירשמו כדי לחפש.
                                • פוסט ראשון
                                  פוסט אחרון
                                0
                                • דף הבית
                                • קטגוריות
                                • פוסטים אחרונים
                                • משתמשים
                                • חיפוש
                                • חוקי הפורום