feat: implement gateway service and add font extraction validation tests
This commit is contained in:
Binary file not shown.
+4
-4
@@ -9,13 +9,13 @@ services:
|
||||
environment:
|
||||
PDFENGINE_ENVIRONMENT: dev
|
||||
PDFENGINE_ENGINE_AVAILABLE: "true"
|
||||
PORT: 8000
|
||||
PORT: 8765
|
||||
ports:
|
||||
- "8000:8000"
|
||||
- "8765:8765"
|
||||
volumes:
|
||||
- ./gateway:/home/app
|
||||
healthcheck:
|
||||
test: ["CMD", "python", "-c", "import urllib.request; urllib.request.urlopen('http://127.0.0.1:8000/health').read()" ]
|
||||
test: ["CMD", "python", "-c", "import urllib.request; urllib.request.urlopen('http://127.0.0.1:8765/health').read()" ]
|
||||
interval: 20s
|
||||
timeout: 5s
|
||||
retries: 5
|
||||
@@ -30,7 +30,7 @@ services:
|
||||
image: pdf-engine-frontend:dev
|
||||
container_name: pdf-engine-frontend
|
||||
environment:
|
||||
VITE_GATEWAY_URL: http://localhost:8000
|
||||
VITE_GATEWAY_URL: http://localhost:8765
|
||||
ports:
|
||||
- "5173:5173"
|
||||
volumes:
|
||||
|
||||
@@ -0,0 +1 @@
|
||||
VITE_GATEWAY_URL=http://127.0.0.1:8765
|
||||
@@ -333,7 +333,7 @@ class GatewayService {
|
||||
public baseUrl: string;
|
||||
|
||||
constructor() {
|
||||
this.baseUrl = import.meta.env.VITE_GATEWAY_URL || 'http://127.0.0.1:8000';
|
||||
this.baseUrl = import.meta.env.VITE_GATEWAY_URL as string;
|
||||
}
|
||||
|
||||
async getHealth(): Promise<{ status: string; version: string; engine_available: boolean }> {
|
||||
|
||||
+3
-3
@@ -85,7 +85,7 @@ ENV PYTHONDONTWRITEBYTECODE=1 \
|
||||
PYTHONUNBUFFERED=1 \
|
||||
PIP_NO_CACHE_DIR=1 \
|
||||
PIP_DISABLE_PIP_VERSION_CHECK=1 \
|
||||
PORT=8000
|
||||
PORT=8765
|
||||
|
||||
RUN apt-get update \
|
||||
&& apt-get install -y --no-install-recommends \
|
||||
@@ -114,6 +114,6 @@ COPY gateway/tests ./tests
|
||||
RUN chown -R app:app /home/app
|
||||
USER app
|
||||
|
||||
EXPOSE 8000
|
||||
EXPOSE 8765
|
||||
|
||||
CMD ["uvicorn", "app.main:app", "--host", "0.0.0.0", "--port", "8000"]
|
||||
CMD ["uvicorn", "app.main:app", "--host", "0.0.0.0", "--port", "8765"]
|
||||
|
||||
+4
-4
@@ -59,7 +59,7 @@ Run the service:
|
||||
|
||||
Using the startup script (Windows):
|
||||
```powershell
|
||||
# Default port (8000)
|
||||
# Default port (8765)
|
||||
powershell -File scripts/start_gateway.ps1
|
||||
|
||||
# Custom port (e.g. 8080)
|
||||
@@ -68,7 +68,7 @@ powershell -File scripts/start_gateway.ps1 -Port 8080
|
||||
|
||||
Or run directly via uvicorn (cross-platform):
|
||||
```sh
|
||||
# Default port (8000)
|
||||
# Default port (8765)
|
||||
uvicorn app.main:app --reload
|
||||
|
||||
# Custom port (e.g. 8080)
|
||||
@@ -100,8 +100,8 @@ Additionally, the gateway startup scripts and frontend configuration support:
|
||||
|
||||
| Var | Default | Meaning |
|
||||
|--------------------|-------------------------|--------------------------------------------------|
|
||||
| `PORT` | `8000` | Gateway listening port (used by `start_gateway.ps1`). |
|
||||
| `VITE_GATEWAY_URL` | `http://127.0.0.1:8000` | URL of the gateway API (used by the frontend). |
|
||||
| `PORT` | `8765` | Gateway listening port (used by `start_gateway.ps1`). |
|
||||
| `VITE_GATEWAY_URL` | `http://127.0.0.1:8765` | URL of the gateway API (used by the frontend). |
|
||||
|
||||
A `.env` file in `gateway/` is auto-loaded if present (it is git-ignored
|
||||
via the repo-wide `.venv/` and Python rules — add `.env` to your local
|
||||
|
||||
@@ -8,7 +8,7 @@ import urllib.request
|
||||
|
||||
sys.path.insert(0, "gateway")
|
||||
|
||||
BASE = os.environ.get("GATEWAY_URL", "http://localhost:8000")
|
||||
BASE = os.environ.get("GATEWAY_URL", "http://localhost:8765")
|
||||
|
||||
|
||||
def http_get(url):
|
||||
|
||||
@@ -12,7 +12,7 @@ import time
|
||||
|
||||
import httpx
|
||||
|
||||
BASE_URL = os.environ.get("GATEWAY_URL", "http://localhost:8000")
|
||||
BASE_URL = os.environ.get("GATEWAY_URL", "http://localhost:8765")
|
||||
CORPUS_DIR = os.path.abspath(os.path.join(os.path.dirname(__file__), "..", "..", "corpus", "fonts"))
|
||||
|
||||
TARGET_PDFS = [
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
================================================================================
|
||||
FONT EXTRACTION API VALIDATION
|
||||
Server: http://localhost:8000
|
||||
Server: http://localhost:8765
|
||||
Corpus: C:\Users\Maskan\Desktop\pdf_editor\pdf\corpus\fonts
|
||||
Timestamp: 2026-06-02 12:36:47
|
||||
================================================================================
|
||||
|
||||
@@ -10,7 +10,7 @@ if ($Port -le 0) {
|
||||
if ($envPort) {
|
||||
$Port = $envPort
|
||||
} else {
|
||||
$Port = 8000
|
||||
$Port = 8765
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user