diff options
author | Patrick Griffis <pgriffis@igalia.com> | 2021-03-08 10:17:19 -0600 |
---|---|---|
committer | Patrick Griffis <pgriffis@igalia.com> | 2021-03-08 10:17:19 -0600 |
commit | 39ffd0a036fa696775d6142566b69bf8b94741b6 (patch) | |
tree | 7393878a33c07753cbd3515b066df3f0ba4bf452 | |
parent | 0335eb08db86ff2eb8983cabcb4ca697d4ff6c07 (diff) | |
download | libsoup-pgriffis/pollable.tar.gz |
Require SoupMessage request streams be pollablepgriffis/pollable
This is assumed for the HTTP2 backend and just makes things cleaner.
Most streams are pollable anyway.
-rw-r--r-- | libsoup/soup-message-io.c | 4 | ||||
-rw-r--r-- | libsoup/soup-message-private.h | 2 | ||||
-rw-r--r-- | libsoup/soup-message.c | 22 | ||||
-rw-r--r-- | libsoup/soup-message.h | 8 | ||||
-rw-r--r-- | tests/request-body-test.c | 6 |
5 files changed, 21 insertions, 21 deletions
diff --git a/libsoup/soup-message-io.c b/libsoup/soup-message-io.c index c4999df0..89579e44 100644 --- a/libsoup/soup-message-io.c +++ b/libsoup/soup-message-io.c @@ -382,7 +382,7 @@ io_write (SoupMessage *msg, gboolean blocking, msg, G_CONNECT_SWAPPED); if (blocking) { nwrote = g_output_stream_splice (io->body_ostream, - soup_message_get_request_body_stream (msg), + G_INPUT_STREAM (soup_message_get_request_body_stream (msg)), G_OUTPUT_STREAM_SPLICE_CLOSE_SOURCE, cancellable, error); @@ -393,7 +393,7 @@ io_write (SoupMessage *msg, gboolean blocking, } else { io->async_wait = g_cancellable_new (); g_output_stream_splice_async (io->body_ostream, - soup_message_get_request_body_stream (msg), + G_INPUT_STREAM (soup_message_get_request_body_stream (msg)), G_OUTPUT_STREAM_SPLICE_CLOSE_SOURCE, soup_client_message_io_data_get_priority (client_io), cancellable, diff --git a/libsoup/soup-message-private.h b/libsoup/soup-message-private.h index 4eb1a36d..35655d7d 100644 --- a/libsoup/soup-message-private.h +++ b/libsoup/soup-message-private.h @@ -132,7 +132,7 @@ void soup_message_set_content_sniffer (SoupMessage *msg void soup_message_set_bytes_for_sniffing (SoupMessage *msg, gsize bytes); -GInputStream *soup_message_get_request_body_stream (SoupMessage *msg); +GPollableInputStream *soup_message_get_request_body_stream (SoupMessage *msg); void soup_message_set_reason_phrase (SoupMessage *msg, const char *reason_phrase); diff --git a/libsoup/soup-message.c b/libsoup/soup-message.c index 73e7e003..50f3f222 100644 --- a/libsoup/soup-message.c +++ b/libsoup/soup-message.c @@ -63,10 +63,10 @@ typedef struct { SoupMessageHeaders *request_headers; SoupMessageHeaders *response_headers; - GInputStream *request_body_stream; - const char *method; - char *reason_phrase; - SoupStatus status_code; + GPollableInputStream *request_body_stream; + const char *method; + char *reason_phrase; + SoupStatus status_code; guint msg_flags; @@ -920,7 +920,7 @@ soup_message_new_from_multipart (const char *uri_string, * soup_message_set_request_body: * @msg: the message * @content_type: (allow-none): MIME Content-Type of the body, or %NULL if unknown - * @stream: (allow-none): a #GInputStream to read the request body from + * @stream: (allow-none): a #GPollableInputStream to read the request body from * @content_length: the byte length of @stream or -1 if unknown * * Set the request body of a #SoupMessage. @@ -931,12 +931,12 @@ soup_message_new_from_multipart (const char *uri_string, */ void soup_message_set_request_body (SoupMessage *msg, - const char *content_type, - GInputStream *stream, - gssize content_length) + const char *content_type, + GPollableInputStream *stream, + gssize content_length) { g_return_if_fail (SOUP_IS_MESSAGE (msg)); - g_return_if_fail (stream == NULL || G_IS_INPUT_STREAM (stream)); + g_return_if_fail (stream == NULL || G_IS_POLLABLE_INPUT_STREAM (stream)); g_return_if_fail (content_length == -1 || content_length >= 0); SoupMessagePrivate *priv = soup_message_get_instance_private (msg); @@ -986,7 +986,7 @@ soup_message_set_request_body_from_bytes (SoupMessage *msg, GInputStream *stream; stream = g_memory_input_stream_new_from_bytes (bytes); - soup_message_set_request_body (msg, content_type, stream, g_bytes_get_size (bytes)); + soup_message_set_request_body (msg, content_type, G_POLLABLE_INPUT_STREAM (stream), g_bytes_get_size (bytes)); g_object_unref (stream); } else soup_message_set_request_body (msg, NULL, NULL, 0); @@ -2072,7 +2072,7 @@ soup_message_set_bytes_for_sniffing (SoupMessage *msg, gsize bytes) priv->bytes_for_sniffing = bytes; } -GInputStream * +GPollableInputStream * soup_message_get_request_body_stream (SoupMessage *msg) { SoupMessagePrivate *priv = soup_message_get_instance_private (msg); diff --git a/libsoup/soup-message.h b/libsoup/soup-message.h index 2cd2603a..454fa389 100644 --- a/libsoup/soup-message.h +++ b/libsoup/soup-message.h @@ -34,10 +34,10 @@ SoupMessage *soup_message_new_from_multipart (const char *uri_string SoupMultipart *multipart); SOUP_AVAILABLE_IN_ALL -void soup_message_set_request_body (SoupMessage *msg, - const char *content_type, - GInputStream *stream, - gssize content_length); +void soup_message_set_request_body (SoupMessage *msg, + const char *content_type, + GPollableInputStream *stream, + gssize content_length); SOUP_AVAILABLE_IN_ALL void soup_message_set_request_body_from_bytes (SoupMessage *msg, const char *content_type, diff --git a/tests/request-body-test.c b/tests/request-body-test.c index e5d9ffa1..5202e44a 100644 --- a/tests/request-body-test.c +++ b/tests/request-body-test.c @@ -12,7 +12,7 @@ static GUri *base_uri; typedef struct { SoupSession *session; - GInputStream *stream; + GPollableInputStream *stream; GBytes *bytes; const char *content_type; int nwrote; @@ -71,7 +71,7 @@ setup_request_body (PutTestData *ptd, ptd->bytes = g_bytes_new_static (data, strlen (data)); g_checksum_update (check, (guchar *)data, strlen (data)); } - ptd->stream = flags & BYTES ? NULL : g_memory_input_stream_new_from_bytes (ptd->bytes); + ptd->stream = flags & BYTES ? NULL : G_POLLABLE_INPUT_STREAM (g_memory_input_stream_new_from_bytes (ptd->bytes)); ptd->content_type = flags & NO_CONTENT_TYPE ? NULL : "text/plain"; return check; @@ -90,7 +90,7 @@ restarted (SoupMessage *msg, if (ptd->stream) { g_object_unref (ptd->stream); - ptd->stream = g_memory_input_stream_new_from_bytes (ptd->bytes); + ptd->stream = G_POLLABLE_INPUT_STREAM (g_memory_input_stream_new_from_bytes (ptd->bytes)); soup_message_set_request_body (msg, ptd->content_type, ptd->stream, -1); } else if (ptd->bytes) { soup_message_set_request_body_from_bytes (msg, ptd->content_type, ptd->bytes); |