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 #define SOUP_MESSAGE_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), SOUP_TYPE_MESSAGE, SoupMessagePrivate))
47 void soup_message_cleanup_response (SoupMessage *msg);
50 typedef void (*SoupMessageGetHeadersFn) (SoupMessage *msg,
52 SoupEncoding *encoding,
54 typedef guint (*SoupMessageParseHeadersFn)(SoupMessage *msg,
57 SoupEncoding *encoding,
60 typedef void (*SoupMessageCompletionFn) (SoupMessage *msg,
64 void soup_message_send_request (SoupMessageQueueItem *item,
65 SoupMessageCompletionFn completion_cb,
67 void soup_message_read_request (SoupMessage *msg,
69 SoupMessageCompletionFn completion_cb,
72 void soup_message_io_client (SoupMessageQueueItem *item,
74 GMainContext *async_context,
75 SoupMessageGetHeadersFn get_headers_cb,
76 SoupMessageParseHeadersFn parse_headers_cb,
77 gpointer headers_data,
78 SoupMessageCompletionFn completion_cb,
80 void soup_message_io_server (SoupMessage *msg,
82 GMainContext *async_context,
83 SoupMessageGetHeadersFn get_headers_cb,
84 SoupMessageParseHeadersFn parse_headers_cb,
85 gpointer headers_data,
86 SoupMessageCompletionFn completion_cb,
88 void soup_message_io_cleanup (SoupMessage *msg);
91 void soup_message_set_auth (SoupMessage *msg,
93 SoupAuth *soup_message_get_auth (SoupMessage *msg);
94 void soup_message_set_proxy_auth (SoupMessage *msg,
96 SoupAuth *soup_message_get_proxy_auth (SoupMessage *msg);
99 void soup_message_io_stop (SoupMessage *msg);
100 void soup_message_io_finished (SoupMessage *msg);
101 void soup_message_io_pause (SoupMessage *msg);
102 void soup_message_io_unpause (SoupMessage *msg);
103 gboolean soup_message_io_in_progress (SoupMessage *msg);
105 gboolean soup_message_io_run_until_write (SoupMessage *msg,
106 GCancellable *cancellable,
108 gboolean soup_message_io_run_until_read (SoupMessage *msg,
109 GCancellable *cancellable,
111 gboolean soup_message_io_run_until_finish (SoupMessage *msg,
112 GCancellable *cancellable,
115 typedef gboolean (*SoupMessageSourceFunc) (SoupMessage *, gpointer);
116 GSource *soup_message_io_get_source (SoupMessage *msg,
117 GCancellable *cancellable,
118 SoupMessageSourceFunc callback,
121 GInputStream *soup_message_io_get_response_istream (SoupMessage *msg,
124 gboolean soup_message_disables_feature (SoupMessage *msg,
127 void soup_message_set_https_status (SoupMessage *msg,
128 SoupConnection *conn);
130 void soup_message_network_event (SoupMessage *msg,
131 GSocketClientEvent event,
132 GIOStream *connection);
134 GInputStream *soup_message_setup_body_istream (GInputStream *body_stream,
136 SoupSession *session,
137 SoupProcessingStage start_at_stage);
139 void soup_message_set_soup_request (SoupMessage *msg,
142 SoupConnection *soup_message_get_connection (SoupMessage *msg);
143 void soup_message_set_connection (SoupMessage *msg,
144 SoupConnection *conn);
146 #endif /* SOUP_MESSAGE_PRIVATE_H */