Move async example to asynchronous version of proc (#18078)

* improve runnableExamples in std/httpclient

* Add synchronous example.

* Update lib/pure/httpclient.nim

Co-authored-by: Timothee Cour <timothee.cour2@gmail.com>
This commit is contained in:
xioren 2021-05-24 20:56:31 -07:00 • committed by GitHub
commit 478f717377
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

View file

@ -574,15 +574,11 @@ proc newHttpClient*(userAgent = defUserAgent, maxRedirects = 5,
##
## `headers` specifies the HTTP Headers.
runnableExamples:
import std/[asyncdispatch, httpclient, strutils]
import std/strutils
proc asyncProc(): Future[string] {.async.} =
var client = newAsyncHttpClient()
return await client.getContent("http://example.com")
let exampleHtml = waitFor asyncProc()
let exampleHtml = newHttpClient().getContent("http://example.com")
assert "Example Domain" in exampleHtml
assert not ("Pizza" in exampleHtml)
assert "Pizza" notin exampleHtml
new result
result.headers = headers
@ -616,6 +612,17 @@ proc newAsyncHttpClient*(userAgent = defUserAgent, maxRedirects = 5,
## connections.
##
## `headers` specifies the HTTP Headers.
runnableExamples:
import std/[asyncdispatch, strutils]
proc asyncProc(): Future[string] {.async.} =
let client = newAsyncHttpClient()
result = await client.getContent("http://example.com")
let exampleHtml = waitFor asyncProc()
assert "Example Domain" in exampleHtml
assert "Pizza" notin exampleHtml
new result
result.headers = headers
result.userAgent = userAgent