MCPcopy Create free account
hub / github.com/aaPanel/BaoTa / add_server_proxy

Method add_server_proxy

mod/project/java/projectMod.py:3446–3481  ·  view source on GitHub ↗
(self, get)

Source from the content-addressed store, hash-verified

3444 return json_response(True, "获取成功", data = list(res.values()))
3445
3446 def add_server_proxy(self, get):
3447 if not hasattr(get, "site_name") or not get.site_name.strip():
3448 return json_response(status = False, msg = "参数错误")
3449
3450 project_data = self.get_project_find(get.site_name)
3451 if not project_data:
3452 return json_response(False, "未找到项目")
3453
3454 rp = RealServerProxy(project_data)
3455 proxy_data = rp.check_args(get, is_modify = False)
3456 if isinstance(proxy_data, str):
3457 return json_response(status = False, msg = proxy_data)
3458
3459 # 使用正则匹配尝试添加
3460 res = rp.create_proxy(proxy_data)
3461 if res is None:
3462 return json_response(status = True, msg = "添加成功")
3463
3464 # 尝试模板生成
3465 proxy_info = project_data['project_config'].get("proxy_info", [])
3466 proxy_info.append(proxy_data)
3467 project_data['project_config']['proxy_info'] = proxy_info
3468 domain_list = self._project_domain_list(project_data['id'])
3469 domains = [(i["name"], str(i["port"])) for i in domain_list]
3470
3471 ssl, f_ssl = self._get_ssl_status(project_data['name'])
3472 error_msg = self.create_config(project_data, domains, ssl, f_ssl)
3473 if not error_msg:
3474 public.serviceReload()
3475 pdata = {
3476 'project_config': json.dumps(project_data['project_config'])
3477 }
3478 public.M("sites").where("id=?", (project_data['id'],)).update(pdata)
3479 return json_response(status = True, msg = "添加成功")
3480
3481 return json_response(status = False, msg = error_msg)
3482
3483 def modify_server_proxy(self, get):
3484 if not hasattr(get, "site_name") or not get.site_name.strip():

Callers 1

create_projectMethod · 0.95

Calls 14

get_project_findMethod · 0.95
check_argsMethod · 0.95
create_proxyMethod · 0.95
_project_domain_listMethod · 0.95
json_responseFunction · 0.90
RealServerProxyClass · 0.90
_get_ssl_statusMethod · 0.80
create_configMethod · 0.80
getMethod · 0.45
appendMethod · 0.45
dumpsMethod · 0.45
updateMethod · 0.45

Tested by

no test coverage detected