diff --git a/changelog/3461.added.md b/changelog/3461.added.md new file mode 100644 index 000000000..e0bc27d83 --- /dev/null +++ b/changelog/3461.added.md @@ -0,0 +1 @@ +- Added the `additional_headers` param to `WebsocketClientParams`, allowing `WebsocketClientTransport` to send custom headers on connect, for cases such as authentication. diff --git a/src/pipecat/transports/websocket/client.py b/src/pipecat/transports/websocket/client.py index 2123a2c4d..02c891c54 100644 --- a/src/pipecat/transports/websocket/client.py +++ b/src/pipecat/transports/websocket/client.py @@ -50,6 +50,7 @@ class WebsocketClientParams(TransportParams): """ add_wav_header: bool = True + additional_headers: Optional[dict[str, str]] = None serializer: Optional[FrameSerializer] = None @@ -130,7 +131,11 @@ class WebsocketClientSession: return try: - self._websocket = await websocket_connect(uri=self._uri, open_timeout=10) + self._websocket = await websocket_connect( + uri=self._uri, + open_timeout=10, + additional_headers=self._params.additional_headers, + ) self._client_task = self.task_manager.create_task( self._client_task_handler(), f"{self._transport_name}::WebsocketClientSession::_client_task_handler",