module LangchainGoogleGeminiTimeoutPatch
  private

  def http_post(url, params)
    http = Net::HTTP.new(url.hostname, url.port)
    http.use_ssl = url.scheme == "https"
    http.open_timeout = 15
    http.read_timeout = 600
    http.write_timeout = 600 if http.respond_to?(:write_timeout=)
    http.set_debug_output(Langchain.logger) if Langchain.logger.debug?
    request = Net::HTTP::Post.new(url)
    request.content_type = "application/json"
    request.body = params.to_json
    response = http.request(request)
    JSON.parse(response.body)
  end
end
#Langchain::LLM::OpenRouter.prepend(LangchainGoogleGeminiTimeoutPatch)
