RAGFlow CLI: ping server before input password when login user (#12791)

### What problem does this PR solve?

As title

### Type of change

- [x] Refactoring

---------

Signed-off-by: Jin Hai <haijin.chn@gmail.com>
This commit is contained in:
Jin Hai
2026-01-23 15:03:05 +08:00
committed by GitHub
parent 08c01b76d5
commit e1df82946e
2 changed files with 37 additions and 27 deletions

View File

@ -87,7 +87,7 @@ class HttpClient:
url = self.build_url(path, use_api_base=use_api_base) url = self.build_url(path, use_api_base=use_api_base)
merged_headers = self._headers(auth_kind, headers) merged_headers = self._headers(auth_kind, headers)
# timeout: Tuple[float, float] = (self.connect_timeout, self.read_timeout) # timeout: Tuple[float, float] = (self.connect_timeout, self.read_timeout)
session = requests.Session() # session = requests.Session()
# adapter = HTTPAdapter(pool_connections=100, pool_maxsize=100) # adapter = HTTPAdapter(pool_connections=100, pool_maxsize=100)
# session.mount("http://", adapter) # session.mount("http://", adapter)
if iterations > 1: if iterations > 1:
@ -95,37 +95,35 @@ class HttpClient:
total_duration = 0.0 total_duration = 0.0
for _ in range(iterations): for _ in range(iterations):
start_time = time.perf_counter() start_time = time.perf_counter()
response = session.get(url, headers=merged_headers, json=json_body, data=data, stream=stream) # response = session.get(url, headers=merged_headers, json=json_body, data=data, stream=stream)
# response = requests.request( response = requests.request(
# method=method, method=method,
# url=url, url=url,
# headers=merged_headers, headers=merged_headers,
# json=json_body, json=json_body,
# data=data, data=data,
# files=files, files=files,
# params=params, params=params,
# timeout=timeout, stream=stream,
# stream=stream, verify=self.verify_ssl,
# verify=self.verify_ssl, )
# )
end_time = time.perf_counter() end_time = time.perf_counter()
total_duration += end_time - start_time total_duration += end_time - start_time
response_list.append(response) response_list.append(response)
return {"duration": total_duration, "response_list": response_list} return {"duration": total_duration, "response_list": response_list}
else: else:
return session.get(url, headers=merged_headers, json=json_body, data=data, stream=stream) # return session.get(url, headers=merged_headers, json=json_body, data=data, stream=stream)
# return requests.request( return requests.request(
# method=method, method=method,
# url=url, url=url,
# headers=merged_headers, headers=merged_headers,
# json=json_body, json=json_body,
# data=data, data=data,
# files=files, files=files,
# params=params, params=params,
# timeout=timeout, stream=stream,
# stream=stream, verify=self.verify_ssl,
# verify=self.verify_ssl, )
# )
def request_json( def request_json(
self, self,

View File

@ -50,6 +50,18 @@ class RAGFlowClient:
self.server_type = server_type self.server_type = server_type
def login_user(self, command): def login_user(self, command):
try:
response = self.http_client.request("GET", "/system/ping", use_api_base=False, auth_kind="web")
if response.status_code == 200 and response.content == b"pong":
pass
else:
print("Server is down")
return
except Exception as e:
print(str(e))
print("Can't access server for login (connection failed)")
return
email : str = command["email"] email : str = command["email"]
user_password = getpass.getpass(f"password for {email}: ").strip() user_password = getpass.getpass(f"password for {email}: ").strip()
try: try: