1 /* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */
3 * Copyright (C) 2000-2003, Ximian, Inc.
6 #ifndef SOUP_MESSAGE_PRIVATE_H
7 #define SOUP_MESSAGE_PRIVATE_H 1
9 #include "soup-message.h"
10 #include "soup-auth.h"
11 #include "soup-content-processor.h"
12 #include "soup-content-sniffer.h"
13 #include "soup-session.h"
18 SoupChunkAllocator chunk_allocator;
19 gpointer chunk_allocator_data;
20 GDestroyNotify chunk_allocator_dnotify;
25 SoupContentSniffer *sniffer;
26 gsize bytes_for_sniffing;
28 SoupHTTPVersion http_version, orig_http_version;
33 SoupAuth *auth, *proxy_auth;
34 SoupConnection *connection;
36 GSList *disabled_features;
40 GTlsCertificate *tls_certificate;
41 GTlsCertificateFlags tls_errors;
45 SoupMessagePriority priority;
47 #define SOUP_MESSAGE_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), SOUP_TYPE_MESSAGE, SoupMessagePrivate))
49 void soup_message_cleanup_response (SoupMessage *msg);
52 typedef void (*SoupMessageGetHeadersFn) (SoupMessage *msg,
54 SoupEncoding *encoding,
56 typedef guint (*SoupMessageParseHeadersFn)(SoupMessage *msg,
59 SoupEncoding *encoding,
62 typedef void (*SoupMessageCompletionFn) (SoupMessage *msg,
66 void soup_message_send_request (SoupMessageQueueItem *item,
67 SoupMessageCompletionFn completion_cb,
69 void soup_message_read_request (SoupMessage *msg,
71 SoupMessageCompletionFn completion_cb,
74 void soup_message_io_client (SoupMessageQueueItem *item,
76 GMainContext *async_context,
77 SoupMessageGetHeadersFn get_headers_cb,
78 SoupMessageParseHeadersFn parse_headers_cb,
79 gpointer headers_data,
80 SoupMessageCompletionFn completion_cb,
82 void soup_message_io_server (SoupMessage *msg,
84 GMainContext *async_context,
85 SoupMessageGetHeadersFn get_headers_cb,
86 SoupMessageParseHeadersFn parse_headers_cb,
87 gpointer headers_data,
88 SoupMessageCompletionFn completion_cb,
90 void soup_message_io_cleanup (SoupMessage *msg);
93 void soup_message_set_auth (SoupMessage *msg,
95 SoupAuth *soup_message_get_auth (SoupMessage *msg);
96 void soup_message_set_proxy_auth (SoupMessage *msg,
98 SoupAuth *soup_message_get_proxy_auth (SoupMessage *msg);
101 void soup_message_io_stop (SoupMessage *msg);
102 void soup_message_io_finished (SoupMessage *msg);
103 void soup_message_io_pause (SoupMessage *msg);
104 void soup_message_io_unpause (SoupMessage *msg);
105 gboolean soup_message_io_in_progress (SoupMessage *msg);
107 gboolean soup_message_io_run_until_write (SoupMessage *msg,
109 GCancellable *cancellable,
111 gboolean soup_message_io_run_until_read (SoupMessage *msg,
113 GCancellable *cancellable,
115 gboolean soup_message_io_run_until_finish (SoupMessage *msg,
117 GCancellable *cancellable,
120 typedef gboolean (*SoupMessageSourceFunc) (SoupMessage *, gpointer);
121 GSource *soup_message_io_get_source (SoupMessage *msg,
122 GCancellable *cancellable,
123 SoupMessageSourceFunc callback,
126 GInputStream *soup_message_io_get_response_istream (SoupMessage *msg,
129 gboolean soup_message_disables_feature (SoupMessage *msg,
132 void soup_message_set_https_status (SoupMessage *msg,
133 SoupConnection *conn);
135 void soup_message_network_event (SoupMessage *msg,
136 GSocketClientEvent event,
137 GIOStream *connection);
139 GInputStream *soup_message_setup_body_istream (GInputStream *body_stream,
141 SoupSession *session,
142 SoupProcessingStage start_at_stage);
144 void soup_message_set_soup_request (SoupMessage *msg,
147 SoupConnection *soup_message_get_connection (SoupMessage *msg);
148 void soup_message_set_connection (SoupMessage *msg,
149 SoupConnection *conn);
151 #endif /* SOUP_MESSAGE_PRIVATE_H */