def _send_event_internal()

in confidence/confidence.py [0:0]


    def _send_event_internal(self, event_name: str, data: Dict[str, FieldType]) -> None:
        current_time = datetime.utcnow().isoformat() + "Z"
        request_body = {
            "clientSecret": self._client_secret,
            "sendTime": current_time,
            "events": [
                {
                    "eventDefinition": f"eventDefinitions/{event_name}",
                    "payload": {"context": {**self.context}, **data},
                    "eventTime": current_time,
                }
            ],
            "sdk": {"id": "SDK_ID_PYTHON_CONFIDENCE", "version": __version__},
        }

        event_url = "https://events.confidence.dev/v1/events:publish"
        headers = {"Content-Type": "application/json", "Accept": "application/json"}
        timeout_sec = None if self._timeout_ms is None else self._timeout_ms / 1000.0
        try:
            response = requests.post(
                event_url, json=request_body, headers=headers, timeout=timeout_sec
            )
            if response.status_code == 200:
                json = response.json()

                json_errors = json.get("errors")
                if json_errors:
                    self.logger.warning("events emitted with errors:")
                    for error in json_errors:
                        self.logger.warning(error)
            else:
                self.logger.warning(
                    f"Track event {event_name} failed with status code"
                    + f" {response.status_code} and reason: {response.reason}"
                )
        except requests.exceptions.RequestException as e:
            self.logger.warning(f"Failed to track event {event_name}: {str(e)}")