Commit b538c179 by Karsa Zoltán István

delete and terraform supp

parent 1bbd6872
......@@ -6,19 +6,27 @@ import json
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:
server = body["datacenter"]
elif datacenter:
server = datacenter
else:
server = balancer_fun()
token = get_datacenter_token(username, server)
print(token)
url = f"{server}/{serverpath}"
t_resp = requests.request(
json=body,
method=method,
url=url,
allow_redirects=False,
allow_redirects=True,
verify=False,
headers={"Authorization": token},
)
......@@ -27,6 +35,10 @@ def proxy_datacenters(
status_code=t_resp.status_code, detail="Remote server error"
)
obj = json.loads(t_resp.content)
obj[0]["datacenter"] = server
response = ORJSONResponse(obj[0], status_code=t_resp.status_code)
if type(obj) is list:
for o in obj:
o["datacenter"] = server
else:
obj["datacenter"] = server
response = ORJSONResponse(obj, status_code=t_resp.status_code)
return response
......@@ -46,8 +46,17 @@ async def user_login(user: UserLoginSchema = Body(...)):
@app.get("/lb/{server_path:path}")
def proxy_get(server_path: str = "/", username=Depends(get_current_user), body=Body()):
return proxy_datacenters(server_path, username, body=body)
def proxy_get(
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}")
......
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