@@ -87,12 +87,20 @@ proc getContent(
8787 client: CodexClient , url: string , headers: seq [HttpHeaderTuple ] = @ []
8888): Future [string ] {.async : (raises: [CancelledError , HttpError ]).} =
8989 let response = await client.get (url, headers)
90+
91+ defer :
92+ await response.closeWait ()
93+
9094 return await response.body
9195
9296proc info * (
9397 client: CodexClient
9498): Future [?! JsonNode ] {.async : (raises: [CancelledError , HttpError ]).} =
9599 let response = await client.get (client.baseurl & " /debug/info" )
100+
101+ defer :
102+ await response.closeWait ()
103+
96104 return JsonNode .parse (await response.body)
97105
98106proc setLogLevel * (
@@ -102,6 +110,10 @@ proc setLogLevel*(
102110 url = client.baseurl & " /debug/chronicles/loglevel?level=" & level
103111 headers = @ [(" Content-Type" , " text/plain" )]
104112 response = await client.post (url, headers = headers, body = " " )
113+
114+ defer :
115+ await response.closeWait ()
116+
105117 assert response.status == 200
106118
107119proc uploadRaw * (
@@ -115,6 +127,10 @@ proc upload*(
115127 client: CodexClient , contents: string
116128): Future [?! Cid ] {.async : (raises: [CancelledError , HttpError ]).} =
117129 let response = await client.uploadRaw (contents)
130+
131+ defer :
132+ await response.closeWait ()
133+
118134 assert response.status == 200
119135 Cid .init (await response.body).mapFailure
120136
@@ -136,6 +152,9 @@ proc downloadBytes*(
136152): Future [?! seq [byte ]] {.async : (raises: [CancelledError , HttpError ]).} =
137153 let response = await client.downloadRaw ($ cid, local = local)
138154
155+ defer :
156+ await response.closeWait ()
157+
139158 if response.status != 200 :
140159 return failure ($ response.status)
141160
@@ -153,6 +172,9 @@ proc downloadNoStream*(
153172): Future [?! string ] {.async : (raises: [CancelledError , HttpError ]).} =
154173 let response = await client.post (client.baseurl & " /data/" & $ cid & " /network" )
155174
175+ defer :
176+ await response.closeWait ()
177+
156178 if response.status != 200 :
157179 return failure ($ response.status)
158180
@@ -164,6 +186,9 @@ proc downloadManifestOnly*(
164186 let response =
165187 await client.get (client.baseurl & " /data/" & $ cid & " /network/manifest" )
166188
189+ defer :
190+ await response.closeWait ()
191+
167192 if response.status != 200 :
168193 return failure ($ response.status)
169194
@@ -181,6 +206,9 @@ proc delete*(
181206): Future [?! void ] {.async : (raises: [CancelledError , HttpError ]).} =
182207 let response = await client.deleteRaw ($ cid)
183208
209+ defer :
210+ await response.closeWait ()
211+
184212 if response.status != 204 :
185213 return failure ($ response.status)
186214
@@ -198,6 +226,9 @@ proc list*(
198226): Future [?! RestContentList ] {.async : (raises: [CancelledError , HttpError ]).} =
199227 let response = await client.listRaw ()
200228
229+ defer :
230+ await response.closeWait ()
231+
201232 if response.status != 200 :
202233 return failure ($ response.status)
203234
@@ -209,6 +240,9 @@ proc space*(
209240 let url = client.baseurl & " /space"
210241 let response = await client.get (url)
211242
243+ defer :
244+ await response.closeWait ()
245+
212246 if response.status != 200 :
213247 return failure ($ response.status)
214248
@@ -265,6 +299,9 @@ proc requestStorage*(
265299 )
266300 body = await response.body
267301
302+ defer :
303+ await response.closeWait ()
304+
268305 if response.status != 200 :
269306 doAssert (false , body)
270307 PurchaseId .fromHex (body).catch
@@ -326,6 +363,9 @@ proc postAvailability*(
326363 until = until,
327364 )
328365
366+ defer :
367+ await response.closeWait ()
368+
329369 let body = await response.body
330370
331371 doAssert response.status == 201 ,
@@ -389,6 +429,10 @@ proc patchAvailability*(
389429 enabled = enabled,
390430 until = until,
391431 )
432+
433+ defer :
434+ await response.closeWait ()
435+
392436 doAssert response.status == 204 , " expected No Content, got " & $ response.status
393437
394438proc getAvailabilities * (
0 commit comments