diff --git a/backend/app/main.py b/backend/app/main.py index ed0ba97..221b374 100644 --- a/backend/app/main.py +++ b/backend/app/main.py @@ -1,5 +1,6 @@ from fastapi import FastAPI, Depends, HTTPException, status from fastapi.middleware.cors import CORSMiddleware +from fastapi.middleware.trustedhost import TrustedHostMiddleware from fastapi.security import OAuth2PasswordRequestForm from sqlalchemy.orm import Session from typing import Optional @@ -10,8 +11,11 @@ from .database import SessionLocal, engine, Base Base.metadata.create_all(bind=engine) -app = FastAPI() +app = FastAPI(proxy_headers=True) +app.add_middleware( + TrustedHostMiddleware, allowed_hosts=["site-api.muszyn.dev", "*.muszyn.dev"] +) app.add_middleware( CORSMiddleware, allow_origins=[ diff --git a/frontend/src/App.tsx b/frontend/src/App.tsx index 210dbcb..d6d847c 100644 --- a/frontend/src/App.tsx +++ b/frontend/src/App.tsx @@ -83,7 +83,12 @@ function BlogPage() { const [blogs, setBlogs] = useState([]); useEffect(() => { - fetch(`${API_URL}/blogs`) + fetch(`${API_URL}/blogs`, { + method: "GET", + headers: { + "Content-Type": "application/json", + }, + }) .then((res) => res.json()) .then((data: Blog[]) => setBlogs(data)) .catch((err) => console.error(err)); diff --git a/frontend/src/utils/BlogList.tsx b/frontend/src/utils/BlogList.tsx index 29c30b7..0f52c41 100644 --- a/frontend/src/utils/BlogList.tsx +++ b/frontend/src/utils/BlogList.tsx @@ -4,7 +4,12 @@ import { API_URL } from "./constants"; export function BlogList() { const [content, setContent] = useState(""); useEffect(() => { - fetch(`${API_URL}/get-blogs`) + fetch(`${API_URL}/get-blogs`, { + method: "GET", + headers: { + "Content-Type": "application/json", + }, + }) .then((res) => res.text()) .then(setContent); }, []); diff --git a/frontend/src/utils/BlogViewer.tsx b/frontend/src/utils/BlogViewer.tsx index e9537be..b1432cd 100644 --- a/frontend/src/utils/BlogViewer.tsx +++ b/frontend/src/utils/BlogViewer.tsx @@ -16,7 +16,12 @@ export function BlogViewer() { useEffect(() => { if (!slug) return; - fetch(`${API_URL}/blogs/${slug}`) + fetch(`${API_URL}/blogs/${slug}`, { + method: "GET", + headers: { + "Content-Type": "application/json", + }, + }) .then((res) => res.json()) .then((data: Blog) => setBlog(data)) .catch((err) => console.error(err)); diff --git a/frontend/src/utils/EditBlog.tsx b/frontend/src/utils/EditBlog.tsx index bd2231e..647d4b2 100644 --- a/frontend/src/utils/EditBlog.tsx +++ b/frontend/src/utils/EditBlog.tsx @@ -16,7 +16,12 @@ export function EditBlog() { useEffect(() => { if (!slug) return; - fetch(`${API_URL}/blogs/${slug}`) + fetch(`${API_URL}/blogs/${slug}`, { + method: "GET", + headers: { + "Content-Type": "application/json", + }, + }) .then((res) => res.json()) .then((data: Blog) => { setBlog(data);