Details
-
Task
-
Resolution: Unresolved
-
P2: Important
-
None
-
6.9
-
None
Description
We need to reintroduce the interceptors API that was removed during the unTP polishing.
I suggest to create a simpler interface then we had before. Instead of building the interceptor call chain for user, let users do this, since this will not limit the logic by our understanding how interceptors should behave.
The interface will have two entrypoints that will be executed in order:
1. Interceptor function/functor/QMetaCall in QGrpcChannelOptions
1. Interceptor function/functor/QMetaCall in QGrpcCallOptions
Interceptors should be executed both ways round, or one way round(depending on additional flag is set in options.
The over all interceptor call sequence:
→ client call → call interceptor → channel interceptor → channel call → ↓ server response ↓ ← client response ← call interceptor ← channel interceptor ← channel handling ←
Interceptors must be executed synchronously(with the main call/response chain) otherwise this will cause the data loss issues and unordered call execution.
Suggested interface:
<TBD>
Attachments
Issue Links
- is required for
-
QTBUG-120939 Add the gRPC interceptors support to Qml
- Reported