Repository navigation
v0.1.0b1 — Phase 3: Service Inheritance, Streaming, Upload, ETag
Pre-release
Pre-release
moleculerpy-web v0.1.0b1
Phase 3 — Service Inheritance + Advanced Features
New Features:
- Service Inheritance:
ApiGatewayServiceextendsmoleculerpy.Service(ADR-002) - Internal Actions:
api.listAliases,api.addRoute,api.removeRoutevia@action - Auto-aliases:
$services.changedevent + actionrestannotations - Streaming Responses: async/sync generators →
StreamingResponse - File Upload: multipart/form-data with filename sanitization
- Static File Serving: Starlette
StaticFilesmount - ETag + 304: Conditional GET with
If-None-Matchsupport
Security Hardening:
- CRLF injection prevention in response headers
- Open redirect allowlist (relative paths only)
- Path traversal prevention in filenames and static files
- Default-deny guards on addRoute/removeRoute
- Content-Length pre-check for DoS prevention
Quality:
- 348 tests, 93% coverage
- 45-point real NATS E2E verification
- 7 audit agents, 18 findings fixed
- mypy: 0 errors, ruff: 0 errors
Install:
pip install moleculerpy-web==0.1.0b1
# With file upload support:
pip install "moleculerpy-web[multipart]==0.1.0b1"Full Changelog: https://github.com/MoleculerPy/moleculer-web/blob/main/CHANGELOG.md