أحاول فهم كيفية عمل ميزة ناقل الرسائل التي يستخدمها Discourse للبقاء متصلاً بالإنترنت مع الرسائل والأحداث الجديدة. على وجه الخصوص، أنا مهتم بكيفية استخدامه في إضافة الدردشة الحديثة لـ Discourse.
بالقيام ببعض الهندسة العكسية، أرى أنه عندما أدخل إلى غرفة الدردشة، في كل مرة يقوم فيها ناقل الرسائل بإجراء استطلاع عبر “https://mysite.com/message-bus/client_id/poll”، يتم تكرار رؤوس الطلب على سبيل المثال:
لذلك يعمل هذا على موقعي، ولكن عندما أحاول إجراء طلب من موقع خارجي أو تطبيق جوال، أحصل على الخطأ:
تم حظر الوصول إلى XMLHttpRequest في 'https://forum-dev.srepe.com/message-bus/f6e2303ff7704f608ef2b821fe210e90/poll' من الأصل 'http://localhost:8100' بواسطة سياسة CORS: يحتوي رأس 'Access-Control-Allow-Origin' على قيم متعددة 'https://forum-dev.srepe.com, *'، ولكن يُسمح بقيمة واحدة فقط.
إذن، إذا فهمت بشكل صحيح، فإن message_bus يحدد “Headers” الخاصة به؟ هل هناك أي طريقة لاستخدام “Headers” التي تم تعيينها بالفعل بواسطة إعدادات Discourse، على الأقل تلك التي لها سلوك CORS؟
أبحث عن تجنب “Headers” المكررة عند استخدام message_bus. هذا يسمح لي بإجراء طلبات خارج موقع المنتدى.