async def METHOD_NAME(self, payload: dict, in_edge=None) -> Result:
    dot = self._get_dot_accessor(payload)
    template = DotTemplate()
    try:
        timeout = aiohttp.ClientTimeout(total=self.config.timeout)
        async with HttpClient(
                self.node.on_connection_error_repeat,
                [200, 201, 202, 203, 204],
                timeout=timeout
        ) as client:
            params = {
                "json": {
                    "content": template.render(self.config.message, dot),
                    "username": self.config.username if self.config.username and len(
                        self.config.username) > 0 else None
                }
            }
            async with client.request(
                    method="POST",
                    url=str(self.credentials.url),
                    **params
            ) as response:
                # todo add headers and cookies
                result = {
                    "status": response.status
                }
                if response.status in [200, 201, 202, 203, 204]:
                    return Result(port="response", value=payload)
                else:
                    return Result(port="error", value=result)
    except ClientConnectorError as e:
        return Result(port="error", value=str(e))
    except asyncio.exceptions.TimeoutError:
        return Result(port="error", value="Discord webhook timed out.")