Skip to content

Commit bd476bc

Browse files
Changes per review comments
1 parent 1779f39 commit bd476bc

File tree

1 file changed

+7
-22
lines changed

1 file changed

+7
-22
lines changed

src/a2a/server/apps/rest/rest_adapter.py

Lines changed: 7 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -132,10 +132,9 @@ async def event_generator(
132132
event_generator(method(request, call_context))
133133
)
134134

135-
@rest_error_handler
136135
async def handle_get_agent_card(
137136
self, request: Request, call_context: ServerCallContext | None = None
138-
) -> JSONResponse | Response | Any:
137+
) -> dict[str, Any]:
139138
"""Handles GET requests for the agent card endpoint.
140139
141140
Args:
@@ -149,15 +148,11 @@ async def handle_get_agent_card(
149148
if self.card_modifier:
150149
card_to_serve = self.card_modifier(card_to_serve)
151150

152-
return card_to_serve.model_dump(
153-
exclude_none=True,
154-
by_alias=True,
155-
)
151+
return card_to_serve.model_dump(mode='json', exclude_none=True)
156152

157-
@rest_error_handler
158153
async def handle_authenticated_agent_card(
159154
self, request: Request, call_context: ServerCallContext | None = None
160-
) -> JSONResponse | Response | Any:
155+
) -> dict[str, Any]:
161156
"""Hook for per credential agent card response.
162157
163158
If a dynamic card is needed based on the credentials provided in the request
@@ -178,26 +173,16 @@ async def handle_authenticated_agent_card(
178173
)
179174
card_to_serve = self.extended_agent_card
180175

176+
if not card_to_serve:
177+
card_to_serve = self.agent_card
178+
181179
if self.extended_card_modifier:
182180
context = self._context_builder.build(request)
183181
# If no base extended card is provided, pass the public card to the modifier
184182
base_card = card_to_serve if card_to_serve else self.agent_card
185183
card_to_serve = self.extended_card_modifier(base_card, context)
186184

187-
if card_to_serve:
188-
return card_to_serve.model_dump(
189-
exclude_none=True,
190-
by_alias=True,
191-
)
192-
# If supports_authenticated_extended_card is true, but no
193-
# extended_agent_card was provided, and no modifier produced a card,
194-
# return a 404.
195-
return JSONResponse(
196-
{
197-
'error': 'Authenticated extended agent card is supported but not configured on the server.'
198-
},
199-
status_code=404,
200-
)
185+
return card_to_serve.model_dump(mode='json', exclude_none=True)
201186

202187
def routes(self) -> dict[tuple[str, str], Callable[[Request], Any]]:
203188
"""Constructs a dictionary of API routes and their corresponding handlers.

0 commit comments

Comments
 (0)