Add independent payment-service (port 8012, payment_db) with foundation licensing, BYO-PSP, merchant accounts, idempotent requests, callbacks, and immutable ledger. Co-authored-by: Cursor <cursoragent@cursor.com>
11 lines
476 B
Python
11 lines
476 B
Python
from uuid import UUID
|
|
from starlette.middleware.base import BaseHTTPMiddleware
|
|
from shared.tenant import HEADER_TENANT_ID, STATE_TENANT_ID
|
|
class TenantHeaderMiddleware(BaseHTTPMiddleware):
|
|
async def dispatch(self, request, call_next):
|
|
raw=request.headers.get(HEADER_TENANT_ID)
|
|
try: value=UUID(raw) if raw else None
|
|
except ValueError: value=None
|
|
setattr(request.state,STATE_TENANT_ID,value)
|
|
return await call_next(request)
|