Commit b538c179 by Karsa Zoltán István

delete and terraform supp

parent 1bbd6872
...@@ -6,19 +6,27 @@ import json ...@@ -6,19 +6,27 @@ import json
def proxy_datacenters( def proxy_datacenters(
serverpath: str, username, method="GET", body="", balancer_fun=rr_get serverpath: str,
username,
method="GET",
body="",
balancer_fun=rr_get,
datacenter=None,
): ):
if "datacenter" in body: if "datacenter" in body:
server = body["datacenter"] server = body["datacenter"]
elif datacenter:
server = datacenter
else: else:
server = balancer_fun() server = balancer_fun()
token = get_datacenter_token(username, server) token = get_datacenter_token(username, server)
print(token)
url = f"{server}/{serverpath}" url = f"{server}/{serverpath}"
t_resp = requests.request( t_resp = requests.request(
json=body, json=body,
method=method, method=method,
url=url, url=url,
allow_redirects=False, allow_redirects=True,
verify=False, verify=False,
headers={"Authorization": token}, headers={"Authorization": token},
) )
...@@ -27,6 +35,10 @@ def proxy_datacenters( ...@@ -27,6 +35,10 @@ def proxy_datacenters(
status_code=t_resp.status_code, detail="Remote server error" status_code=t_resp.status_code, detail="Remote server error"
) )
obj = json.loads(t_resp.content) obj = json.loads(t_resp.content)
obj[0]["datacenter"] = server if type(obj) is list:
response = ORJSONResponse(obj[0], status_code=t_resp.status_code) for o in obj:
o["datacenter"] = server
else:
obj["datacenter"] = server
response = ORJSONResponse(obj, status_code=t_resp.status_code)
return response return response
...@@ -46,8 +46,17 @@ async def user_login(user: UserLoginSchema = Body(...)): ...@@ -46,8 +46,17 @@ async def user_login(user: UserLoginSchema = Body(...)):
@app.get("/lb/{server_path:path}") @app.get("/lb/{server_path:path}")
def proxy_get(server_path: str = "/", username=Depends(get_current_user), body=Body()): def proxy_get(
return proxy_datacenters(server_path, username, body=body) server_path: str = "/", username=Depends(get_current_user), datacenter: str = ""
):
return proxy_datacenters(server_path, username, body="", datacenter=datacenter)
@app.delete("/lb/{server_path:path}")
def proxy_delete(
server_path: str = "/", username=Depends(get_current_user), body=Body()
):
return proxy_datacenters(server_path, username, body=body, method="DELETE")
@app.post("/lb/rr/{server_path:path}") @app.post("/lb/rr/{server_path:path}")
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or sign in to comment