Package org.a2aproject.sdk.client.http
Interface A2AHttpClient
- All Known Implementing Classes:
AndroidA2AHttpClient,JdkA2AHttpClient,VertxA2AHttpClient
public interface A2AHttpClient
HTTP client interface for making HTTP requests to A2A agents.
Provides a fluent builder API for constructing and executing HTTP requests with support for GET, POST, and DELETE methods. Includes support for both synchronous requests and asynchronous Server-Sent Events (SSE) streaming.
Usage Example
A2AHttpClient client = A2AHttpClientFactory.create();
// Synchronous GET request
A2AHttpResponse response = client.createGet()
.url("http://localhost:9999/api/endpoint")
.addHeader("Authorization", "Bearer token")
.get();
// Synchronous POST request
A2AHttpResponse response = client.createPost()
.url("http://localhost:9999/message:send")
.body("{\"message\": \"Hello\"}")
.post();
// Asynchronous SSE streaming
CompletableFuture<Void> future = client.createPost()
.url("http://localhost:9999/message:stream")
.body(jsonBody)
.postAsyncSSE(
event -> System.out.println("Event: " + event.data()),
error -> System.err.println("Error: " + error),
() -> System.out.println("Stream complete")
);
- See Also:
-
Nested Class Summary
Nested ClassesModifier and TypeInterfaceDescriptionstatic interfaceA2AHttpClient.Builder<T extends A2AHttpClient.Builder<T>>Base builder interface for HTTP requests.static interfaceBuilder for HTTP DELETE requests.static interfaceBuilder for HTTP GET requests.static interfaceBuilder for HTTP POST requests. -
Field Summary
Fields -
Method Summary
Modifier and TypeMethodDescriptionCreates a builder for DELETE requests.Creates a builder for GET requests.Creates a builder for POST requests.
-
Field Details
-
CONTENT_TYPE
HTTP Content-Type header name.- See Also:
-
APPLICATION_JSON
JSON content type value.- See Also:
-
ACCEPT
HTTP Accept header name.- See Also:
-
EVENT_STREAM
SSE event stream content type.- See Also:
-
-
Method Details
-
createGet
A2AHttpClient.GetBuilder createGet()Creates a builder for GET requests.- Returns:
- a new GetBuilder instance
-
createPost
A2AHttpClient.PostBuilder createPost()Creates a builder for POST requests.- Returns:
- a new PostBuilder instance
-
createDelete
A2AHttpClient.DeleteBuilder createDelete()Creates a builder for DELETE requests.- Returns:
- a new DeleteBuilder instance
-