Skip to content

Commit db3a1c4

Browse files
dryajovmarkspanbroek
authored andcommitted
correctly dispose of http request object
1 parent 1fa960e commit db3a1c4

File tree

1 file changed

+44
-0
lines changed

1 file changed

+44
-0
lines changed

tests/integration/codexclient.nim

Lines changed: 44 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -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

9296
proc 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

98106
proc 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

107119
proc 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

394438
proc getAvailabilities*(

0 commit comments

Comments
 (0)