Skip to content

Commit 793ba84

Browse files
committed
eat any exception thrown during auth card get.
1 parent 4e68072 commit 793ba84

File tree

1 file changed

+24
-31
lines changed

1 file changed

+24
-31
lines changed

examples/helloworld/test_client.py

Lines changed: 24 additions & 31 deletions
Original file line numberDiff line numberDiff line change
@@ -28,45 +28,38 @@ async def main() -> None:
2828
)
2929

3030
# Fetch Public Agent Card and Initialize Client
31-
public_agent_card: AgentCard | None = None
32-
extended_agent_card: AgentCard | None = None
3331
final_agent_card_to_use: AgentCard | None = None
3432

3533
try:
3634
logger.info(f"Attempting to fetch public agent card from: {base_url}{PUBLIC_AGENT_CARD_PATH}")
37-
public_agent_card = await resolver.get_agent_card() # Fetches from default public path
35+
_public_card = await resolver.get_agent_card() # Fetches from default public path
3836
logger.info("Successfully fetched public agent card:")
39-
logger.info(public_agent_card.model_dump_json(indent=2, exclude_none=True))
40-
41-
# --- Conditional Step: Fetch Extended Agent Card
42-
if public_agent_card and public_agent_card.supportsAuthenticatedExtendedCard:
43-
logger.info(f"\nPublic card supports authenticated extended card. Attempting to fetch from: {base_url}{EXTENDED_AGENT_CARD_PATH}")
44-
auth_headers_dict = {"Authorization": "Bearer dummy-token-for-extended-card"}
45-
extended_agent_card = await resolver.get_agent_card(
46-
relative_card_path=EXTENDED_AGENT_CARD_PATH, # Or resolver.extended_agent_card_path
47-
http_kwargs={"headers": auth_headers_dict}
48-
)
49-
logger.info("Successfully fetched authenticated extended agent card:")
50-
logger.info(extended_agent_card.model_dump_json(indent=2, exclude_none=True))
51-
else:
52-
logger.info("\nPublic card does not support authenticated extended card, or public card not fetched.")
37+
logger.info(_public_card.model_dump_json(indent=2, exclude_none=True))
38+
final_agent_card_to_use = _public_card
39+
logger.info("\nUsing PUBLIC agent card for client initialization (default).")
40+
41+
if _public_card.supportsAuthenticatedExtendedCard:
42+
try:
43+
logger.info(f"\nPublic card supports authenticated extended card. Attempting to fetch from: {base_url}{EXTENDED_AGENT_CARD_PATH}")
44+
auth_headers_dict = {"Authorization": "Bearer dummy-token-for-extended-card"}
45+
_extended_card = await resolver.get_agent_card(
46+
relative_card_path=EXTENDED_AGENT_CARD_PATH,
47+
http_kwargs={"headers": auth_headers_dict}
48+
)
49+
logger.info("Successfully fetched authenticated extended agent card:")
50+
logger.info(_extended_card.model_dump_json(indent=2, exclude_none=True))
51+
final_agent_card_to_use = _extended_card # Update to use the extended card
52+
logger.info("\nUsing AUTHENTICATED EXTENDED agent card for client initialization.")
53+
except Exception as e_extended:
54+
logger.warning(f"Failed to fetch extended agent card: {e_extended}. Will proceed with public card.", exc_info=True)
55+
elif _public_card: # supportsAuthenticatedExtendedCard is False or None
56+
logger.info("\nPublic card does not indicate support for an extended card. Using public card.")
5357

5458
except Exception as e:
55-
logger.error(f"Error during agent card fetching: {e}", exc_info=True)
56-
# If public card fetching failed, or extended card fetching failed after public card indicated support,
57-
# we might not have a card to use.
58-
59-
# Determine which card to use and Initialize Client
60-
if extended_agent_card:
61-
final_agent_card_to_use = extended_agent_card
62-
logger.info("\nUsing AUTHENTICATED EXTENDED agent card for client initialization.")
63-
elif public_agent_card:
64-
final_agent_card_to_use = public_agent_card
65-
logger.info("\nUsing PUBLIC agent card for client initialization.")
66-
else:
67-
logger.error("\nNo agent card successfully fetched. Cannot initialize client.")
68-
return # Cannot proceed
59+
logger.error(f"Critical error fetching public agent card: {e}", exc_info=True)
60+
raise RuntimeError("Failed to fetch the public agent card. Cannot continue.") from e
6961

62+
7063
client = A2AClient(
7164
httpx_client=httpx_client, agent_card=final_agent_card_to_use
7265
)

0 commit comments

Comments
 (0)