File tree Expand file tree Collapse file tree 2 files changed +21
-2
lines changed Expand file tree Collapse file tree 2 files changed +21
-2
lines changed Original file line number Diff line number Diff line change @@ -174,8 +174,8 @@ def _collect_route_arguments(self,
174
174
for parameter in route_signature .parameters :
175
175
parameter_type = route_signature .parameters [parameter ]
176
176
177
- if 'composite_metadata' == parameter or parameter_type is CompositeMetadata :
178
- route_kwargs ['composite_metadata' ] = composite_metadata
177
+ if 'composite_metadata' == parameter or parameter_type . annotation is CompositeMetadata :
178
+ route_kwargs [parameter ] = composite_metadata
179
179
else :
180
180
payload_data = payload
181
181
Original file line number Diff line number Diff line change @@ -141,6 +141,25 @@ async def response(composite_metadata: CompositeMetadata):
141
141
assert result .metadata == b'test.path'
142
142
143
143
144
+ async def test_routed_request_response_composite_according_to_type (lazy_pipe ):
145
+ router = RequestRouter ()
146
+
147
+ def handler_factory ():
148
+ return RoutingRequestHandler (router )
149
+
150
+ @router .response ('test.path' )
151
+ async def response (metadata : CompositeMetadata ):
152
+ return create_response (metadata = metadata .items [0 ].tags [0 ])
153
+
154
+ async with lazy_pipe (
155
+ client_arguments = {'metadata_encoding' : WellKnownMimeTypes .MESSAGE_RSOCKET_COMPOSITE_METADATA },
156
+ server_arguments = {'handler_factory' : handler_factory }) as (server , client ):
157
+ result = await client .request_response (Payload (metadata = composite (route ('test.path' ))))
158
+
159
+ assert result .metadata == b'test.path'
160
+
161
+
162
+
144
163
async def test_routed_request_response_properly_finished_accept_payload_and_metadata (lazy_pipe ):
145
164
router = RequestRouter ()
146
165
You can’t perform that action at this time.
0 commit comments