[#OSSL_HTTP_REQ_CTX_exchange]
= OSSL&lowbar;HTTP&lowbar;REQ&lowbar;CTX&lowbar;exchange
:mrdocs:

Exchange the prepared HTTP request and response, retrying non&hyphen;blocking I&sol;O until done or timeout&period;

== Synopsis

Declared in `&lt;openssl&sol;http&period;h&gt;`

[source,cpp,subs="verbatim,replacements,macros,-callouts"]
----
xref:BIO.adoc[BIO]*
OSSL&lowbar;HTTP&lowbar;REQ&lowbar;CTX&lowbar;exchange(xref:OSSL_HTTP_REQ_CTX.adoc[OSSL&lowbar;HTTP&lowbar;REQ&lowbar;CTX]* rctx);
----

== Return Value

BIO positioned at the response body (memory BIO for expected ASN&period;1, else `rbio)&semi;` do not free&semi; NULL on failure&period;

== Parameters

[cols="1,4"]
|===
| Name| Description
| *rctx*
| Request context with BIOs and headers&sol;body configured&period;
|===


[.small]#Created with https://www.mrdocs.com[MrDocs]#
