MOON
Server: Apache
System: Linux server30c.hostingraja.org 3.10.0-962.3.2.lve1.5.63.el7.x86_64 #1 SMP Fri Oct 8 12:03:35 UTC 2021 x86_64
User: jibhires (1887)
PHP: 8.1.30
Disabled: show_source, system, shell_exec, passthru, exec, popen, proc_open, allow_url_fopen, symlink, escapeshellcmd, pcntl_exec
Upload Files
File: //opt/imunify360/venv/lib/python3.11/site-packages/im360/plugins/repeater.py
import asyncio
from logging import getLogger

from defence360agent.contracts.messages import MessageType
from defence360agent.contracts.plugins import MessageSink, expect
from im360.simple_rpc.resident_socket import send_to_socket

logger = getLogger(__name__)


class Repeater(MessageSink):
    async def create_sink(self, loop):
        self._loop = loop

    @expect(MessageType.FilesUpdated)
    async def resend_to_generic_socket(self, msg):
        asyncio.create_task(
            send_to_socket(
                msg={
                    "method": "FILES_UPDATE",
                    "files_type": msg["files_type"],
                },
                wait_for_response=False,
            )
        )

    @expect(MessageType.ConfigUpdate)
    async def resend_config_update_to_generic_socket(self, msg):
        asyncio.create_task(
            send_to_socket(
                msg={
                    "method": "UPDATE_RULES",
                },
                wait_for_response=False,
            )
        )