Skip to content

Commit d2adf81

Browse files
committed
merge changes from #1348
1 parent 8a2dfdd commit d2adf81

File tree

1 file changed

+26
-18
lines changed

1 file changed

+26
-18
lines changed

aiobotocore/parsers.py

Lines changed: 26 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -4,8 +4,10 @@
44
BaseEventStreamParser,
55
BaseJSONParser,
66
BaseRestParser,
7+
BaseRpcV2Parser,
78
BaseXMLResponseParser,
89
EC2QueryParser,
10+
EventStreamCBORParser,
911
EventStreamJSONParser,
1012
EventStreamXMLParser,
1113
JSONParser,
@@ -74,10 +76,6 @@ def _create_event_stream(self, response, shape):
7476
return AioEventStream(response['body'], shape, parser, name)
7577

7678

77-
class AioBaseCBORParser(BaseCBORParser, AioResponseParser):
78-
pass
79-
80-
8179
class AioBaseXMLResponseParser(BaseXMLResponseParser, AioResponseParser):
8280
pass
8381

@@ -94,6 +92,10 @@ class AioBaseJSONParser(BaseJSONParser, AioResponseParser):
9492
pass
9593

9694

95+
class AioBaseCBORParser(BaseCBORParser, AioResponseParser):
96+
pass
97+
98+
9799
class AioBaseEventStreamParser(BaseEventStreamParser, AioResponseParser):
98100
pass
99101

@@ -110,7 +112,9 @@ class AioEventStreamXMLParser(
110112
pass
111113

112114

113-
class AioEventStreamCBORParser(RpcV2CBORParser, AioBaseEventStreamParser):
115+
class AioEventStreamCBORParser(
116+
EventStreamCBORParser, AioBaseEventStreamParser, AioBaseCBORParser
117+
):
114118
pass
115119

116120

@@ -147,19 +151,7 @@ class AioBaseRestParser(BaseRestParser, AioResponseParser):
147151
pass
148152

149153

150-
class AioRestJSONParser(RestJSONParser, AioBaseRestParser, AioBaseJSONParser):
151-
EVENT_STREAM_PARSER_CLS = AioEventStreamJSONParser
152-
153-
154-
class AioRestXMLParser(
155-
RestXMLParser, AioBaseRestParser, AioBaseXMLResponseParser
156-
):
157-
EVENT_STREAM_PARSER_CLS = AioEventStreamXMLParser
158-
159-
160-
class AioRpcV2CBORParser(RpcV2CBORParser, AioResponseParser):
161-
EVENT_STREAM_PARSER_CLS = AioEventStreamCBORParser
162-
154+
class AioBaseRpcV2Parser(BaseRpcV2Parser, AioResponseParser):
163155
async def _do_parse(self, response, shape):
164156
parsed = {}
165157
if shape is not None:
@@ -176,6 +168,16 @@ async def _do_parse(self, response, shape):
176168
)
177169
return parsed
178170

171+
172+
class AioRestJSONParser(RestJSONParser, AioBaseRestParser, AioBaseJSONParser):
173+
EVENT_STREAM_PARSER_CLS = AioEventStreamJSONParser
174+
175+
176+
class AioRpcV2CBORParser(
177+
RpcV2CBORParser, AioBaseRpcV2Parser, AioBaseCBORParser
178+
):
179+
EVENT_STREAM_PARSER_CLS = AioEventStreamCBORParser
180+
179181
async def _handle_event_stream(self, response, shape, event_name):
180182
event_stream_shape = shape.members[event_name]
181183
event_stream = self._create_event_stream(response, event_stream_shape)
@@ -189,6 +191,12 @@ async def _handle_event_stream(self, response, shape, event_name):
189191
return parsed
190192

191193

194+
class AioRestXMLParser(
195+
RestXMLParser, AioBaseRestParser, AioBaseXMLResponseParser
196+
):
197+
EVENT_STREAM_PARSER_CLS = AioEventStreamXMLParser
198+
199+
192200
PROTOCOL_PARSERS = {
193201
'ec2': AioEC2QueryParser,
194202
'query': AioQueryParser,

0 commit comments

Comments
 (0)