22
33import requests as requests_http
44from . import utils
5- from codat .models import operations , shared
5+ from codatfiles .models import operations , shared
66from typing import Optional
77
88class Files :
@@ -22,7 +22,7 @@ def __init__(self, client: requests_http.Session, security_client: requests_http
2222 self ._sdk_version = sdk_version
2323 self ._gen_version = gen_version
2424
25- def download_files (self , request : operations .DownloadFilesRequest ) -> operations .DownloadFilesResponse :
25+ def download_files (self , request : operations .DownloadFilesRequest , retries : Optional [ utils . RetryConfig ] = None ) -> operations .DownloadFilesResponse :
2626 r"""Download all files for a company
2727 You can specify a date to download specific files for.
2828 """
@@ -34,7 +34,20 @@ def download_files(self, request: operations.DownloadFilesRequest) -> operations
3434
3535 client = self ._security_client
3636
37- http_res = client .request ('GET' , url , params = query_params )
37+ retry_config = retries
38+ if retry_config is None :
39+ retry_config = utils .RetryConfig ('backoff' , True )
40+ retry_config .backoff = utils .BackoffStrategy (500 , 60000 , 1.5 , 3600000 )
41+
42+
43+ def do_request ():
44+ return client .request ('GET' , url , params = query_params )
45+
46+ http_res = utils .retry (do_request , utils .Retries (retry_config , [
47+ '408' ,
48+ '429' ,
49+ '5XX'
50+ ]))
3851 content_type = http_res .headers .get ('Content-Type' )
3952
4053 res = operations .DownloadFilesResponse (status_code = http_res .status_code , content_type = content_type , raw_response = http_res )
@@ -45,7 +58,7 @@ def download_files(self, request: operations.DownloadFilesRequest) -> operations
4558
4659 return res
4760
48- def list_files (self , request : operations .ListFilesRequest ) -> operations .ListFilesResponse :
61+ def list_files (self , request : operations .ListFilesRequest , retries : Optional [ utils . RetryConfig ] = None ) -> operations .ListFilesResponse :
4962 r"""List all files uploaded by a company
5063 Returns an array of files that have been uploaded for a given company.
5164 """
@@ -56,7 +69,20 @@ def list_files(self, request: operations.ListFilesRequest) -> operations.ListFil
5669
5770 client = self ._security_client
5871
59- http_res = client .request ('GET' , url )
72+ retry_config = retries
73+ if retry_config is None :
74+ retry_config = utils .RetryConfig ('backoff' , True )
75+ retry_config .backoff = utils .BackoffStrategy (500 , 60000 , 1.5 , 3600000 )
76+
77+
78+ def do_request ():
79+ return client .request ('GET' , url )
80+
81+ http_res = utils .retry (do_request , utils .Retries (retry_config , [
82+ '408' ,
83+ '429' ,
84+ '5XX'
85+ ]))
6086 content_type = http_res .headers .get ('Content-Type' )
6187
6288 res = operations .ListFilesResponse (status_code = http_res .status_code , content_type = content_type , raw_response = http_res )
@@ -68,7 +94,7 @@ def list_files(self, request: operations.ListFilesRequest) -> operations.ListFil
6894
6995 return res
7096
71- def upload_files (self , request : operations .UploadFilesRequest ) -> operations .UploadFilesResponse :
97+ def upload_files (self , request : operations .UploadFilesRequest , retries : Optional [ utils . RetryConfig ] = None ) -> operations .UploadFilesResponse :
7298 r"""Upload files for a company
7399 Upload files
74100 """
@@ -83,7 +109,20 @@ def upload_files(self, request: operations.UploadFilesRequest) -> operations.Upl
83109
84110 client = self ._security_client
85111
86- http_res = client .request ('POST' , url , data = data , files = form , headers = headers )
112+ retry_config = retries
113+ if retry_config is None :
114+ retry_config = utils .RetryConfig ('backoff' , True )
115+ retry_config .backoff = utils .BackoffStrategy (500 , 60000 , 1.5 , 3600000 )
116+
117+
118+ def do_request ():
119+ return client .request ('POST' , url , data = data , files = form , headers = headers )
120+
121+ http_res = utils .retry (do_request , utils .Retries (retry_config , [
122+ '408' ,
123+ '429' ,
124+ '5XX'
125+ ]))
87126 content_type = http_res .headers .get ('Content-Type' )
88127
89128 res = operations .UploadFilesResponse (status_code = http_res .status_code , content_type = content_type , raw_response = http_res )
0 commit comments