Commit
·
e2da0c6
1
Parent(s):
c577586
Added middleware
Browse files- webrify2.py +19 -1
webrify2.py
CHANGED
@@ -1,5 +1,5 @@
|
|
1 |
# scrape.py
|
2 |
-
from fastapi import FastAPI, HTTPException
|
3 |
from pydantic import BaseModel
|
4 |
from typing import Optional
|
5 |
import base64
|
@@ -61,6 +61,24 @@ async def get_page(url):
|
|
61 |
return page, browser, pw
|
62 |
|
63 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
64 |
@app.get("/metadata", response_model=MetadataResponse)
|
65 |
async def get_metadata(url: str):
|
66 |
page, browser, pw = await get_page(url)
|
|
|
1 |
# scrape.py
|
2 |
+
from fastapi import FastAPI, HTTPException, Request, Response
|
3 |
from pydantic import BaseModel
|
4 |
from typing import Optional
|
5 |
import base64
|
|
|
61 |
return page, browser, pw
|
62 |
|
63 |
|
64 |
+
# 🛡 Middleware to remove platform-identifying headers
|
65 |
+
@app.middleware("http")
|
66 |
+
async def remove_leaky_headers(request: Request, call_next):
|
67 |
+
response: Response = await call_next(request)
|
68 |
+
|
69 |
+
for header in [
|
70 |
+
"link",
|
71 |
+
"x-proxied-host",
|
72 |
+
"x-proxied-path",
|
73 |
+
"x-proxied-replica",
|
74 |
+
"server"
|
75 |
+
]:
|
76 |
+
response.headers.pop(header, None)
|
77 |
+
|
78 |
+
response.headers["server"] = "Webrify-Secure-Gateway"
|
79 |
+
return response
|
80 |
+
|
81 |
+
|
82 |
@app.get("/metadata", response_model=MetadataResponse)
|
83 |
async def get_metadata(url: str):
|
84 |
page, browser, pw = await get_page(url)
|