Lines Matching full:bio

78 \& typedef BIO *(*OSSL_HTTP_bio_cb_t)(BIO *bio, void *arg,
82 \& int use_ssl, BIO *bio, BIO *rbio,
85 \& int OSSL_HTTP_proxy_connect(BIO *bio, const char *server, const char *port,
87 \& int timeout, BIO *bio_err, const char *prog);
90 \& const char *content_type, BIO *req,
93 \& BIO *OSSL_HTTP_exchange(OSSL_HTTP_REQ_CTX *rctx, char **redirection_url);
94 \& BIO *OSSL_HTTP_get(const char *url, const char *proxy, const char *no_proxy,
95 \& BIO *bio, BIO *rbio,
100 \& BIO *OSSL_HTTP_transfer(OSSL_HTTP_REQ_CTX **prctx,
104 \& BIO *bio, BIO *rbio,
107 \& const char *content_type, BIO *req,
114 \&\fBOSSL_HTTP_open()\fR initiates an HTTP session using the \fIbio\fR argument if not
117 Typically the OpenSSL build supports sockets and the \fIbio\fR parameter is NULL.
119 The function creates a network BIO internally using \fBBIO_new_connect\fR\|(3)
122 Then this internal BIO is used for setting up a connection
125 If \fIbio\fR is given and \fIrbio\fR is NULL then this \fIbio\fR is used instead.
126 If both \fIbio\fR and \fIrbio\fR are given (which may be memory BIOs for instance)
129 As soon as the client has flushed \fIbio\fR the server must be ready to provide
132 If \fIbio\fR is given,
135 If \fIbio\fR is NULL the optional \fIproxy\fR parameter can be used to set an
158 may be used to modify the connection BIO used by the HTTP client,
159 but cannot be used when both \fIbio\fR and \fIrbio\fR are given.
160 \&\fIbio_update_fn\fR is a BIO connect/disconnect callback function with prototype
163 \& BIO *(*OSSL_HTTP_bio_cb_t)(BIO *bio, void *arg, int connect, int detail)
166 The callback function may modify the BIO provided in the \fIbio\fR argument,
173 For instance, on connect the callback may push an SSL BIO to implement HTTPS;
174 after disconnect it may do some diagnostic output and pop and free the SSL BIO.
176 The callback function must return either the potentially modified BIO \fIbio\fR
177 or NULL to indicate failure, in which case it should not modify the BIO.
182 \& BIO *http_tls_cb(BIO *bio, void *arg, int connect, int detail)
186 \& BIO *sbio = BIO_new_ssl(ctx, 1);
188 \& bio = sbio != NULL ? BIO_push(sbio, bio) : NULL;
190 \& BIO *hbio;
195 \& BIO_ssl_shutdown(bio);
196 \& hbio = BIO_pop(bio);
197 \& BIO_free(bio); /* SSL BIO */
198 \& bio = hbio;
200 \& return bio;
204 After disconnect the modified BIO will be deallocated using \fBBIO_free_all()\fR.
217 \&\fBOSSL_HTTP_proxy_connect()\fR may be used by an above BIO connect callback function
219 It promotes the given BIO \fIbio\fR representing a connection
263 the contents buffered in a memory BIO, which does not support streaming.
264 Otherwise it returns directly the read BIO that holds the response contents,
266 The caller is responsible for freeing the BIO pointer obtained.
268 \&\fBOSSL_HTTP_get()\fR uses HTTP GET to obtain data from \fIbio\fR if non-NULL,
269 else from the server contained in the \fIurl\fR, and returns it as a BIO.
272 If \fIbio\fR is non-NULL, any host and port components in the \fIurl\fR are not used
280 The caller is responsible for freeing the BIO pointer obtained.
292 The caller is responsible for freeing the BIO pointer obtained.
295 The \fIok\fR parameter is passed to any BIO update function
316 return a memory BIO that buffers all the data received if an ASN.1\-encoded
317 response is expected, otherwise a BIO that may support streaming.
318 The BIO must be freed by the caller.
321 The caller is responsible for freeing the BIO pointer obtained.