88# --------------------------------------------------------------------------
99from io import IOBase
1010import sys
11- from typing import Any , AsyncIterable , Callable , Dict , IO , Optional , Type , TypeVar , Union , cast , overload
11+ from typing import Any , AsyncIterable , AsyncIterator , Callable , Dict , IO , Optional , Type , TypeVar , Union , cast , overload
1212import urllib .parse
1313
1414from azure .core .async_paging import AsyncItemPaged , AsyncList
2121 map_error ,
2222)
2323from azure .core .pipeline import PipelineResponse
24- from azure .core .pipeline .transport import AsyncHttpResponse
2524from azure .core .polling import AsyncLROPoller , AsyncNoPolling , AsyncPollingMethod
26- from azure .core .rest import HttpRequest
25+ from azure .core .rest import AsyncHttpResponse , HttpRequest
2726from azure .core .tracing .decorator import distributed_trace
2827from azure .core .tracing .decorator_async import distributed_trace_async
2928from azure .core .utils import case_insensitive_dict
3029from azure .mgmt .core .exceptions import ARMErrorFormat
3130from azure .mgmt .core .polling .async_arm_polling import AsyncARMPolling
3231
3332from ... import models as _models
34- from ..._vendor import _convert_request
3533from ...operations ._storage_accounts_operations import (
3634 build_check_name_availability_request ,
3735 build_create_request ,
@@ -162,7 +160,6 @@ async def check_name_availability(
162160 headers = _headers ,
163161 params = _params ,
164162 )
165- _request = _convert_request (_request )
166163 _request .url = self ._client .format_url (_request .url )
167164
168165 _stream = False
@@ -176,7 +173,7 @@ async def check_name_availability(
176173 map_error (status_code = response .status_code , response = response , error_map = error_map )
177174 raise HttpResponseError (response = response , error_format = ARMErrorFormat )
178175
179- deserialized = self ._deserialize ("CheckNameAvailabilityResult" , pipeline_response )
176+ deserialized = self ._deserialize ("CheckNameAvailabilityResult" , pipeline_response . http_response )
180177
181178 if cls :
182179 return cls (pipeline_response , deserialized , {}) # type: ignore
@@ -189,7 +186,7 @@ async def _create_initial(
189186 account_name : str ,
190187 parameters : Union [_models .StorageAccountCreateParameters , IO [bytes ]],
191188 ** kwargs : Any
192- ) -> Optional [ _models . StorageAccount ]:
189+ ) -> AsyncIterator [ bytes ]:
193190 error_map : MutableMapping [int , Type [HttpResponseError ]] = {
194191 401 : ClientAuthenticationError ,
195192 404 : ResourceNotFoundError ,
@@ -203,7 +200,7 @@ async def _create_initial(
203200
204201 api_version : str = kwargs .pop ("api_version" , _params .pop ("api-version" , self ._api_version or "2015-06-15" ))
205202 content_type : Optional [str ] = kwargs .pop ("content_type" , _headers .pop ("Content-Type" , None ))
206- cls : ClsType [Optional [ _models . StorageAccount ]] = kwargs .pop ("cls" , None )
203+ cls : ClsType [AsyncIterator [ bytes ]] = kwargs .pop ("cls" , None )
207204
208205 content_type = content_type or "application/json"
209206 _json = None
@@ -224,23 +221,25 @@ async def _create_initial(
224221 headers = _headers ,
225222 params = _params ,
226223 )
227- _request = _convert_request (_request )
228224 _request .url = self ._client .format_url (_request .url )
229225
230- _stream = False
226+ _stream = True
231227 pipeline_response : PipelineResponse = await self ._client ._pipeline .run ( # pylint: disable=protected-access
232228 _request , stream = _stream , ** kwargs
233229 )
234230
235231 response = pipeline_response .http_response
236232
237233 if response .status_code not in [200 , 202 ]:
234+ await response .read () # Load the body in memory and close the socket
238235 map_error (status_code = response .status_code , response = response , error_map = error_map )
239236 raise HttpResponseError (response = response , error_format = ARMErrorFormat )
240237
241- deserialized = None
242238 if response .status_code == 200 :
243- deserialized = self ._deserialize ("StorageAccount" , pipeline_response )
239+ deserialized = response .stream_download (self ._client ._pipeline )
240+
241+ if response .status_code == 202 :
242+ deserialized = response .stream_download (self ._client ._pipeline )
244243
245244 if cls :
246245 return cls (pipeline_response , deserialized , {}) # type: ignore
@@ -366,10 +365,11 @@ async def begin_create(
366365 params = _params ,
367366 ** kwargs
368367 )
368+ await raw_result .http_response .read () # type: ignore
369369 kwargs .pop ("error_map" , None )
370370
371371 def get_long_running_output (pipeline_response ):
372- deserialized = self ._deserialize ("StorageAccount" , pipeline_response )
372+ deserialized = self ._deserialize ("StorageAccount" , pipeline_response . http_response )
373373 if cls :
374374 return cls (pipeline_response , deserialized , {}) # type: ignore
375375 return deserialized
@@ -430,7 +430,6 @@ async def delete( # pylint: disable=inconsistent-return-statements
430430 headers = _headers ,
431431 params = _params ,
432432 )
433- _request = _convert_request (_request )
434433 _request .url = self ._client .format_url (_request .url )
435434
436435 _stream = False
@@ -488,7 +487,6 @@ async def get_properties(
488487 headers = _headers ,
489488 params = _params ,
490489 )
491- _request = _convert_request (_request )
492490 _request .url = self ._client .format_url (_request .url )
493491
494492 _stream = False
@@ -502,7 +500,7 @@ async def get_properties(
502500 map_error (status_code = response .status_code , response = response , error_map = error_map )
503501 raise HttpResponseError (response = response , error_format = ARMErrorFormat )
504502
505- deserialized = self ._deserialize ("StorageAccount" , pipeline_response )
503+ deserialized = self ._deserialize ("StorageAccount" , pipeline_response . http_response )
506504
507505 if cls :
508506 return cls (pipeline_response , deserialized , {}) # type: ignore
@@ -647,7 +645,6 @@ async def update(
647645 headers = _headers ,
648646 params = _params ,
649647 )
650- _request = _convert_request (_request )
651648 _request .url = self ._client .format_url (_request .url )
652649
653650 _stream = False
@@ -661,7 +658,7 @@ async def update(
661658 map_error (status_code = response .status_code , response = response , error_map = error_map )
662659 raise HttpResponseError (response = response , error_format = ARMErrorFormat )
663660
664- deserialized = self ._deserialize ("StorageAccount" , pipeline_response )
661+ deserialized = self ._deserialize ("StorageAccount" , pipeline_response . http_response )
665662
666663 if cls :
667664 return cls (pipeline_response , deserialized , {}) # type: ignore
@@ -701,7 +698,6 @@ def prepare_request(next_link=None):
701698 headers = _headers ,
702699 params = _params ,
703700 )
704- _request = _convert_request (_request )
705701 _request .url = self ._client .format_url (_request .url )
706702
707703 else :
@@ -717,7 +713,6 @@ def prepare_request(next_link=None):
717713 _request = HttpRequest (
718714 "GET" , urllib .parse .urljoin (next_link , _parsed_next_link .path ), params = _next_request_params
719715 )
720- _request = _convert_request (_request )
721716 _request .url = self ._client .format_url (_request .url )
722717 _request .method = "GET"
723718 return _request
@@ -785,7 +780,6 @@ def prepare_request(next_link=None):
785780 headers = _headers ,
786781 params = _params ,
787782 )
788- _request = _convert_request (_request )
789783 _request .url = self ._client .format_url (_request .url )
790784
791785 else :
@@ -801,7 +795,6 @@ def prepare_request(next_link=None):
801795 _request = HttpRequest (
802796 "GET" , urllib .parse .urljoin (next_link , _parsed_next_link .path ), params = _next_request_params
803797 )
804- _request = _convert_request (_request )
805798 _request .url = self ._client .format_url (_request .url )
806799 _request .method = "GET"
807800 return _request
@@ -867,7 +860,6 @@ async def list_keys(self, resource_group_name: str, account_name: str, **kwargs:
867860 headers = _headers ,
868861 params = _params ,
869862 )
870- _request = _convert_request (_request )
871863 _request .url = self ._client .format_url (_request .url )
872864
873865 _stream = False
@@ -881,7 +873,7 @@ async def list_keys(self, resource_group_name: str, account_name: str, **kwargs:
881873 map_error (status_code = response .status_code , response = response , error_map = error_map )
882874 raise HttpResponseError (response = response , error_format = ARMErrorFormat )
883875
884- deserialized = self ._deserialize ("StorageAccountKeys" , pipeline_response )
876+ deserialized = self ._deserialize ("StorageAccountKeys" , pipeline_response . http_response )
885877
886878 if cls :
887879 return cls (pipeline_response , deserialized , {}) # type: ignore
@@ -1008,7 +1000,6 @@ async def regenerate_key(
10081000 headers = _headers ,
10091001 params = _params ,
10101002 )
1011- _request = _convert_request (_request )
10121003 _request .url = self ._client .format_url (_request .url )
10131004
10141005 _stream = False
@@ -1022,7 +1013,7 @@ async def regenerate_key(
10221013 map_error (status_code = response .status_code , response = response , error_map = error_map )
10231014 raise HttpResponseError (response = response , error_format = ARMErrorFormat )
10241015
1025- deserialized = self ._deserialize ("StorageAccountKeys" , pipeline_response )
1016+ deserialized = self ._deserialize ("StorageAccountKeys" , pipeline_response . http_response )
10261017
10271018 if cls :
10281019 return cls (pipeline_response , deserialized , {}) # type: ignore
0 commit comments