class ImageClientImpl implements ImageClient {

  /**
   * Makes a simple HTTP Get request to the Image microservice.
   *
   * @return The path to the image
   */
  @Override
  public String getImagePath() {
    var httpClient = HttpClient.newHttpClient();
    var httpGet = HttpRequest.newBuilder()
        .GET()
        .uri(URI.create("http://localhost:50005/image-path"))
        .build();

    try {
      LOGGER.info("Sending request to fetch image path");
      var httpResponse = httpClient.send(httpGet, BodyHandlers.ofString());
      logResponse(httpResponse);
      return httpResponse.body();
    } catch (IOException ioe) {
      LOGGER.error("Failure occurred while getting image path", ioe);
    } catch (InterruptedException ie) {
      LOGGER.error("Failure occurred while getting image path", ie);
      Thread.currentThread().interrupt();
    }

    return null;
  }

  private void logResponse(HttpResponse<String> httpResponse) {<FILL_FUNCTION_BODY>}

  private boolean isSuccessResponse(int responseCode) {
    return responseCode >= 200 && responseCode <= 299;
  }
}

    if (isSuccessResponse(httpResponse.statusCode())) {
      LOGGER.info("Image path received successfully");
    } else {
      LOGGER.warn("Image path request failed");
    }
  
<no_super_class>