Class JdkHttpClient

java.lang.Object
dev.langchain4j.http.client.jdk.JdkHttpClient
All Implemented Interfaces:
HttpClient

public class JdkHttpClient extends Object implements HttpClient
  • Constructor Details

  • Method Details

    • execute

      public SuccessfulHttpResponse execute(HttpRequest request) throws HttpException
      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 interface HttpClient
      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 provided ServerSentEventListener.

      The execution flow is as follows:

      1. The request is initiated asynchronously
      2. Received SSE data is parsed using the provided parser
      3. Parsed events are delivered to the listener's appropriate methods
      4. 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 interface HttpClient
      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.