Context
Access request headers, database sessions, and user auth.
Context
Procedures receive only the JSON-RPC params. pRPC's core does not pass HTTP request context (headers, user, etc.) into procedures directly.
Adapter-Specific Context
If you need request context, use your adapter's features:
FastAPI — Use Depends to inject request-scoped data. Your RPC endpoint is a FastAPI route, so you can depend on Request, auth, or custom dependencies. How this integrates with pRPC's handler depends on the adapter implementation.
Flask — Use flask.g or flask.request inside procedures. Ensure your procedure runs in a request context (it will when invoked via the Flask-mounted endpoint).
Example (Flask)
from flask import request, g
from prpc import rpc
@rpc
def get_current_ip() -> str:
return request.remote_addrWhen the procedure is called via the Flask RPC endpoint, request is in scope.
Future Support
Planned improvements may add explicit context injection (e.g. a Context parameter) so procedures can access request data in an adapter-agnostic way.