|
VLC
4.0.0-dev
|
|
Functions | |
| struct vlc_http_conn * | vlc_h1_conn_create (void *ctx, struct vlc_tls *, bool proxy) |
| struct vlc_http_stream * | vlc_chunked_open (struct vlc_http_stream *, struct vlc_tls *) |
| struct vlc_http_stream * | vlc_h1_request (void *ctx, const char *hostname, unsigned port, bool proxy, const struct vlc_http_msg *req, bool idempotent, struct vlc_http_conn **restrict connp) |
| Sends an HTTP/1.x request through a new connection. More... | |
| struct vlc_http_stream* vlc_chunked_open | ( | struct vlc_http_stream * | , |
| struct vlc_tls * | |||
| ) |
References vlc_http_stream::cbs, vlc_chunked_stream::chunk_length, vlc_chunked_stream::eof, vlc_chunked_stream::error, vlc_chunked_stream::parent, vlc_chunked_stream::stream, vlc_chunked_stream::tls, unlikely, and vlc_chunked_callbacks.
Referenced by vlc_h1_stream_wait(), and vlc_http_conn_release().
| struct vlc_http_conn* vlc_h1_conn_create | ( | void * | ctx, |
| struct vlc_tls * | , | ||
| bool | proxy | ||
| ) |
References vlc_h1_conn::active, vlc_http_conn::cbs, vlc_http_stream::cbs, vlc_h1_conn::conn, vlc_h1_conn::opaque, vlc_h1_conn::proxy, vlc_h1_conn::released, vlc_h1_conn::stream, vlc_http_conn::tls, unlikely, vlc_h1_conn_callbacks, and vlc_h1_stream_callbacks.
Referenced by vlc_h1_request(), vlc_http_conn_release(), vlc_https_connect_proxy(), and vlc_https_request().
| struct vlc_http_stream* vlc_h1_request | ( | void * | ctx, |
| const char * | hostname, | ||
| unsigned | port, | ||
| bool | proxy, | ||
| const struct vlc_http_msg * | req, | ||
| bool | idempotent, | ||
| struct vlc_http_conn **restrict | connp | ||
| ) |
Sends an HTTP/1.x request through a new connection.
This function resolves a the specified HTTP server hostname, establishes a connection to specified TCP port of the server, then sends an HTTP request. The connection is not protected with TLS.
All those operations are combined in a single function call in order to support TCP Fast Open. That can save one round-trip when establishing a new HTTP connection.
| ctx | opaque context pointer for the HTTP connection |
| hostname | HTTP server or proxy hostname to connect to |
| port | TCP port number to connect to |
| proxy | true of the hostname and port correspond to an HTTP proxy, or false if they correspond to an HTTP origin server |
| req | HTTP request message |
| idempotent | whether the HTTP request is idempotent (e.g. GET), or not (e.g. POST) |
| connp | pointer to storage space for the established HTTP connection (or NULL if the connection is not to be reused) [OUT] can be NULL if the connection is not meant to be reused |
References vlc_h1_conn::conn, p, vlc_h1_conn::stream, unlikely, vlc_getaddrinfo_i11e(), vlc_h1_conn_create(), vlc_http_conn_release(), vlc_http_dbg(), vlc_http_err(), vlc_http_stream_open(), vlc_strerror_c(), vlc_tls_SessionDelete(), and vlc_tls_SocketOpenAddrInfo().
Referenced by vlc_http_conn_release(), and vlc_http_request().
1.8.13