7 Commits

Author SHA1 Message Date
645d8820f1 fix: repair middleware wiring, input validation, and resource lifecycle
- Wrap RateLimitMiddleware in Middleware() - bare class broke all requests (500)
- Clamp/validate num param - ?num=abc no longer returns 500
- Query length cap (500), result counts clamped to 1..20
- Wire lifespan into Starlette so shared httpx client closes on shutdown
- Purge stale per-IP rate limit entries to bound memory growth
- URL-encode queries in the Playwright scraper path
- Lazy lib imports so the package works without optional playwright
- Add pyproject.toml (activates ruff/pytest/bandit in CI), README, LICENSE
- Remove committed __pycache__, add .gitignore/.dockerignore
- Fix SearXNG healthcheck path (/health -> /healthz) and compose docs
2026-08-20 23:27:27 +00:00
762b2d83db Merge pull request 'fix: batch fix all issues' (#10) from fix/all into main
Reviewed-on: https://git.example.com/jarianc/google-mcp/pulls/10
2026-07-05 17:07:39 -05:00
40454e385f fix: batch fix all 8 open issues
- #1 SearXNG auth: remove external port, internal-only network, enable limiter
- #2 Health checks: add docker-compose healthcheck + depends_on condition
- #3 Rate limiting: add per-IP RateLimitMiddleware (30 req/min)
- #4 Hardcoded secret: replace with ${SEARXNG_SECRET} env var
- #5 Debug disclosure: debug=False, generic error messages, no stack traces
- #6 Health endpoint: add /health route returning JSON status
- #7 asyncio deprecation: get_event_loop() -> get_running_loop()
- #8 httpx reuse: module-level singleton AsyncClient with connection pool
2026-07-05 22:04:57 +00:00
24dad80201 Merge pull request 'CI: remove --no-cache for docker layer caching' (#9) from ci-fix-nocache into main
Reviewed-on: https://git.example.com/jarianc/google-mcp/pulls/9
2026-07-04 22:22:28 -05:00
964eda3901 CI: remove --no-cache for docker layer caching 2026-07-05 03:11:51 +00:00
d5061f45b8 CI: add generalized workflow 2026-07-05 02:46:28 +00:00
1096115208 initial commit 2026-07-03 01:06:24 +00:00