Package dev.langchain4j.http.client.jdk
Class JdkHttpClient
java.lang.Object
dev.langchain4j.http.client.jdk.JdkHttpClient
- All Implemented Interfaces:
HttpClient
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionexecute
(HttpRequest request) Executes a given HTTP request synchronously and returns the response.void
execute
(HttpRequest request, ServerSentEventParser parser, ServerSentEventListener listener) Executes a given HTTP request asynchronously with server-sent events (SSE) handling.
-
Constructor Details
-
JdkHttpClient
-
-
Method Details
-
execute
Description copied from interface:HttpClient
Executes a given HTTP request synchronously and returns the response. This method blocks until the entire response is received.- Specified by:
execute
in interfaceHttpClient
- Parameters:
request
- the HTTP request to be executed.- Returns:
- a
SuccessfulHttpResponse
containing the response data for successful HTTP requests (2XX status codes) - Throws:
HttpException
- if the server returns a client (4XX) or server (5XX) error response
-
execute
public void execute(HttpRequest request, ServerSentEventParser parser, ServerSentEventListener listener) Description copied from interface:HttpClient
Executes a given HTTP request asynchronously with server-sent events (SSE) handling. This method returns immediately while processing continues on a separate thread. Events are processed through the providedServerSentEventListener
.The execution flow is as follows:
- The request is initiated asynchronously
- Received SSE data is parsed using the provided parser
- Parsed events are delivered to the listener's appropriate methods
- If an error occurs,
ServerSentEventListener.onError(Throwable)
is called
If any exception is thrown from the listener's methods, the stream processing will be terminated and no further events will be processed.
- Specified by:
execute
in interfaceHttpClient
- Parameters:
request
- the HTTP request to be executed.parser
- the parser to process incoming server-sent events.listener
- the listener to receive parsed events and error notifications.
-