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-sniffer.h"
16 SoupChunkAllocator chunk_allocator;
17 gpointer chunk_allocator_data;
18 GDestroyNotify chunk_allocator_dnotify;
23 SoupContentSniffer *sniffer;
24 gsize bytes_for_sniffing;
26 SoupHTTPVersion http_version, orig_http_version;
31 SoupAuth *auth, *proxy_auth;
33 GSList *disabled_features;
38 GTlsCertificate *tls_certificate;
39 GTlsCertificateFlags tls_errors;
41 #define SOUP_MESSAGE_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), SOUP_TYPE_MESSAGE, SoupMessagePrivate))
43 void soup_message_cleanup_response (SoupMessage *req);
46 typedef void (*SoupMessageGetHeadersFn) (SoupMessage *msg,
48 SoupEncoding *encoding,
50 typedef guint (*SoupMessageParseHeadersFn)(SoupMessage *msg,
53 SoupEncoding *encoding,
55 typedef void (*SoupMessageCompletionFn) (SoupMessage *msg,
59 void soup_message_send_request (SoupMessageQueueItem *item,
60 SoupMessageCompletionFn completion_cb,
62 void soup_message_read_request (SoupMessage *req,
64 SoupMessageCompletionFn completion_cb,
67 void soup_message_io_client (SoupMessageQueueItem *item,
69 GMainContext *async_context,
70 SoupMessageGetHeadersFn get_headers_cb,
71 SoupMessageParseHeadersFn parse_headers_cb,
72 gpointer headers_data,
73 SoupMessageCompletionFn completion_cb,
75 void soup_message_io_server (SoupMessage *msg,
77 GMainContext *async_context,
78 SoupMessageGetHeadersFn get_headers_cb,
79 SoupMessageParseHeadersFn parse_headers_cb,
80 gpointer headers_data,
81 SoupMessageCompletionFn completion_cb,
83 void soup_message_io_cleanup (SoupMessage *msg);
86 void soup_message_set_auth (SoupMessage *msg,
88 SoupAuth *soup_message_get_auth (SoupMessage *msg);
89 void soup_message_set_proxy_auth (SoupMessage *msg,
91 SoupAuth *soup_message_get_proxy_auth (SoupMessage *msg);
94 void soup_message_io_stop (SoupMessage *msg);
95 void soup_message_io_finished (SoupMessage *msg);
96 void soup_message_io_pause (SoupMessage *msg);
97 void soup_message_io_unpause (SoupMessage *msg);
98 gboolean soup_message_io_in_progress (SoupMessage *msg);
100 gboolean soup_message_io_run_until_write (SoupMessage *msg,
101 GCancellable *cancellable,
103 gboolean soup_message_io_run_until_read (SoupMessage *msg,
104 GCancellable *cancellable,
106 gboolean soup_message_io_run_until_finish (SoupMessage *msg,
107 GCancellable *cancellable,
110 typedef gboolean (*SoupMessageSourceFunc) (SoupMessage *, gpointer);
111 GSource *soup_message_io_get_source (SoupMessage *msg,
112 GCancellable *cancellable,
113 SoupMessageSourceFunc callback,
116 GInputStream *soup_message_io_get_response_istream (SoupMessage *msg,
119 gboolean soup_message_disables_feature (SoupMessage *msg,
122 void soup_message_set_https_status (SoupMessage *msg,
123 SoupConnection *conn);
125 void soup_message_network_event (SoupMessage *msg,
126 GSocketClientEvent event,
127 GIOStream *connection);
129 #endif /* SOUP_MESSAGE_PRIVATE_H */