Mercurial > dovecot > core-2.2
changeset 21029:a3a045122aa4
lib-http: client: Created http_client_connection_failure() handler.
author | Stephan Bosch <stephan@dovecot.fi> |
---|---|
date | Sun, 11 Sep 2016 19:34:34 +0200 |
parents | 7a59b4ec1ede |
children | 8aa7fd1cff61 |
files | src/lib-http/http-client-connection.c |
diffstat | 1 files changed, 13 insertions(+), 4 deletions(-) [+] |
line wrap: on
line diff
--- a/src/lib-http/http-client-connection.c Sun Sep 11 19:44:32 2016 +0200 +++ b/src/lib-http/http-client-connection.c Sun Sep 11 19:34:34 2016 +0200 @@ -48,6 +48,15 @@ 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) { @@ -531,7 +540,7 @@ _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 */ @@ -1226,7 +1235,7 @@ 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; @@ -1247,8 +1256,8 @@ 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; @@ -1346,7 +1355,7 @@ 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;