Update main.py
Browse files
main.py
CHANGED
|
@@ -1,6 +1,5 @@
|
|
| 1 |
from fastapi import FastAPI, Request
|
| 2 |
from fastapi.responses import Response
|
| 3 |
-
from urllib.parse import urljoin
|
| 4 |
import httpx
|
| 5 |
|
| 6 |
app = FastAPI()
|
|
@@ -23,22 +22,18 @@ async def proxy(request: Request, path: str):
|
|
| 23 |
content=content
|
| 24 |
)
|
| 25 |
|
| 26 |
-
#
|
| 27 |
-
|
| 28 |
-
|
| 29 |
-
|
| 30 |
-
|
| 31 |
-
# Construct a new URL that goes through the proxy
|
| 32 |
-
new_location = urljoin(f"http://{request.url.netloc}", location)
|
| 33 |
-
|
| 34 |
-
response.headers["Location"] = new_location
|
| 35 |
|
| 36 |
return Response(
|
| 37 |
content=response.content,
|
| 38 |
status_code=response.status_code,
|
| 39 |
-
headers=
|
| 40 |
)
|
| 41 |
|
| 42 |
if __name__ == "__main__":
|
| 43 |
import os
|
| 44 |
-
os.system("uvicorn main:app --host 0.0.0.0 --port 7860")
|
|
|
|
| 1 |
from fastapi import FastAPI, Request
|
| 2 |
from fastapi.responses import Response
|
|
|
|
| 3 |
import httpx
|
| 4 |
|
| 5 |
app = FastAPI()
|
|
|
|
| 22 |
content=content
|
| 23 |
)
|
| 24 |
|
| 25 |
+
# Process the Location header if present in the response
|
| 26 |
+
response_headers = dict(response.headers)
|
| 27 |
+
if "Location" in response_headers:
|
| 28 |
+
# Replace the target URL with the proxy URL
|
| 29 |
+
response_headers["Location"] = response_headers["Location"].replace("http://www.medicalgpt.club", request.base_url)
|
|
|
|
|
|
|
|
|
|
|
|
|
| 30 |
|
| 31 |
return Response(
|
| 32 |
content=response.content,
|
| 33 |
status_code=response.status_code,
|
| 34 |
+
headers=response_headers
|
| 35 |
)
|
| 36 |
|
| 37 |
if __name__ == "__main__":
|
| 38 |
import os
|
| 39 |
+
os.system("uvicorn main:app --host 0.0.0.0 --port 7860")
|