struct vlc_http_conn * vlc_h2_conn_create(void *ctx, struct vlc_tls *)
Definition: h2conn.c:719
struct vlc_http_msg * vlc_http_mgr_request(struct vlc_http_mgr *mgr, bool https, const char *host, unsigned port, const struct vlc_http_msg *m)
Sends an HTTP request.
Definition: connmgr.c:254
TLS credentials.
Definition: vlc_tls.h:67
void vlc_vaLog(vlc_object_t *obj, int type, const char *module, const char *file, unsigned line, const char *func, const char *format, va_list args)
Emit a log message.
Definition: messages.c:87
vlc_tls_creds_t * creds
Definition: connmgr.c:98
static struct vlc_http_msg * vlc_http_mgr_reuse(struct vlc_http_mgr *mgr, const char *host, unsigned port, const struct vlc_http_msg *req)
Definition: connmgr.c:120
struct vlc_http_mgr * vlc_http_mgr_create(vlc_object_t *obj, struct vlc_http_cookie_jar_t *jar)
Creates an HTTP connection manager.
Definition: connmgr.c:266
char * vlc_getProxyUrl(const char *url)
Determines the network proxy server to use (if any).
Definition: specific.c:315
struct vlc_http_conn * vlc_h1_conn_create(void *ctx, struct vlc_tls *, bool proxy)
Definition: h1conn.c:322
struct vlc_tls * vlc_https_connect_proxy(void *ctx, struct vlc_tls_creds *creds, const char *name, unsigned port, bool *restrict two, const char *proxy)
Definition: tunnel.c:135
Transport layer socket.
Definition: vlc_tls.h:43
static void vlc_http_mgr_release(struct vlc_http_mgr *mgr, struct vlc_http_conn *conn)
Definition: connmgr.c:110
void vlc_UrlClean(vlc_url_t *restrict url)
Definition: url.c:594
int vlc_UrlParse(vlc_url_t *url, const char *str)
Parses an URI or IRI.
Definition: url.c:554
static struct vlc_http_msg * vlc_http_request(struct vlc_http_mgr *mgr, const char *host, unsigned port, const struct vlc_http_msg *req)
Definition: connmgr.c:205
Error.
Definition: vlc_messages.h:47
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.
Definition: h1conn.c:339
int asprintf(char **, const char *,...)
struct vlc_http_cookie_jar_t * jar
Definition: connmgr.c:99
static struct vlc_http_msg * vlc_https_request(struct vlc_http_mgr *mgr, const char *host, unsigned port, const struct vlc_http_msg *req)
Definition: connmgr.c:145
char * psz_host
Definition: vlc_url.h:150
void vlc_tls_Delete(vlc_tls_creds_t *crd)
Releases TLS credentials.
Definition: tls.c:128
vlc_object_t * obj
Definition: connmgr.c:97
vlc_tls_t * vlc_https_connect(vlc_tls_creds_t *creds, const char *name, unsigned port, bool *restrict two)
Definition: connmgr.c:55
struct vlc_http_msg * vlc_http_msg_get_initial(struct vlc_http_stream *s)
Definition: message.c:274
void vlc_http_mgr_destroy(struct vlc_http_mgr *mgr)
Destroys an HTTP connection manager.
Definition: connmgr.c:280
static void vlc_tls_Close(vlc_tls_t *session)
Closes a connection and its underlying resources.
Definition: vlc_tls.h:257
HTTP stream.
Definition: message.h:340
struct vlc_http_conn * conn
Definition: connmgr.c:100
Definition: httpcookies.c:266
void vlc_http_err(void *ctx, const char *fmt,...)
Definition: connmgr.c:37
#define likely(p)
Definition: vlc_common.h:113
Definition: vlc_url.h:145
The main vlc_object_t structure.
Definition: vlc_objects.h:39
struct vlc_http_cookie_jar_t * vlc_http_mgr_get_jar(struct vlc_http_mgr *mgr)
Definition: connmgr.c:261
static void vlc_http_conn_release(struct vlc_http_conn *conn)
Definition: conn.h:51
unsigned i_port
Definition: vlc_url.h:151
struct vlc_tls * tls
Definition: conn.h:42
const char name[16]
Definition: httpd.c:1249
#define unlikely(p)
Definition: vlc_common.h:114
vlc_tls_creds_t * vlc_tls_ClientCreate(vlc_object_t *obj)
Allocates TLS credentials for a client.
Definition: tls.c:109
static struct vlc_http_conn * vlc_http_mgr_find(struct vlc_http_mgr *mgr, const char *host, unsigned port)
Definition: connmgr.c:103
static char * vlc_http_proxy_find(const char *hostname, unsigned port, bool secure)
Definition: connmgr.c:75
Debug.
Definition: vlc_messages.h:49
void vlc_http_dbg(void *ctx, const char *fmt,...)
Definition: connmgr.c:46
static struct vlc_http_stream * vlc_http_stream_open(struct vlc_http_conn *conn, const struct vlc_http_msg *m)
Definition: conn.h:46
vlc_tls_t * vlc_tls_SocketOpenTLS(vlc_tls_creds_t *creds, const char *name, unsigned port, const char *service, const char *const *alpn, char **alp)
Initiates a TLS session over TCP.
Definition: tls.c:626