dovecot-2.2: lib-http: Minor API change: Added http_client_reque...
dovecot at dovecot.org
dovecot at dovecot.org
Wed Feb 20 11:19:26 EET 2013
details: http://hg.dovecot.org/dovecot-2.2/rev/3bc84d6c9e8d
changeset: 15854:3bc84d6c9e8d
user: Timo Sirainen <tss at iki.fi>
date: Wed Feb 20 11:18:59 2013 +0200
description:
lib-http: Minor API change: Added http_client_request_finish_payload()
diffstat:
src/lib-http/http-client-request.c | 22 ++++++++++++++++++----
src/lib-http/http-client.h | 4 +++-
src/plugins/fts-solr/solr-connection.c | 2 +-
3 files changed, 22 insertions(+), 6 deletions(-)
diffs (88 lines):
diff -r 5a068b9c04a9 -r 3bc84d6c9e8d src/lib-http/http-client-request.c
--- a/src/lib-http/http-client-request.c Wed Feb 20 10:58:02 2013 +0200
+++ b/src/lib-http/http-client-request.c Wed Feb 20 11:18:59 2013 +0200
@@ -176,7 +176,7 @@
}
static void
-http_client_request_finish_payload(struct http_client_request *req)
+http_client_request_finish_payload_out(struct http_client_request *req)
{
if (req->payload_output != NULL) {
o_stream_unref(&req->payload_output);
@@ -187,7 +187,8 @@
http_client_request_debug(req, "Sent all payload");
}
-int http_client_request_send_payload(struct http_client_request **_req,
+static int
+http_client_request_continue_payload(struct http_client_request **_req,
const unsigned char *data, size_t size)
{
struct ioloop *prev_ioloop = current_ioloop;
@@ -208,7 +209,7 @@
if (data == NULL) {
req->payload_input = NULL;
if (req->state == HTTP_REQUEST_STATE_PAYLOAD_OUT)
- http_client_request_finish_payload(req);
+ http_client_request_finish_payload_out(req);
} else {
req->payload_input = i_stream_create_from_data(data, size);
}
@@ -255,6 +256,19 @@
return ret;
}
+int http_client_request_send_payload(struct http_client_request **_req,
+ const unsigned char *data, size_t size)
+{
+ i_assert(data != NULL);
+
+ return http_client_request_continue_payload(_req, data, size);
+}
+
+int http_client_request_finish_payload(struct http_client_request **_req)
+{
+ return http_client_request_continue_payload(_req, NULL, 0);
+}
+
int http_client_request_send_more(struct http_client_request *req)
{
struct http_client_connection *conn = req->conn;
@@ -279,7 +293,7 @@
if (req->client->ioloop != NULL)
io_loop_stop(req->client->ioloop);
} else {
- http_client_request_finish_payload(req);
+ http_client_request_finish_payload_out(req);
}
} else {
diff -r 5a068b9c04a9 -r 3bc84d6c9e8d src/lib-http/http-client.h
--- a/src/lib-http/http-client.h Wed Feb 20 10:58:02 2013 +0200
+++ b/src/lib-http/http-client.h Wed Feb 20 11:18:59 2013 +0200
@@ -84,9 +84,11 @@
void *context);
/* submits request and blocks until provided payload is sent. Multiple calls
- are allowed; payload transmission is ended when data == NULL. */
+ are allowed; payload transmission is ended with
+ http_client_request_finish_payload(). */
int http_client_request_send_payload(struct http_client_request **req,
const unsigned char *data, size_t size);
+int http_client_request_finish_payload(struct http_client_request **req);
void http_client_switch_ioloop(struct http_client *client);
diff -r 5a068b9c04a9 -r 3bc84d6c9e8d src/plugins/fts-solr/solr-connection.c
--- a/src/plugins/fts-solr/solr-connection.c Wed Feb 20 10:58:02 2013 +0200
+++ b/src/plugins/fts-solr/solr-connection.c Wed Feb 20 11:18:59 2013 +0200
@@ -524,7 +524,7 @@
i_assert(conn->posting);
if (!post->failed) {
- if (http_client_request_send_payload(&post->http_req, NULL, 0) <= 0 ||
+ if (http_client_request_finish_payload(&post->http_req) <= 0 ||
conn->request_status < 0) {
ret = -1;
}
More information about the dovecot-cvs
mailing list