a2a_protocol_client/methods/
extended_card.rs1use a2a_protocol_types::AuthenticatedExtendedCardResponse;
7
8use crate::client::A2aClient;
9use crate::error::{ClientError, ClientResult};
10use crate::interceptor::{ClientRequest, ClientResponse};
11
12impl A2aClient {
13 pub async fn get_extended_agent_card(&self) -> ClientResult<AuthenticatedExtendedCardResponse> {
27 const METHOD: &str = "GetExtendedAgentCard";
28
29 let mut req = ClientRequest::new(METHOD, serde_json::Value::Null);
30 self.interceptors.run_before(&mut req).await?;
31
32 let result = self
33 .transport
34 .send_request(
35 METHOD,
36 serde_json::Value::Object(serde_json::Map::new()),
37 &req.extra_headers,
38 )
39 .await?;
40
41 let resp = ClientResponse {
42 method: METHOD.to_owned(),
43 result,
44 status_code: 200,
45 };
46 self.interceptors.run_after(&resp).await?;
47
48 serde_json::from_value::<AuthenticatedExtendedCardResponse>(resp.result)
49 .map_err(ClientError::Serialization)
50 }
51}