Skip to content

Commit 16b40a4

Browse files
Update src/a2a/client/client_factory.py
Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>
1 parent b960f68 commit 16b40a4

File tree

1 file changed

+10
-6
lines changed

1 file changed

+10
-6
lines changed

src/a2a/client/client_factory.py

Lines changed: 10 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -125,12 +125,16 @@ def create(
125125
server configuration, a `ValueError` is raised.
126126
"""
127127
valid_transports = {member.value for member in TransportProtocol}
128-
for transport in self._config.supported_transports:
129-
if transport not in valid_transports:
130-
raise ValueError(
131-
f"Unsupported transport type in ClientConfig: '{transport}'. "
132-
f'Valid types are: {", ".join(sorted(valid_transports))}',
133-
)
128+
configured_transports = set(self._config.supported_transports)
129+
130+
invalid_transports = configured_transports.difference(valid_transports)
131+
if invalid_transports:
132+
invalid_str = ", ".join(sorted(f"'{t}'" for t in invalid_transports))
133+
valid_str = ", ".join(sorted(valid_transports))
134+
raise ValueError(
135+
f"Unsupported transport type(s) in ClientConfig: {invalid_str}. "
136+
f"Valid types are: {valid_str}"
137+
)
134138

135139
server_preferred = card.preferred_transport or TransportProtocol.jsonrpc
136140
server_set = {server_preferred: card.url}

0 commit comments

Comments
 (0)