static void http_client_connection_ready(struct http_client_connection *conn);
static void http_client_connection_input(struct connection *_conn);
+static inline void
+http_client_connection_failure(struct http_client_connection *conn,
+ const char *reason)
+{
+ struct http_client_peer *peer = conn->peer;
+
+ http_client_peer_connection_failure(peer, reason);
+}
+
unsigned int
http_client_connection_count_pending(struct http_client_connection *conn)
{
_conn->name, msecs/1000, msecs%1000);
}
http_client_connection_debug(conn, "%s", error);
- http_client_peer_connection_failure(conn->peer, error);
+ http_client_connection_failure(conn, error);
break;
case CONNECTION_DISCONNECT_CONN_CLOSED:
/* retry pending requests if possible */
const char *error;
if (!success) {
- http_client_peer_connection_failure(conn->peer, t_strdup_printf(
+ http_client_connection_failure(conn, t_strdup_printf(
"connect(%s) failed: %m", _conn->name));
} else {
conn->connected_timestamp = ioloop_timeval;
if (http_client_peer_addr_is_https(&conn->peer->addr)) {
if (http_client_connection_ssl_init(conn, &error) < 0) {
- http_client_peer_connection_failure(conn->peer, error);
http_client_connection_debug(conn, "%s", error);
+ http_client_connection_failure(conn, error);
http_client_connection_close(&conn);
}
return;
conn->connect_request = NULL;
if (response->status != 200) {
- http_client_peer_connection_failure(conn->peer, t_strdup_printf(
+ http_client_connection_failure(conn, t_strdup_printf(
"Tunnel connect(%s) failed: %d %s", name,
response->status, response->reason));
return;