summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDan Winship <danw@src.gnome.org>2008-01-07 14:51:31 +0000
committerDan Winship <danw@src.gnome.org>2008-01-07 14:51:31 +0000
commitb3a34e8a0197507c9df377d15d58b3453521cb9f (patch)
tree885039cc2eecb4d175f02a93bf83430f019648ef
parentdf65b937db738566ab719d4b75dde8628fcb8996 (diff)
downloadlibsoup-b3a34e8a0197507c9df377d15d58b3453521cb9f.tar.gz
Move gtk-doc stuff from docs/reference/tmpl/ to the C files themselves.
* libsoup/*.c: Move gtk-doc stuff from docs/reference/tmpl/ to the C files themselves. Some updates. * docs/reference/Makefile.am: fix (kludge?) this up to not require tmpl/ to exist * docs/reference/client-howto.xml: * docs/reference/server-howto.xml: update svn path=/branches/libsoup-2.4/; revision=1018
-rw-r--r--ChangeLog11
-rw-r--r--docs/reference/Makefile.am14
-rw-r--r--docs/reference/client-howto.xml180
-rw-r--r--docs/reference/libsoup-overrides.txt5
-rw-r--r--docs/reference/libsoup-sections.txt24
-rw-r--r--docs/reference/server-howto.xml205
-rw-r--r--docs/reference/tmpl/libsoup-unused.sgml2742
-rw-r--r--docs/reference/tmpl/soup-address.sgml152
-rw-r--r--docs/reference/tmpl/soup-auth-domain-basic.sgml84
-rw-r--r--docs/reference/tmpl/soup-auth-domain-digest.sgml105
-rw-r--r--docs/reference/tmpl/soup-auth-domain.sgml182
-rw-r--r--docs/reference/tmpl/soup-auth.sgml205
-rw-r--r--docs/reference/tmpl/soup-message-body.sgml164
-rw-r--r--docs/reference/tmpl/soup-message-headers.sgml192
-rw-r--r--docs/reference/tmpl/soup-message.sgml343
-rw-r--r--docs/reference/tmpl/soup-method.sgml149
-rw-r--r--docs/reference/tmpl/soup-misc.sgml278
-rw-r--r--docs/reference/tmpl/soup-server.sgml321
-rw-r--r--docs/reference/tmpl/soup-session-async.sgml45
-rw-r--r--docs/reference/tmpl/soup-session-sync.sgml49
-rw-r--r--docs/reference/tmpl/soup-session.sgml194
-rw-r--r--docs/reference/tmpl/soup-socket.sgml308
-rw-r--r--docs/reference/tmpl/soup-status.sgml155
-rw-r--r--docs/reference/tmpl/soup-uri.sgml139
-rw-r--r--docs/reference/tmpl/soup-value-utils.sgml139
-rw-r--r--docs/reference/tmpl/soup-xmlrpc.sgml140
-rw-r--r--libsoup/soup-address.c29
-rw-r--r--libsoup/soup-address.h15
-rw-r--r--libsoup/soup-auth-domain-basic.c8
-rw-r--r--libsoup/soup-auth-domain-digest.c8
-rw-r--r--libsoup/soup-auth-domain.c22
-rw-r--r--libsoup/soup-auth.c19
-rw-r--r--libsoup/soup-connection.h8
-rw-r--r--libsoup/soup-date.c48
-rw-r--r--libsoup/soup-date.h44
-rw-r--r--libsoup/soup-dns.h13
-rw-r--r--libsoup/soup-gnutls.c5
-rw-r--r--libsoup/soup-message-body.c69
-rw-r--r--libsoup/soup-message-body.h50
-rw-r--r--libsoup/soup-message-headers.c9
-rw-r--r--libsoup/soup-message-headers.h14
-rw-r--r--libsoup/soup-message-queue.h7
-rw-r--r--libsoup/soup-message.c63
-rw-r--r--libsoup/soup-message.h53
-rw-r--r--libsoup/soup-method.c83
-rw-r--r--libsoup/soup-method.h23
-rw-r--r--libsoup/soup-misc.c6
-rw-r--r--libsoup/soup-misc.h5
-rw-r--r--libsoup/soup-server.c33
-rw-r--r--libsoup/soup-server.h8
-rw-r--r--libsoup/soup-session-async.c9
-rw-r--r--libsoup/soup-session-sync.c8
-rw-r--r--libsoup/soup-session.c6
-rw-r--r--libsoup/soup-socket.c25
-rw-r--r--libsoup/soup-socket.h17
-rw-r--r--libsoup/soup-status.c139
-rw-r--r--libsoup/soup-status.h132
-rw-r--r--libsoup/soup-uri.c12
-rw-r--r--libsoup/soup-value-utils.c28
-rw-r--r--libsoup/soup-value-utils.h20
-rw-r--r--libsoup/soup-xmlrpc.c6
61 files changed, 824 insertions, 6745 deletions
diff --git a/ChangeLog b/ChangeLog
index 582c8d4c..7784f31f 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,14 @@
+2008-01-07 Dan Winship <danw@gnome.org>
+
+ * libsoup/*.c: Move gtk-doc stuff from docs/reference/tmpl/ to the
+ C files themselves. Some updates.
+
+ * docs/reference/Makefile.am: fix (kludge?) this up to not require
+ tmpl/ to exist
+
+ * docs/reference/client-howto.xml:
+ * docs/reference/server-howto.xml: update
+
2008-01-06 Dan Winship <danw@gnome.org>
* libsoup/soup-soap-message.c:
diff --git a/docs/reference/Makefile.am b/docs/reference/Makefile.am
index 0dae9709..f34e154a 100644
--- a/docs/reference/Makefile.am
+++ b/docs/reference/Makefile.am
@@ -29,7 +29,13 @@ HFILE_GLOB=
CFILE_GLOB=
# Header files to ignore when scanning.
-IGNORE_HFILES= soup.h soup-marshal.h soup-types.h
+IGNORE_HFILES= soup.h soup-marshal.h \
+ soup-message-private.h soup-session-private.h \
+ soup-types.h soup-enum-types.h \
+ soup-auth-basic.h soup-auth-digest.h soup-auth-ntlm.h \
+ soup-connection.h soup-connection-ntlm.h \
+ soup-dns.h soup-auth-manager.h soup-md5-utils.h \
+ soup-message-queue.h soup-path-map.h soup-ssl.h
# Images to copy into HTML directory.
HTML_IMAGES =
@@ -51,7 +57,11 @@ GTKDOC_CFLAGS = \
GTKDOC_LIBS = $(top_builddir)/libsoup/libsoup-$(SOUP_API_VERSION).la
-
# include common portion ...
include $(top_srcdir)/gtk-doc.make
+# kludges
+tmpl/*.sgml:
+
+clean: clean-am
+ rm -rf tmpl
diff --git a/docs/reference/client-howto.xml b/docs/reference/client-howto.xml
index ac7caa06..c52f6353 100644
--- a/docs/reference/client-howto.xml
+++ b/docs/reference/client-howto.xml
@@ -44,7 +44,7 @@ slightly different behavior:
</itemizedlist>
<para>
-If you want to do a mix of synchronous and asynchronous I/O, you will
+If you want to do a mix of mainloop-based and blocking I/O, you will
need to create two different session objects.
</para>
@@ -142,8 +142,10 @@ only need to create the message and it's ready to send:
<para>
In more complicated cases, you can use various <link
-linkend="SoupMessage">SoupMessage</link> methods to set the request
-headers and body of the message:
+linkend="SoupMessage">SoupMessage</link>, <link
+linkend="SoupMessageHeaders">SoupMessageHeaders</link>, and <link
+linkend="SoupMessageBody">SoupMessageBody</link> methods to set the
+request headers and body of the message:
</para>
<informalexample><programlisting>
@@ -151,8 +153,8 @@ headers and body of the message:
msg = soup_message_new ("POST", "http://example.com/form.cgi");
soup_message_set_request (msg, "application/x-www-form-urlencoded",
- SOUP_BUFFER_USER_OWNED, formdata, strlen (formdata));
- soup_message_add_header (msg->request_headers, "Referer", referring_url);
+ SOUP_MEMORY_COPY, formdata, strlen (formdata));
+ soup_message_headers_append (msg->request_headers, "Referer", referring_url);
</programlisting></informalexample>
<para>
@@ -180,20 +182,18 @@ linkend="soup-session-send-message"><function>soup_session_send_message</functio
</programlisting></informalexample>
<para>
-<literal>session</literal> can be either a <link
-linkend="SoupSessionSync"><type>SoupSessionSync</type></link> or a
-<link linkend="SoupSessionAsync"><type>SoupSessionAsync</type></link>;
-if you use <function>soup_session_send_message</function> on an async
-session, it will run the main loop itself until the message is
-complete.
+(If you use <function>soup_session_send_message</function> with a
+<link linkend="SoupSessionAsync"><type>SoupSessionAsync</type></link>,
+it will run the main loop itself until the message is complete.)
</para>
<para>
-The return value from <function>soup_session_send</function> is a <link
-linkend="soup-status">soup status code</link>, indicating either a
-transport error that prevented the message from being sent, or the
+The return value from <function>soup_session_send</function> is a
+<link linkend="soup-status">soup status code</link>, indicating either
+a transport error that prevented the message from being sent, or the
HTTP status that was returned by the server in response to the
-message.
+message. (The status is also available as
+<literal>msg->status_code</literal>.)
</para>
</refsect3>
@@ -202,10 +202,8 @@ message.
<title>Sending a Message Asynchronously</title>
<para>
-To send a message asynchronously (which can only be done if you're
-using <link
-linkend="SoupSessionAsync"><type>SoupSessionAsync</type></link>), use
-<link linkend="soup-session-queue-message"><function>soup_session_queue_message</function></link>:
+To send a message asynchronously, use <link
+linkend="soup-session-queue-message"><function>soup_session_queue_message</function></link>:
</para>
<informalexample><programlisting>
@@ -215,7 +213,7 @@ linkend="SoupSessionAsync"><type>SoupSessionAsync</type></link>), use
}
static void
-my_callback (SoupMessage *msg, gpointer user_data)
+my_callback (SoupSession, *session, SoupMessage *msg, gpointer user_data)
{
/* Handle the response here */
}
@@ -229,6 +227,15 @@ response be will be read. When the message is complete,
passed to <function>soup_session_queue_message</function>.
</para>
+<para>
+(If you use <link
+linkend="soup-session-queue-message"><function>soup_session_queue_message</function></link>
+with a <link
+linkend="SoupSessionSync"><type>SoupSessionSync</type></link>, the
+message will be sent in another thread, with the callback eventually
+being invoked in the session's <link linkend="SOUP-SESSION-ASYNC-CONTEXT:CAPS"><literal>SOUP_SESSION_ASYNC_CONTEXT</literal></link>.)
+</para>
+
</refsect3>
</refsect2>
@@ -245,11 +252,11 @@ asynchronously, you can look at the response fields in the
status and textual status response from the server.
<structfield>response_headers</structfield> contains the response
headers, which you can investigate using <link
-linkend="soup-message-get-header"><function>soup_message_get_header</function></link> and
+linkend="soup-message-headers-get"><function>soup_message_headers_get</function></link> and
<link
- linkend="soup-message-foreach-header"><function>soup_message_foreach_header</function></link>.
+ linkend="soup-message-headers-foreach"><function>soup_message_headers_foreach</function></link>.
The response body (if any) is in the
-<structfield>response</structfield> field.
+<structfield>response_body</structfield> field.
</para>
<para>
@@ -272,17 +279,17 @@ it.
<title>Intermediate/Automatic Processing</title>
<para>
-You can also connect to various <literal>SoupMessage</literal>
-signals, or set up handlers using <link
-linkend="soup-message-add-handler"><function>soup_message_add_handler</function></link>
-and the other handler methods. Notably, <link
+You can also connect to various <literal>SoupMessage</literal> signals
+to do processing at intermediate stages of HTTP I/O.
+<literal>SoupMessage</literal> also provides two convenience methods,
+<link
linkend="soup-message-add-header-handler"><function>soup_message_add_header_handler</function></link>,
-<link linkend="soup-message-add-status-code-handler"><function>soup_message_add_status_code_handler</function></link>,
-and
-<link linkend="soup-message-add-status-class-handler"><function>soup_message_add_status_class_handler</function></link>
-allow you to invoke a handler automatically for messages with certain
-response headers or status codes. <type>SoupSession</type> uses
-this internally to handle authentication and redirection.
+and <link
+linkend="soup-message-add-status-code-handler"><function>soup_message_add_status_code_handler</function></link>,
+which allow you to set up a signal handler that will only be invoked
+for messages with certain response headers or status codes.
+<type>SoupSession</type> uses this internally to handle authentication
+and redirection.
</para>
<para>
@@ -293,10 +300,9 @@ linkend="soup-session-send-message"><function>soup_session_send_message</functio
<para>
To automatically set up handlers on all messages sent via a session,
-you can create a <link
-linkend="SoupMessageFilter">SoupMessageFilter</link> and attach it to
-the session with <link
-linkend="soup-session-add-filter"><function>soup_session_add_filter</function></link>.
+you can connect to the session's <link
+linkend="SoupSession-request-started"><literal>request_started</literal></link>
+signal, and add handlers to each message from there.
</para>
</refsect2>
@@ -309,76 +315,36 @@ linkend="soup-session-add-filter"><function>soup_session_add_filter</function></
authentication for you. If it receives a 401 ("Unauthorized") or 407
("Proxy Authentication Required") response, the session will emit the
<link linkend="SoupSession-authenticate">authenticate</link> signal,
-indicating the authentication type ("Basic", "Digest", or "NTLM") and
-the realm name provided by the server. You should connect to this
-signal and, if possible, fill in the <parameter>username</parameter>
-and <parameter>password</parameter> parameters with authentication
-information. (The session will <function>g_free</function> the strings
-when it is done with them.) If the handler doesn't fill in those
-parameters, then the session will just return the message to the
-application with its 401 or 407 status.
+providing you with a <link
+linkend="SoupAuth"><type>SoupAuth</type></link> object indicating the
+authentication type ("Basic", "Digest", or "NTLM") and the realm name
+provided by the server. If you have a username and password available
+(or can generate one), call <link
+linkend="soup-auth-authenticate"><function>soup_auth_authenticate</function></link>
+to give the information to libsoup. The session will automatically
+requeue the message and try it again with that authentication
+information. (If you don't call
+<function>soup_auth_authenticate</function>, the session will just
+return the message to the application with its 401 or 407 status.)
</para>
<para>
-If the <literal>authenticate</literal> handler returns a username and
-password, but the request still gets an authorization error using that
-information, then the session will emit the <link
-linkend="SoupSession-reauthenticate">reauthenticate</link> signal.
-This lets the application know that the information it provided
-earlier was incorrect, and gives it a chance to try again. If this
+If the server doesn't accept the username and password provided, the
+session will emit <link
+linkend="SoupSession-authenticate">authenticate</link> again, with the
+<literal>retrying</literal> parameter set to <link
+linkend="TRUE:CAPS"><literal>TRUE</literal></link>. This lets the
+application know that the information it provided earlier was
+incorrect, and gives it a chance to try again. If this
username/password pair also doesn't work, the session will contine to
-emit <literal>reauthenticate</literal> again and again until the
-returned username/password successfully authentications, or until the
-signal handler fails to provide a username, at which point
-<application>libsoup</application> will allow the message to fail
-(with status 401 or 407).
+emit <literal>authenticate</literal> again and again until the
+provided username/password successfully authenticates, or until the
+signal handler fails to call <link
+linkend="soup-auth-authenticate"><function>soup_auth_authenticate</function></link>,
+at which point <application>libsoup</application> will allow the
+message to fail (with status 401 or 407).
</para>
-<para>
-There are basically three ways an application might want to use
-the signals:
-</para>
-
-<itemizedlist>
- <listitem><para>
- An interactive application that doesn't cache passwords could
- just connect both <literal>authenticate</literal> and
- <literal>reauthenticate</literal> to the same signal handler,
- which would ask the user for a username and password and then
- return that to soup. This handler would be called repeatedly
- until the provided information worked, or until it failed to
- return any information (eg, because the user hit "Cancel"
- instead of "OK").
- </para></listitem>
-
- <listitem><para>
- A slightly cleverer interactive application would look in its
- password cache from the <literal>authenticate</literal>
- handler, and return a password from there if one was
- available. If no password was cached, it would just call its
- <literal>reauthenticate</literal> handler to prompt the user.
- The <literal>reauthenticate</literal> handler would first
- clear any cached password for this host, auth type, and realm,
- then ask the user as in the case above, and then store that
- information in its cache before returning it to soup. (If the
- password turns out to be incorrect, then
- <literal>reauthenticate</literal> will be called again to
- force it to be uncached.)
- </para></listitem>
-
- <listitem><para>
- A non-interactive program that only has access to cached
- passwords would only connect to
- <literal>authenticate</literal>. If the username and password
- that <literal>authenticate</literal> returns fail, the session
- will emit <literal>reauthenticate</literal>, but since the
- application is not listening to that signal, no new username
- and password will be returned there, so the message will be
- returned to the application with a 401 or 407 status, which
- the application can deal with as it needs to.
- </para></listitem>
-</itemizedlist>
-
</refsect2>
<refsect2>
@@ -396,12 +362,12 @@ A few sample programs are available in the
</para></listitem>
<listitem><para>
- <emphasis role="bold"><literal>dict</literal></emphasis> and
- <emphasis role="bold"><literal>getbug</literal></emphasis> are trivial
- demonstrations of the <link
- linkend="SoupSoapMessage">SOAP</link> and <link
- linkend="SoupXmlrpcMessage">XMLRPC</link> interfaces,
- respectively.
+ <emphasis role="bold"><literal>getbug</literal></emphasis> is a trivial
+ demonstration of the <link
+ linkend="libsoup-XMLRPC-Support">XMLRPC</link> interface.
+ (<emphasis
+ role="bold"><literal>xmlrpc-test</literal></emphasis> provides
+ a slightly more complicated example.)
</para></listitem>
<listitem><para>
diff --git a/docs/reference/libsoup-overrides.txt b/docs/reference/libsoup-overrides.txt
index 9828402a..06826ca5 100644
--- a/docs/reference/libsoup-overrides.txt
+++ b/docs/reference/libsoup-overrides.txt
@@ -1,9 +1,4 @@
<FUNCTION>
-<NAME>soup_dns_lookup_get_address</NAME>
-<RETURNS>struct sockaddr *</RETURNS>
-SoupDNSLookup *lookup
-</FUNCTION>
-<FUNCTION>
<NAME>soup_address_get_sockaddr</NAME>
<RETURNS>struct sockaddr *</RETURNS>
SoupAddress *addr,
diff --git a/docs/reference/libsoup-sections.txt b/docs/reference/libsoup-sections.txt
index 25ac10f5..940645ea 100644
--- a/docs/reference/libsoup-sections.txt
+++ b/docs/reference/libsoup-sections.txt
@@ -39,8 +39,6 @@ SOUP_MESSAGE_CLASS
SOUP_IS_MESSAGE_CLASS
SOUP_MESSAGE_GET_CLASS
SoupMessageClass
-SoupMessagePrivate
-SOUP_MESSAGE_GET_PRIVATE
<SUBSECTION Private>
soup_message_wrote_informational
soup_message_wrote_headers
@@ -121,6 +119,9 @@ soup_message_body_truncate
soup_message_body_complete
soup_message_body_flatten
soup_message_body_get_chunk
+<SUBSECTION Standard>
+SOUP_TYPE_BUFFER
+soup_buffer_get_type
</SECTION>
<SECTION>
@@ -155,9 +156,13 @@ soup_server_get_async_context
SoupServerCallback
soup_server_add_handler
soup_server_remove_handler
+<SUBSECTION>
SoupClientContext
+soup_client_context_get_socket
soup_client_context_get_address
soup_client_context_get_host
+soup_client_context_get_auth_domain
+soup_client_context_get_auth_user
<SUBSECTION>
soup_server_add_auth_domain
soup_server_remove_auth_domain
@@ -170,6 +175,7 @@ SOUP_SERVER_INTERFACE
SOUP_SERVER_SSL_CERT_FILE
SOUP_SERVER_SSL_KEY_FILE
SOUP_SERVER_ASYNC_CONTEXT
+SOUP_SERVER_RAW_PATHS
<SUBSECTION Standard>
SOUP_SERVER
SOUP_IS_SERVER
@@ -179,6 +185,8 @@ SOUP_SERVER_CLASS
SOUP_IS_SERVER_CLASS
SOUP_SERVER_GET_CLASS
SoupServerClass
+SOUP_TYPE_CLIENT_CONTEXT
+soup_client_context_get_type
</SECTION>
<SECTION>
@@ -188,6 +196,7 @@ SoupAuthDomain
<SUBSECTION>
soup_auth_domain_add_path
soup_auth_domain_remove_path
+SoupAuthDomainFilter
soup_auth_domain_set_filter
soup_auth_domain_get_realm
<SUBSECTION>
@@ -286,6 +295,8 @@ SOUP_ADDRESS_CLASS
SOUP_IS_ADDRESS_CLASS
SOUP_ADDRESS_GET_CLASS
SoupAddressClass
+<SUBSECTION Private>
+AF_INET6
</SECTION>
<SECTION>
@@ -300,6 +311,9 @@ soup_session_send_message
soup_session_cancel_message
soup_session_abort
<SUBSECTION>
+soup_session_pause_message
+soup_session_unpause_message
+<SUBSECTION>
soup_session_get_async_context
<SUBSECTION>
SOUP_SESSION_PROXY_URI
@@ -404,6 +418,7 @@ soup_socket_listen
<SUBSECTION>
soup_socket_start_ssl
soup_socket_start_proxy_ssl
+soup_socket_is_ssl
<SUBSECTION>
soup_socket_disconnect
soup_socket_is_connected
@@ -467,6 +482,7 @@ SoupDateFormat
soup_date_new
soup_date_new_from_string
soup_date_new_from_time_t
+soup_date_new_from_now
soup_date_to_string
soup_date_free
<SUBSECTION>
@@ -496,7 +512,8 @@ soup_ssl_supported
<SUBSECTION Private>
soup_date_copy
soup_signal_connect_once
-soup_xml_real_node
+SOUP_TYPE_DATE
+soup_date_get_type
</SECTION>
<SECTION>
@@ -506,6 +523,7 @@ soup_xml_real_node
soup_xmlrpc_build_method_call
soup_xmlrpc_request_new
soup_xmlrpc_parse_method_response
+soup_xmlrpc_extract_method_response
<SUBSECTION>
soup_xmlrpc_parse_method_call
soup_xmlrpc_extract_method_call
diff --git a/docs/reference/server-howto.xml b/docs/reference/server-howto.xml
index 2d7971b6..76c19182 100644
--- a/docs/reference/server-howto.xml
+++ b/docs/reference/server-howto.xml
@@ -21,17 +21,6 @@ most of your interactions with libsoup. In this case, <link
linkend="SoupServer"><type>SoupServer</type></link>.
</para>
-<warning>
- <para>
- Note that <type>SoupServer</type> isn't as polished as
- <type>SoupSession</type>, and thus not as stable, and the APIs
- will likely change in incompatible (but not
- difficult-to-port-to) ways in the future to make things nicer.
- We apologize in advance for the inconvenience.
- </para>
-</warning>
-
-
<para>
You create the server with <link
linkend="soup-server-new"><function>soup_server_new</function></link>,
@@ -83,6 +72,16 @@ various additional options:
other than the main thread.
</para></listitem>
</varlistentry>
+ <varlistentry>
+ <term><link linkend="SOUP-SERVER-RAW-PATHS:CAPS"><literal>SOUP_SERVER_RAW_PATHS</literal></link></term>
+ <listitem><para>
+ Set this to <literal>TRUE</literal> if you don't want
+ <application>libsoup</application> to decode %-encoding
+ in the Request-URI. (Eg, because you need to treat
+ <literal>"/foo/bar"</literal> and
+ <literal>"/foo%2Fbar"</literal> as different paths.
+ </para></listitem>
+ </varlistentry>
</variablelist>
</refsect2>
@@ -100,8 +99,8 @@ to set a callback to handle certain URI paths.
</para>
<informalexample><programlisting>
-soup_server_add_handler (server, "/foo", NULL, server_callback,
- unregister_callback, data);
+ soup_server_add_handler (server, "/foo", server_callback,
+ data, destroy_notify);
</programlisting></informalexample>
<para>
@@ -131,18 +130,28 @@ A handler callback looks something like this:
<informalexample><programlisting>
static void
-server_callback (SoupServerContext *context, SoupMessage *msg, gpointer data)
+server_callback (SoupServer *server,
+ SoupMessage *msg,
+ const char *path,
+ GHashTable *query,
+ SoupClientContext *client,
+ gpointer user_data)
{
...
}
</programlisting></informalexample>
<para>
-<literal>msg</literal> is the request that has been received.
-<literal>data</literal> is the same data that was passed to <link
+<literal>msg</literal> is the request that has been received and
+<literal>user_data</literal> is the data that was passed to <link
linkend="soup-server-add-handler"><function>soup_server_add_handler</function></link>.
-The <link>context</link> argument contains some additional information
-related to the request.
+<literal>path</literal> is the path (from <literal>msg</literal>'s
+URI), and <literal>query</literal> contains the result of parsing the
+URI query field. (It is <literal>NULL</literal> if there was no
+query.) <literal>client</literal> is a <link
+linkend="SoupClientContext"><type>SoupClientContext</type></link>,
+which contains additional information about the client (including its
+IP address, and whether or not it used HTTP authentication).
</para>
<para>
@@ -151,10 +160,10 @@ completely finished processing the message when you return from the
callback, and that it can therefore begin sending the response. If you
are not ready to send a response immediately (eg, you have to contact
another server, or wait for data from a database), you must call <link
-linkend="soup-message-io-pause"><function>soup_message_io_pause</function></link>
+linkend="soup-server-pause-message"><function>soup_server_pause_message</function></link>
on the message before returning from the callback. This will delay
sending a response until you call <link
-linkend="soup-message-io-unpause"><function>soup_message_io_unpause</function></link>.
+linkend="soup-server-unpause-message"><function>soup_server_unpause_message</function></link>.
(You must also connect to the <link
linkend="SoupMessage-finished">finished</link> signal on the message
in this case, so that you can break off processing if the client
@@ -166,10 +175,8 @@ To set the response status, call <link
linkend="soup-message-set-status"><function>soup_message_set_status</function></link>
or <link
linkend="soup-message-set-status-full"><function>soup_message_set_status_full</function></link>.
-If the response requires a body, the callback must call <link
-linkend="soup-server-message-set-encoding"><function>soup_server_message_set_encoding</function></link>
-to indicate whether it will provide the response all at once with
-<literal>Content-Length</literal> encoding, or in pieces with
+If the response requires a body, you must decide whether to use
+<literal>Content-Length</literal> encoding (the default), or
<literal>chunked</literal> encoding.
</para>
@@ -184,29 +191,34 @@ data available at once.
<informalexample><programlisting>
static void
-server_callback (SoupServerContext *context, SoupMessage *msg, gpointer data)
+server_callback (SoupServer *server,
+ SoupMessage *msg,
+ const char *path,
+ GHashTable *query,
+ SoupClientContext *client,
+ gpointer user_data)
{
- MyServerData *server_data = data;
- SoupUri *uri = soup_message_get_uri (msg);
+ MyServerData *server_data = user_data;
const char *mime_type;
GByteArray *body;
- if (context->method_id != SOUP_METHOD_ID_GET) {
+ if (msg->method != SOUP_METHOD_GET) {
soup_message_set_status (msg, SOUP_STATUS_NOT_IMPLEMENTED);
return;
}
- body = g_hash_table_lookup (server_data->bodies, uri->path);
- mime_type = g_hash_table_lookup (server_data->mime_types, uri->path);
+ /* This is somewhat silly. Presumably your server will do
+ * something more interesting.
+ */
+ body = g_hash_table_lookup (server_data->bodies, path);
+ mime_type = g_hash_table_lookup (server_data->mime_types, path);
if (!body || !mime_type) {
soup_message_set_status (msg, SOUP_STATUS_NOT_FOUND);
return;
}
soup_message_set_status (msg, SOUP_STATUS_OK);
- soup_server_message_set_encoding (SOUP_SERVER_MESSAGE (msg),
- SOUP_TRANSFER_CONTENT_LENGTH);
- soup_message_set_response (msg, mime_type, SOUP_BUFFER_USER_OWNED,
+ soup_message_set_response (msg, mime_type, SOUP_MEMORY_COPY,
body->data, body->len);
}
</programlisting></informalexample>
@@ -219,16 +231,22 @@ server_callback (SoupServerContext *context, SoupMessage *msg, gpointer data)
<para>
If you want to supply the response body in chunks as it becomes
available, use <literal>chunked</literal> encoding instead. In this
-case, call <link
-linkend="soup-message-add-chunk"><function>soup_message_add_chunk</function></link> with
-each chunk of the response body as it becomes available, and call
-<link
-linkend="soup-message-add-final-chunk"><function>soup_message_add_final_chunk</function></link>
+case, first call <link
+linkend="soup-message-headers-set-encoding"><function>soup_message_headers_set_encoding</function></link>&#160;<literal>(msg->response_headers,&#160;<link
+linkend="SoupEncoding">SOUP_ENCODING_CHUNKED</link>)</literal>
+to tell <application>libsoup</application> that you'll be using
+chunked encoding. Then call <link
+linkend="soup-message-body-append"><function>soup_message_body_append</function></link>
+(or <link
+linkend="soup-message-body-append-buffer"><function>soup_message_body_append_buffer</function></link>)
+on <literal>msg->response_body</literal> with each chunk of the
+response body as it becomes available, and call <link
+linkend="soup-message-body-complete"><function>soup_message_body_complete</function></link>
when the response is complete. After each of these calls, you must
also call <link
-linkend="soup-message-io-unpause"><function>soup_message_io_unpause</function></link> to
-cause the chunk to be sent. (You do not normally need to call
-<link linkend="soup-message-io-pause"><function>soup_message_io_pause</function></link>,
+linkend="soup-server-unpause-message"><function>soup_server_unpause_message</function></link>
+to cause the chunk to be sent. (You do not normally need to call <link
+linkend="soup-server-pause-message"><function>soup_server_pause_message</function></link>,
because I/O is automatically paused when doing a
<literal>chunked</literal> transfer if no chunks are available.)
</para>
@@ -239,7 +257,9 @@ linkend="SoupMessage-finished">finished</link> signal on the message,
so that you will be notified if the client disconnects between two
chunks; <type>SoupServer</type> will unref the message if that
happens, so you must stop adding new chunks to the response at that
-point.
+point. (An alternate possibility is to write each new chunk only when
+the <link linkend="SoupMessage-wrote-chunk">wrote_chunk</link> signal
+is emitted indicating that the previous one was written successfully.)
</para>
<para>
@@ -257,59 +277,92 @@ using <literal>chunked</literal> encoding.
<para>
To have <link linkend="SoupServer"><type>SoupServer</type></link>
-handle HTTP authentication for you, pass a <link
-linkend="SoupAuthContext"><type>SoupAuthContext</type></link> to <link
-linkend="soup-server-add-handler"><function>soup_server_add_handler</function></link>:
+handle HTTP authentication for you, create a <link
+linkend="SoupAuthDomainBasic"><type>SoupAuthDomainBasic</type></link>
+or <link
+linkend="SoupAuthDomainDigest"><type>SoupAuthDomainDigest</type></link>,
+and pass it to <link
+linkend="soup-server-add-auth-domain"><function>soup_server_add_auth_domain</function></link>:
</para>
<informalexample><programlisting>
-SoupServerAuthContext auth_ctx;
-
-auth_ctx.types = SOUP_AUTH_TYPE_BASIC;
-auth_ctx.callback = auth_callback;
-auth_ctx.user_data = data;
-auth_ctx.basic_info.realm = "My Realm";
-
-soup_server_add_handler (server, "/bar", &amp;auth_ctx, server_callback,
- unregister_callback, data);
+ SoupAuthDomain *domain;
+
+ domain = soup_auth_domain_basic_new (
+ SOUP_AUTH_DOMAIN_REALM, "My Realm",
+ SOUP_AUTH_DOMAIN_BASIC_AUTH_CALLBACK, auth_callback,
+ SOUP_AUTH_DOMAIN_BASIC_AUTH_DATA, auth_data,
+ SOUP_AUTH_DOMAIN_ADD_PATH, "/foo",
+ SOUP_AUTH_DOMAIN_ADD_PATH, "/bar/private",
+ NULL);
+ soup_server_add_auth_domain (server, domain);
+ g_object_unref (domain);
</programlisting></informalexample>
<para>
-Then, every request that matches that handler will be passed to the
-<literal>auth_callback</literal> first before being passed to the
-<literal>server_callback</literal>:
+Then, every request under one of the auth domain's paths will be
+passed to the <literal>auth_callback</literal> first before being
+passed to the <literal>server_callback</literal>:
</para>
<informalexample><programlisting>
static gboolean
-auth_callback (SoupServerAuthContext *auth_ctx, SoupServerAuth *auth,
- SoupMessage *msg, gpointer user_data)
+auth_callback (SoupAuthDomain *domain, SoupMessage *msg,
+ const char *username, const char *password,
+ gpointer user_data)
{
MyServerData *server_data = user_data;
- const char *username, *password;
+ MyUserData *user;
- if (!auth)
+ user = my_server_data_lookup_user (server_data, username);
+ if (!user)
return FALSE;
- username = soup_server_auth_get_user (auth);
- password = g_hash_table_lookup (server_data->passwords, username);
- if (!password)
- return FALSE;
-
- return soup_server_auth_check_passwd (auth, password);
+ /* FIXME: Don't do this. Keeping a cleartext password database
+ * is bad.
+ */
+ return strcmp (password, user->password) == 0;
}
</programlisting></informalexample>
<para>
-The <literal>auth</literal> parameter indicates the authentication
-information passed by the client. If no
-<literal>WWW-Authenticate</literal> header was present, this will be
-<literal>NULL</literal>, so we return <literal>FALSE</literal> from
-the callback to indicate that the server should return a <literal>401
-Unauthorized</literal> response. If it is non-<literal>NULL</literal>,
-we extract the username from it, and compare it against our stored
-password. Assuming it matches, we return <literal>TRUE</literal>, and
-the server callback is then invoked normally.
+The <link
+linkend="SoupAuthDomainBasicAuthCallback"><type>SoupAuthDomainBasicAuthCallback</type></link>
+is given the username and password from the
+<literal>Authorization</literal> header and must determine, in some
+server-specific manner, whether or not to accept them. (In this
+example we compare the password against a cleartext password database,
+but it would be better to store the password somehow encoded, as in
+the UNIX password database. Alternatively, you may need to delegate
+the password check to PAM or some other service.)
+</para>
+
+<para>
+If you are using Digest authentication, note that <link
+linkend="SoupAuthDomainDigestAuthCallback"><type>SoupAuthDomainDigestAuthCallback</type></link>
+works completely differently (since the server doesn't receive the
+cleartext password from the client in that case, so there's no way to
+compare it directly). See the documentation for <link
+linkend="SoupAuthDomainDigest"><type>SoupAuthDomainDigest</type></link>
+for more details.
+</para>
+
+<para>
+You can have multiple <type>SoupAuthDomain</type>s attached to a
+<literal>SoupServer</literal>, either in separate parts of the path
+hierarchy, or overlapping. (Eg, you might want to accept either Basic
+or Digest authentication for a given path.) When more than one auth
+domain covers a given path, the request will be accepted if the user
+authenticates successfully against <emphasis>any</emphasis> of the
+domains.
+</para>
+
+<para>
+If you want to require authentication for some requests under a
+certain path, but not all of them (eg, you want to authenticate
+<literal>PUT</literal>s, but not <literal>GET</literal>s), use a
+<link
+linkend="SoupAuthDomainFilter"><type>SoupAuthDomainFilter</type></link>.
</para>
</refsect2>
diff --git a/docs/reference/tmpl/libsoup-unused.sgml b/docs/reference/tmpl/libsoup-unused.sgml
deleted file mode 100644
index 9432cb19..00000000
--- a/docs/reference/tmpl/libsoup-unused.sgml
+++ /dev/null
@@ -1,2742 +0,0 @@
-<!-- ##### SECTION ./tmpl/soup-auth-basic.sgml:Long_Description ##### -->
-<para>
-This implements the Basic HTTP Authentication mechanism, as described
-in RFC 2617. It is created automatically by #SoupSession when needed.
-</para>
-
-
-<!-- ##### SECTION ./tmpl/soup-auth-basic.sgml:See_Also ##### -->
-<para>
-
-</para>
-
-
-<!-- ##### SECTION ./tmpl/soup-auth-basic.sgml:Short_Description ##### -->
-HTTP Basic Authentication
-
-
-<!-- ##### SECTION ./tmpl/soup-auth-basic.sgml:Title ##### -->
-SoupAuthBasic
-
-
-<!-- ##### SECTION ./tmpl/soup-auth-digest.sgml:Long_Description ##### -->
-<para>
-This implements the Digest HTTP Authentication mechanism, as described
-in RFC 2617. It is created automatically by #SoupSession when needed.
-</para>
-
-
-<!-- ##### SECTION ./tmpl/soup-auth-digest.sgml:See_Also ##### -->
-<para>
-
-</para>
-
-
-<!-- ##### SECTION ./tmpl/soup-auth-digest.sgml:Short_Description ##### -->
-HTTP Digest Authentication
-
-
-<!-- ##### SECTION ./tmpl/soup-auth-digest.sgml:Title ##### -->
-SoupAuthDigest
-
-
-<!-- ##### SECTION ./tmpl/soup-connection-ntlm.sgml:Long_Description ##### -->
-<para>
-#SoupSession automatically creates #SoupConnectionNTLM rather than
-#SoupConnection if you set the %SOUP_SESSION_USE_NTLM flag.
-</para>
-
-
-<!-- ##### SECTION ./tmpl/soup-connection-ntlm.sgml:See_Also ##### -->
-<para>
-
-</para>
-
-
-<!-- ##### SECTION ./tmpl/soup-connection-ntlm.sgml:Short_Description ##### -->
-NTLM-authenticated connection
-
-
-<!-- ##### SECTION ./tmpl/soup-connection-ntlm.sgml:Stability_Level ##### -->
-
-
-
-<!-- ##### SECTION ./tmpl/soup-connection-ntlm.sgml:Title ##### -->
-SoupConnectionNTLM
-
-
-<!-- ##### SECTION ./tmpl/soup-connection.sgml:Long_Description ##### -->
-<para>
-#SoupConnection represents a single connection to an HTTP server
-(possibly via a proxy). Connection objects are created and destroyed
-automatically by #SoupSession.
-</para>
-
-
-<!-- ##### SECTION ./tmpl/soup-connection.sgml:See_Also ##### -->
-<para>
-
-</para>
-
-
-<!-- ##### SECTION ./tmpl/soup-connection.sgml:Short_Description ##### -->
-a single possibly-persistent HTTP connection
-
-
-<!-- ##### SECTION ./tmpl/soup-connection.sgml:Stability_Level ##### -->
-
-
-
-<!-- ##### SECTION ./tmpl/soup-connection.sgml:Title ##### -->
-SoupConnection
-
-
-<!-- ##### SECTION ./tmpl/soup-dns.sgml:Long_Description ##### -->
-<para>
-
-</para>
-
-
-<!-- ##### SECTION ./tmpl/soup-dns.sgml:See_Also ##### -->
-<para>
-
-</para>
-
-
-<!-- ##### SECTION ./tmpl/soup-dns.sgml:Short_Description ##### -->
-Low-level DNS routines
-
-
-<!-- ##### SECTION ./tmpl/soup-dns.sgml:Stability_Level ##### -->
-
-
-
-<!-- ##### SECTION ./tmpl/soup-dns.sgml:Title ##### -->
-soup-dns
-
-
-<!-- ##### SECTION ./tmpl/soup-md5-utils.sgml:Long_Description ##### -->
-<para>
-
-</para>
-
-
-<!-- ##### SECTION ./tmpl/soup-md5-utils.sgml:See_Also ##### -->
-<para>
-
-</para>
-
-
-<!-- ##### SECTION ./tmpl/soup-md5-utils.sgml:Short_Description ##### -->
-MD5 hash utilities
-
-
-<!-- ##### SECTION ./tmpl/soup-md5-utils.sgml:Title ##### -->
-soup-md5-utils
-
-
-<!-- ##### SECTION ./tmpl/soup-message-filter.sgml.sgml:Long_Description ##### -->
-<para>
-
-</para>
-
-
-<!-- ##### SECTION ./tmpl/soup-message-filter.sgml.sgml:See_Also ##### -->
-<para>
-
-</para>
-
-
-<!-- ##### SECTION ./tmpl/soup-message-filter.sgml.sgml:Short_Description ##### -->
-
-
-
-<!-- ##### SECTION ./tmpl/soup-message-filter.sgml.sgml:Stability_Level ##### -->
-
-
-
-<!-- ##### SECTION ./tmpl/soup-message-filter.sgml.sgml:Title ##### -->
-Soup Miscellaneous Utilities
-
-
-<!-- ##### SECTION ./tmpl/soup-message-filter.sgml:Long_Description ##### -->
-<para>
-
-</para>
-
-
-<!-- ##### SECTION ./tmpl/soup-message-filter.sgml:See_Also ##### -->
-<para>
-
-</para>
-
-
-<!-- ##### SECTION ./tmpl/soup-message-filter.sgml:Short_Description ##### -->
-Automatic message processing
-
-
-<!-- ##### SECTION ./tmpl/soup-message-filter.sgml:Stability_Level ##### -->
-
-
-
-<!-- ##### SECTION ./tmpl/soup-message-filter.sgml:Title ##### -->
-SoupMessageFilter
-
-
-<!-- ##### SECTION ./tmpl/soup-message-private.sgml:Long_Description ##### -->
-<para>
-
-</para>
-
-
-<!-- ##### SECTION ./tmpl/soup-message-private.sgml:See_Also ##### -->
-<para>
-
-</para>
-
-
-<!-- ##### SECTION ./tmpl/soup-message-private.sgml:Short_Description ##### -->
-
-
-
-<!-- ##### SECTION ./tmpl/soup-message-private.sgml:Title ##### -->
-soup-message-private
-
-
-<!-- ##### SECTION ./tmpl/soup-message-queue.sgml:Long_Description ##### -->
-<para>
-#SoupMessageQueue maintains the queue of pending messages in a
-#SoupSession.
-</para>
-
-
-<!-- ##### SECTION ./tmpl/soup-message-queue.sgml:See_Also ##### -->
-<para>
-
-</para>
-
-
-<!-- ##### SECTION ./tmpl/soup-message-queue.sgml:Short_Description ##### -->
-Message queue object
-
-
-<!-- ##### SECTION ./tmpl/soup-message-queue.sgml:Title ##### -->
-soup-message-queue
-
-
-<!-- ##### SECTION ./tmpl/soup-server-auth.sgml:Long_Description ##### -->
-<para>
-
-</para>
-
-
-<!-- ##### SECTION ./tmpl/soup-server-auth.sgml:See_Also ##### -->
-<para>
-
-</para>
-
-
-<!-- ##### SECTION ./tmpl/soup-server-auth.sgml:Short_Description ##### -->
-Server-side authentication structures
-
-
-<!-- ##### SECTION ./tmpl/soup-server-auth.sgml:Title ##### -->
-soup-server-auth
-
-
-<!-- ##### SECTION ./tmpl/soup-server-message.sgml:Long_Description ##### -->
-<para>
-
-</para>
-
-
-<!-- ##### SECTION ./tmpl/soup-server-message.sgml:See_Also ##### -->
-<para>
-
-</para>
-
-
-<!-- ##### SECTION ./tmpl/soup-server-message.sgml:Short_Description ##### -->
-Server-side #SoupMessage
-
-
-<!-- ##### SECTION ./tmpl/soup-server-message.sgml:Stability_Level ##### -->
-
-
-
-<!-- ##### SECTION ./tmpl/soup-server-message.sgml:Title ##### -->
-SoupServerMessage
-
-
-<!-- ##### SECTION ./tmpl/soup-soap-message.sgml:Long_Description ##### -->
-<para>
-
-</para>
-
-
-<!-- ##### SECTION ./tmpl/soup-soap-message.sgml:See_Also ##### -->
-<para>
-
-</para>
-
-
-<!-- ##### SECTION ./tmpl/soup-soap-message.sgml:Short_Description ##### -->
-A SOAP request
-
-
-<!-- ##### SECTION ./tmpl/soup-soap-message.sgml:Stability_Level ##### -->
-
-
-
-<!-- ##### SECTION ./tmpl/soup-soap-message.sgml:Title ##### -->
-SoupSoapMessage
-
-
-<!-- ##### SECTION ./tmpl/soup-soap-response.sgml:Long_Description ##### -->
-<para>
-
-</para>
-
-
-<!-- ##### SECTION ./tmpl/soup-soap-response.sgml:See_Also ##### -->
-<para>
-
-</para>
-
-
-<!-- ##### SECTION ./tmpl/soup-soap-response.sgml:Short_Description ##### -->
-A SOAP response
-
-
-<!-- ##### SECTION ./tmpl/soup-soap-response.sgml:Stability_Level ##### -->
-
-
-
-<!-- ##### SECTION ./tmpl/soup-soap-response.sgml:Title ##### -->
-SoupSoapResponse
-
-
-<!-- ##### SECTION ./tmpl/soup-ssl.sgml:Long_Description ##### -->
-<para>
-
-</para>
-
-
-<!-- ##### SECTION ./tmpl/soup-ssl.sgml:See_Also ##### -->
-<para>
-
-</para>
-
-
-<!-- ##### SECTION ./tmpl/soup-ssl.sgml:Short_Description ##### -->
-SSL/TLS handling
-
-
-<!-- ##### SECTION ./tmpl/soup-ssl.sgml:Stability_Level ##### -->
-
-
-
-<!-- ##### SECTION ./tmpl/soup-ssl.sgml:Title ##### -->
-soup-ssl
-
-
-<!-- ##### SECTION ./tmpl/soup-xmlrpc-message.sgml:Long_Description ##### -->
-<para>
-
-</para>
-
-
-<!-- ##### SECTION ./tmpl/soup-xmlrpc-message.sgml:See_Also ##### -->
-<para>
-
-</para>
-
-
-<!-- ##### SECTION ./tmpl/soup-xmlrpc-message.sgml:Short_Description ##### -->
-An XML-RPC Message
-
-
-<!-- ##### SECTION ./tmpl/soup-xmlrpc-message.sgml:Stability_Level ##### -->
-
-
-
-<!-- ##### SECTION ./tmpl/soup-xmlrpc-message.sgml:Title ##### -->
-SoupXmlrpcMessage
-
-
-<!-- ##### SECTION ./tmpl/soup-xmlrpc-response.sgml:Long_Description ##### -->
-<para>
-
-</para>
-
-
-<!-- ##### SECTION ./tmpl/soup-xmlrpc-response.sgml:See_Also ##### -->
-<para>
-
-</para>
-
-
-<!-- ##### SECTION ./tmpl/soup-xmlrpc-response.sgml:Short_Description ##### -->
-An XML-RPC response
-
-
-<!-- ##### SECTION ./tmpl/soup-xmlrpc-response.sgml:Stability_Level ##### -->
-
-
-
-<!-- ##### SECTION ./tmpl/soup-xmlrpc-response.sgml:Title ##### -->
-SoupXmlrpcResponse
-
-
-<!-- ##### MACRO SOUP_CONNECTION_ASYNC_CONTEXT ##### -->
-<para>
-An alias for the "async-context" property.
-</para>
-
-
-<!-- ##### MACRO SOUP_CONNECTION_MESSAGE_FILTER ##### -->
-<para>
-An alias for the "message-filter" property.
-</para>
-
-
-<!-- ##### MACRO SOUP_CONNECTION_ORIGIN_URI ##### -->
-<para>
-An alias for the "origin-uri" property.
-</para>
-
-
-<!-- ##### MACRO SOUP_CONNECTION_PROXY_URI ##### -->
-<para>
-An alias for the "proxy-uri" property.
-</para>
-
-
-<!-- ##### MACRO SOUP_CONNECTION_SSL_CREDENTIALS ##### -->
-<para>
-An alias for the "ssl-creds" property.
-</para>
-
-
-<!-- ##### MACRO SOUP_CONNECTION_TIMEOUT ##### -->
-<para>
-An alias for the "timeout" property.
-</para>
-
-
-<!-- ##### MACRO SOUP_MESSAGE_IS_STARTING ##### -->
-
-<para>
-
-</para>
-
-@msg:
-@Returns:
-
-<!-- ##### MACRO SOUP_PROTOCOL_HTTP ##### -->
-<para>
-
-</para>
-
-
-<!-- ##### MACRO SOUP_PROTOCOL_HTTPS ##### -->
-<para>
-
-</para>
-
-
-<!-- ##### MACRO SOUP_SOCKET_FLAG_CLOEXEC ##### -->
-<para>
-An alias for the "cloexec" property.
-</para>
-
-
-<!-- ##### MACRO SOUP_SOCKET_FLAG_NODELAY ##### -->
-<para>
-An alias for the "nodelay" property.
-</para>
-
-
-<!-- ##### MACRO SOUP_SOCKET_FLAG_REUSEADDR ##### -->
-<para>
-An alias for the "reuseaddr" property.
-</para>
-
-
-<!-- ##### STRUCT SoupAuthBasic ##### -->
-<para>
-An object representing Basic HTTP authentication.
-</para>
-
-@parent:
-
-<!-- ##### STRUCT SoupAuthDigest ##### -->
-<para>
-An object representing Digest HTTP authentication.
-</para>
-
-@parent:
-
-<!-- ##### ENUM SoupAuthType ##### -->
-<para>
-
-</para>
-
-@SOUP_AUTH_TYPE_BASIC:
-@SOUP_AUTH_TYPE_DIGEST:
-
-<!-- ##### STRUCT SoupConnection ##### -->
-<para>
-
-</para>
-
-@parent:
-
-<!-- ##### SIGNAL SoupConnection::authenticate ##### -->
-<para>
-
-</para>
-
-@conn:
-@msg:
-@auth_type:
-@auth_realm:
-@username:
-@password:
-
-<!-- ##### SIGNAL SoupConnection::connect-result ##### -->
-<para>
-
-</para>
-
-@conn:
-@status:
-
-<!-- ##### SIGNAL SoupConnection::disconnected ##### -->
-<para>
-
-</para>
-
-@conn:
-
-<!-- ##### SIGNAL SoupConnection::reauthenticate ##### -->
-<para>
-
-</para>
-
-@conn:
-@msg:
-@auth_type:
-@auth_realm:
-@username:
-@password:
-
-<!-- ##### ARG SoupConnection:async-context ##### -->
-<para>
-
-</para>
-
-
-<!-- ##### ARG SoupConnection:message-filter ##### -->
-<para>
-
-</para>
-
-
-<!-- ##### ARG SoupConnection:origin-uri ##### -->
-<para>
-
-</para>
-
-
-<!-- ##### ARG SoupConnection:proxy-uri ##### -->
-<para>
-
-</para>
-
-
-<!-- ##### ARG SoupConnection:ssl-creds ##### -->
-<para>
-
-</para>
-
-
-<!-- ##### ARG SoupConnection:timeout ##### -->
-<para>
-
-</para>
-
-
-<!-- ##### USER_FUNCTION SoupConnectionCallback ##### -->
-<para>
-
-</para>
-
-@conn:
-@status:
-@data:
-
-<!-- ##### STRUCT SoupConnectionNTLM ##### -->
-<para>
-
-</para>
-
-@parent:
-
-<!-- ##### USER_FUNCTION SoupDNSCallback ##### -->
-<para>
-
-</para>
-
-@lookup:
-@success:
-@user_data:
-
-<!-- ##### TYPEDEF SoupDNSLookup ##### -->
-<para>
-
-</para>
-
-
-<!-- ##### STRUCT SoupDataBuffer ##### -->
-<para>
-
-</para>
-
-@owner:
-@body:
-@length:
-
-<!-- ##### ENUM SoupDigestAlgorithm ##### -->
-<para>
-
-</para>
-
-@SOUP_ALGORITHM_MD5:
-@SOUP_ALGORITHM_MD5_SESS:
-
-<!-- ##### ENUM SoupHandlerPhase ##### -->
-<para>
-
-</para>
-
-@SOUP_HANDLER_POST_REQUEST:
-@SOUP_HANDLER_PRE_BODY:
-@SOUP_HANDLER_BODY_CHUNK:
-@SOUP_HANDLER_POST_BODY:
-
-<!-- ##### ENUM SoupHttpVersion ##### -->
-<para>
-
-</para>
-
-@SOUP_HTTP_1_0:
-@SOUP_HTTP_1_1:
-
-<!-- ##### STRUCT SoupMD5Context ##### -->
-<para>
-
-</para>
-
-
-<!-- ##### USER_FUNCTION SoupMessageCallbackFn ##### -->
-<para>
-
-</para>
-
-@req:
-@user_data:
-
-<!-- ##### USER_FUNCTION SoupMessageGetHeadersFn ##### -->
-<para>
-
-</para>
-
-@msg:
-@headers:
-@encoding:
-@user_data:
-
-<!-- ##### USER_FUNCTION SoupMessageParseHeadersFn ##### -->
-<para>
-
-</para>
-
-@msg:
-@headers:
-@header_len:
-@encoding:
-@content_len:
-@user_data:
-@Returns:
-
-<!-- ##### TYPEDEF SoupMessageQueue ##### -->
-<para>
-
-</para>
-
-
-<!-- ##### STRUCT SoupMessageQueueIter ##### -->
-<para>
-
-</para>
-
-
-<!-- ##### ENUM SoupMessageStatus ##### -->
-<para>
-
-</para>
-
-@SOUP_MESSAGE_STATUS_IDLE:
-@SOUP_MESSAGE_STATUS_QUEUED:
-@SOUP_MESSAGE_STATUS_CONNECTING:
-@SOUP_MESSAGE_STATUS_RUNNING:
-@SOUP_MESSAGE_STATUS_FINISHED:
-
-<!-- ##### ENUM SoupOwnership ##### -->
-<para>
-
-</para>
-
-@SOUP_BUFFER_SYSTEM_OWNED:
-@SOUP_BUFFER_USER_OWNED:
-@SOUP_BUFFER_STATIC:
-
-<!-- ##### TYPEDEF SoupProtocol ##### -->
-<para>
-
-</para>
-
-
-<!-- ##### TYPEDEF SoupSSLCredentials ##### -->
-<para>
-
-</para>
-
-
-<!-- ##### ENUM SoupSSLType ##### -->
-<para>
-
-</para>
-
-@SOUP_SSL_TYPE_CLIENT:
-@SOUP_SSL_TYPE_SERVER:
-
-<!-- ##### STRUCT SoupServerAuthBasic ##### -->
-<para>
-
-</para>
-
-@type:
-@user:
-@passwd:
-
-<!-- ##### USER_FUNCTION SoupServerAuthCallbackFn ##### -->
-<para>
-
-</para>
-
-@auth_ctx:
-@auth:
-@msg:
-@data:
-@Returns:
-
-<!-- ##### STRUCT SoupServerAuthContext ##### -->
-<para>
-
-</para>
-
-@types:
-@callback:
-@user_data:
-
-<!-- ##### STRUCT SoupServerAuthDigest ##### -->
-<para>
-
-</para>
-
-@type:
-@algorithm:
-@integrity:
-@realm:
-@user:
-@nonce:
-@nonce_count:
-@cnonce:
-@digest_uri:
-@digest_response:
-@request_method:
-
-<!-- ##### USER_FUNCTION SoupServerCallbackFn ##### -->
-<para>
-
-</para>
-
-@context:
-@msg:
-@user_data:
-
-<!-- ##### STRUCT SoupServerContext ##### -->
-<para>
-
-</para>
-
-@msg:
-@path:
-@method_id:
-@auth:
-@server:
-@handler:
-@sock:
-
-<!-- ##### TYPEDEF SoupServerHandler ##### -->
-<para>
-
-</para>
-
-
-<!-- ##### STRUCT SoupServerMessage ##### -->
-<para>
-
-</para>
-
-
-<!-- ##### USER_FUNCTION SoupServerUnregisterFn ##### -->
-<para>
-
-</para>
-
-@server:
-@handler:
-@user_data:
-
-<!-- ##### SIGNAL SoupSession::reauthenticate ##### -->
-<para>
-
-</para>
-
-@session:
-@msg:
-@auth_type:
-@auth_realm:
-@username:
-@password:
-
-<!-- ##### STRUCT SoupSoapMessage ##### -->
-<para>
-
-</para>
-
-@parent:
-
-<!-- ##### TYPEDEF SoupSoapParameter ##### -->
-<para>
-
-</para>
-
-
-<!-- ##### STRUCT SoupSoapResponse ##### -->
-<para>
-
-</para>
-
-@parent:
-
-<!-- ##### SIGNAL SoupSocket::connect-result ##### -->
-<para>
-
-</para>
-
-@sock:
-@status:
-
-<!-- ##### ARG SoupSocket:cloexec ##### -->
-<para>
-
-</para>
-
-
-<!-- ##### ARG SoupSocket:nodelay ##### -->
-<para>
-
-</para>
-
-
-<!-- ##### ARG SoupSocket:reuseaddr ##### -->
-<para>
-
-</para>
-
-
-<!-- ##### ENUM SoupSocketError ##### -->
-<para>
-
-</para>
-
-@SOUP_SSL_ERROR_HANDSHAKE_NEEDS_READ:
-@SOUP_SSL_ERROR_HANDSHAKE_NEEDS_WRITE:
-@SOUP_SSL_ERROR_CERTIFICATE:
-
-<!-- ##### USER_FUNCTION SoupSocketListenerCallback ##### -->
-<para>
-
-</para>
-
-@listener:
-@sock:
-@user_data:
-
-<!-- ##### ENUM SoupStatusClass ##### -->
-<para>
-
-</para>
-
-@SOUP_STATUS_CLASS_TRANSPORT_ERROR:
-@SOUP_STATUS_CLASS_INFORMATIONAL:
-@SOUP_STATUS_CLASS_SUCCESS:
-@SOUP_STATUS_CLASS_REDIRECT:
-@SOUP_STATUS_CLASS_CLIENT_ERROR:
-@SOUP_STATUS_CLASS_SERVER_ERROR:
-
-<!-- ##### ENUM SoupTransferEncoding ##### -->
-<para>
-
-</para>
-
-@SOUP_TRANSFER_UNKNOWN:
-@SOUP_TRANSFER_CHUNKED:
-@SOUP_TRANSFER_CONTENT_LENGTH:
-@SOUP_TRANSFER_BYTERANGES:
-@SOUP_TRANSFER_NONE:
-@SOUP_TRANSFER_EOF:
-
-<!-- ##### STRUCT SoupUri ##### -->
-<para>
-Note that the <structfield>user</structfield> and
-<structfield>passwd</structfield> fields are <emphasis>not</emphasis>
-the standard mechanism for authentication in
-<application>libsoup</application>. Client-side authentication should
-normally use the <type>SoupSession</type> <link
-linkend="SoupSession-authenticate">authenticate</link> signal
-(although the <type>SoupUri</type> fields are also supported).
-Server-side authentication uses <type>SoupServer</type>'s
-authentication mechanisms and never makes use of the
-<type>SoupUri</type> fields.
-</para>
-
-<para>
-The <structfield>path</structfield> field is never empty or %NULL; if
-a stringified URI is given with no path, the <type>SoupUri</type> form
-has <literal>"/"</literal> as its path. Likewise,
-<structfield>port</structfield> is always filled in, even if it wasn't
-filled in in the stringified URI.
-</para>
-
-<para>
-The <structfield>path</structfield>, <structfield>query</structfield>,
-and <structfield>fragment</structfield> fields may have
-<literal>%</literal>-encoded characters in them; this is because only
-the server that the URI belongs to can say for sure whether
-<literal>"%%2F"</literal> means the same thing as
-<literal>"/"</literal>, or something different. Servers can use
-soup_uri_normalize() to decode characters from the "reserved" set that
-they are not using for reserved purposes.
-</para>
-
-@protocol: the URI's protocol, either %SOUP_PROTOCOL_HTTP or %SOUP_PROTOCOL_HTTPS
-@user: the username, or %NULL
-@passwd: the password, or %NULL
-@host: the hostname
-@port: the port
-@path: the path, possibly "%%-encoded"
-@query: the query string, possibly "%%-encoded", or %NULL
-@fragment: the fragment identifier, possibly "%%-encoded", or %NULL
-
-<!-- ##### STRUCT SoupXmlrpcMessage ##### -->
-<para>
-
-</para>
-
-
-<!-- ##### STRUCT SoupXmlrpcResponse ##### -->
-<para>
-
-</para>
-
-
-<!-- ##### TYPEDEF SoupXmlrpcValue ##### -->
-<para>
-
-</para>
-
-
-<!-- ##### TYPEDEF SoupXmlrpcValueArrayIterator ##### -->
-<para>
-
-</para>
-
-
-<!-- ##### ENUM SoupXmlrpcValueType ##### -->
-<para>
-
-</para>
-
-@SOUP_XMLRPC_VALUE_TYPE_BAD:
-@SOUP_XMLRPC_VALUE_TYPE_INT:
-@SOUP_XMLRPC_VALUE_TYPE_BOOLEAN:
-@SOUP_XMLRPC_VALUE_TYPE_STRING:
-@SOUP_XMLRPC_VALUE_TYPE_DOUBLE:
-@SOUP_XMLRPC_VALUE_TYPE_DATETIME:
-@SOUP_XMLRPC_VALUE_TYPE_BASE64:
-@SOUP_XMLRPC_VALUE_TYPE_STRUCT:
-@SOUP_XMLRPC_VALUE_TYPE_ARRAY:
-
-<!-- ##### FUNCTION soup_address_resolve_async_full ##### -->
-<para>
-
-</para>
-
-@addr:
-@async_context:
-@callback:
-@user_data:
-
-<!-- ##### FUNCTION soup_auth_new_from_header_list ##### -->
-<para>
-
-</para>
-
-@vals:
-@Returns:
-
-<!-- ##### FUNCTION soup_base64_decode ##### -->
-<para>
-
-</para>
-
-@text:
-@out_len:
-@Returns:
-
-<!-- ##### FUNCTION soup_base64_decode_step ##### -->
-<para>
-
-</para>
-
-@in:
-@len:
-@out:
-@state:
-@save:
-@Returns:
-
-<!-- ##### FUNCTION soup_base64_encode ##### -->
-<para>
-
-</para>
-
-@text:
-@len:
-@Returns:
-
-<!-- ##### FUNCTION soup_base64_encode_close ##### -->
-<para>
-
-</para>
-
-@in:
-@inlen:
-@break_lines:
-@out:
-@state:
-@save:
-@Returns:
-
-<!-- ##### FUNCTION soup_base64_encode_step ##### -->
-<para>
-
-</para>
-
-@in:
-@len:
-@break_lines:
-@out:
-@state:
-@save:
-@Returns:
-
-<!-- ##### FUNCTION soup_connection_authenticate ##### -->
-<para>
-
-</para>
-
-@conn:
-@msg:
-@auth:
-@retrying:
-
-<!-- ##### FUNCTION soup_connection_connect_async ##### -->
-<para>
-
-</para>
-
-@conn:
-@callback:
-@user_data:
-
-<!-- ##### FUNCTION soup_connection_connect_sync ##### -->
-<para>
-
-</para>
-
-@conn:
-@Returns:
-
-<!-- ##### FUNCTION soup_connection_disconnect ##### -->
-<para>
-
-</para>
-
-@conn:
-
-<!-- ##### FUNCTION soup_connection_is_in_use ##### -->
-<para>
-
-</para>
-
-@conn:
-@Returns:
-
-<!-- ##### FUNCTION soup_connection_last_used ##### -->
-<para>
-
-</para>
-
-@conn:
-@Returns:
-
-<!-- ##### FUNCTION soup_connection_new ##### -->
-<para>
-
-</para>
-
-@propname1:
-@Varargs:
-@Returns:
-
-<!-- ##### FUNCTION soup_connection_reauthenticate ##### -->
-<para>
-
-</para>
-
-@conn:
-@msg:
-@auth_type:
-@auth_realm:
-@username:
-@password:
-
-<!-- ##### FUNCTION soup_connection_release ##### -->
-<para>
-
-</para>
-
-@conn:
-
-<!-- ##### FUNCTION soup_connection_reserve ##### -->
-<para>
-
-</para>
-
-@conn:
-
-<!-- ##### FUNCTION soup_connection_send_request ##### -->
-<para>
-
-</para>
-
-@conn:
-@req:
-
-<!-- ##### FUNCTION soup_date_generate ##### -->
-<para>
-
-</para>
-
-@when:
-@Returns:
-
-<!-- ##### FUNCTION soup_date_iso8601_parse ##### -->
-<para>
-
-</para>
-
-@timestamp:
-@Returns:
-
-<!-- ##### FUNCTION soup_date_parse ##### -->
-<para>
-
-</para>
-
-@timestamp:
-@Returns:
-
-<!-- ##### FUNCTION soup_dns_init ##### -->
-<para>
-
-</para>
-
-
-<!-- ##### FUNCTION soup_dns_lookup_address ##### -->
-<para>
-
-</para>
-
-@sockaddr:
-@Returns:
-
-<!-- ##### FUNCTION soup_dns_lookup_cancel ##### -->
-<para>
-
-</para>
-
-@lookup:
-
-<!-- ##### FUNCTION soup_dns_lookup_free ##### -->
-<para>
-
-</para>
-
-@lookup:
-
-<!-- ##### FUNCTION soup_dns_lookup_get_address ##### -->
-<para>
-
-</para>
-
-@lookup:
-@Returns:
-
-<!-- ##### FUNCTION soup_dns_lookup_get_hostname ##### -->
-<para>
-
-</para>
-
-@lookup:
-@Returns:
-
-<!-- ##### FUNCTION soup_dns_lookup_name ##### -->
-<para>
-
-</para>
-
-@name:
-@Returns:
-
-<!-- ##### FUNCTION soup_dns_lookup_resolve ##### -->
-<para>
-
-</para>
-
-@lookup:
-@Returns:
-
-<!-- ##### FUNCTION soup_dns_lookup_resolve_async ##### -->
-<para>
-
-</para>
-
-@lookup:
-@async_context:
-@callback:
-@user_data:
-
-<!-- ##### FUNCTION soup_dns_ntop ##### -->
-<para>
-
-</para>
-
-@sa:
-@Returns:
-
-<!-- ##### FUNCTION soup_gmtime ##### -->
-<para>
-
-</para>
-
-@when:
-@tm:
-
-<!-- ##### FUNCTION soup_header_param_copy_token ##### -->
-<para>
-
-</para>
-
-@tokens:
-@t:
-@Returns:
-
-<!-- ##### FUNCTION soup_header_param_decode_token ##### -->
-<para>
-
-</para>
-
-@in:
-@Returns:
-
-<!-- ##### FUNCTION soup_header_param_destroy_hash ##### -->
-<para>
-
-</para>
-
-@table:
-
-<!-- ##### FUNCTION soup_header_param_parse_list ##### -->
-<para>
-
-</para>
-
-@header:
-@Returns:
-
-<!-- ##### FUNCTION soup_md5_final ##### -->
-<para>
-
-</para>
-
-@ctx:
-@digest:
-
-<!-- ##### FUNCTION soup_md5_final_hex ##### -->
-<para>
-
-</para>
-
-@ctx:
-@digest:
-
-<!-- ##### FUNCTION soup_md5_init ##### -->
-<para>
-
-</para>
-
-@ctx:
-
-<!-- ##### FUNCTION soup_md5_update ##### -->
-<para>
-
-</para>
-
-@ctx:
-@buf:
-@len:
-
-<!-- ##### FUNCTION soup_message_add_chunk ##### -->
-<para>
-
-</para>
-
-@msg:
-@owner:
-@body:
-@length:
-
-<!-- ##### FUNCTION soup_message_add_final_chunk ##### -->
-<para>
-
-</para>
-
-@msg:
-
-<!-- ##### FUNCTION soup_message_add_handler ##### -->
-<para>
-
-</para>
-
-@msg:
-@phase:
-@handler_cb:
-@user_data:
-
-<!-- ##### FUNCTION soup_message_add_header ##### -->
-<para>
-
-</para>
-
-@hash:
-@name:
-@value:
-
-<!-- ##### FUNCTION soup_message_add_status_class_handler ##### -->
-<para>
-
-</para>
-
-@msg:
-@status_class:
-@phase:
-@handler_cb:
-@user_data:
-
-<!-- ##### FUNCTION soup_message_cleanup_response ##### -->
-<para>
-
-</para>
-
-@req:
-
-<!-- ##### FUNCTION soup_message_clear_headers ##### -->
-<para>
-
-</para>
-
-@hash:
-
-<!-- ##### FUNCTION soup_message_filter_setup_message ##### -->
-<para>
-
-</para>
-
-@filter:
-@msg:
-
-<!-- ##### FUNCTION soup_message_finished ##### -->
-<para>
-
-</para>
-
-@msg:
-
-<!-- ##### FUNCTION soup_message_foreach_header ##### -->
-<para>
-
-</para>
-
-@hash:
-@func:
-@user_data:
-
-<!-- ##### FUNCTION soup_message_get_header ##### -->
-<para>
-
-</para>
-
-@hash:
-@name:
-@Returns:
-
-<!-- ##### FUNCTION soup_message_get_header_list ##### -->
-<para>
-
-</para>
-
-@hash:
-@name:
-@Returns:
-
-<!-- ##### FUNCTION soup_message_get_request_encoding ##### -->
-<para>
-
-</para>
-
-@msg:
-@content_length:
-@Returns:
-
-<!-- ##### FUNCTION soup_message_get_response_encoding ##### -->
-<para>
-
-</para>
-
-@msg:
-@content_length:
-@Returns:
-
-<!-- ##### FUNCTION soup_message_got_body ##### -->
-<para>
-
-</para>
-
-@msg:
-
-<!-- ##### FUNCTION soup_message_got_chunk ##### -->
-<para>
-
-</para>
-
-@msg:
-
-<!-- ##### FUNCTION soup_message_got_headers ##### -->
-<para>
-
-</para>
-
-@msg:
-
-<!-- ##### FUNCTION soup_message_got_informational ##### -->
-<para>
-
-</para>
-
-@msg:
-
-<!-- ##### FUNCTION soup_message_io_client ##### -->
-<para>
-
-</para>
-
-@msg:
-@sock:
-@get_headers_cb:
-@parse_headers_cb:
-@user_data:
-
-<!-- ##### FUNCTION soup_message_io_pause ##### -->
-<para>
-
-</para>
-
-@msg:
-
-<!-- ##### FUNCTION soup_message_io_server ##### -->
-<para>
-
-</para>
-
-@msg:
-@sock:
-@get_headers_cb:
-@parse_headers_cb:
-@user_data:
-
-<!-- ##### FUNCTION soup_message_io_stop ##### -->
-<para>
-
-</para>
-
-@msg:
-
-<!-- ##### FUNCTION soup_message_io_unpause ##### -->
-<para>
-
-</para>
-
-@msg:
-
-<!-- ##### FUNCTION soup_message_pop_chunk ##### -->
-<para>
-
-</para>
-
-@msg:
-@Returns:
-
-<!-- ##### FUNCTION soup_message_queue_append ##### -->
-<para>
-
-</para>
-
-@queue:
-@msg:
-
-<!-- ##### FUNCTION soup_message_queue_destroy ##### -->
-<para>
-
-</para>
-
-@queue:
-
-<!-- ##### FUNCTION soup_message_queue_first ##### -->
-<para>
-
-</para>
-
-@queue:
-@iter:
-@Returns:
-
-<!-- ##### FUNCTION soup_message_queue_free_iter ##### -->
-<para>
-
-</para>
-
-@queue:
-@iter:
-
-<!-- ##### FUNCTION soup_message_queue_new ##### -->
-<para>
-
-</para>
-
-@Returns:
-
-<!-- ##### FUNCTION soup_message_queue_next ##### -->
-<para>
-
-</para>
-
-@queue:
-@iter:
-@Returns:
-
-<!-- ##### FUNCTION soup_message_queue_remove ##### -->
-<para>
-
-</para>
-
-@queue:
-@iter:
-@Returns:
-
-<!-- ##### FUNCTION soup_message_queue_remove_message ##### -->
-<para>
-
-</para>
-
-@queue:
-@msg:
-
-<!-- ##### FUNCTION soup_message_read_request ##### -->
-<para>
-
-</para>
-
-@req:
-@sock:
-
-<!-- ##### FUNCTION soup_message_remove_handler ##### -->
-<para>
-
-</para>
-
-@msg:
-@phase:
-@handler_cb:
-@user_data:
-
-<!-- ##### FUNCTION soup_message_remove_header ##### -->
-<para>
-
-</para>
-
-@hash:
-@name:
-
-<!-- ##### FUNCTION soup_message_restarted ##### -->
-<para>
-
-</para>
-
-@msg:
-
-<!-- ##### FUNCTION soup_message_run_handlers ##### -->
-<para>
-
-</para>
-
-@msg:
-@phase:
-
-<!-- ##### FUNCTION soup_message_send_request ##### -->
-<para>
-
-</para>
-
-@req:
-@sock:
-@conn:
-@via_proxy:
-
-<!-- ##### FUNCTION soup_message_wrote_body ##### -->
-<para>
-
-</para>
-
-@msg:
-
-<!-- ##### FUNCTION soup_message_wrote_chunk ##### -->
-<para>
-
-</para>
-
-@msg:
-
-<!-- ##### FUNCTION soup_message_wrote_headers ##### -->
-<para>
-
-</para>
-
-@msg:
-
-<!-- ##### FUNCTION soup_message_wrote_informational ##### -->
-<para>
-
-</para>
-
-@msg:
-
-<!-- ##### FUNCTION soup_mktime_utc ##### -->
-<para>
-
-</para>
-
-@tm:
-@Returns:
-
-<!-- ##### FUNCTION soup_server_auth_check_passwd ##### -->
-<para>
-
-</para>
-
-@auth:
-@passwd:
-@Returns:
-
-<!-- ##### FUNCTION soup_server_auth_context_challenge ##### -->
-<para>
-
-</para>
-
-@auth_ctx:
-@msg:
-@header_name:
-
-<!-- ##### FUNCTION soup_server_auth_free ##### -->
-<para>
-
-</para>
-
-@auth:
-
-<!-- ##### FUNCTION soup_server_auth_get_user ##### -->
-<para>
-
-</para>
-
-@auth:
-@Returns:
-
-<!-- ##### FUNCTION soup_server_auth_new ##### -->
-<para>
-
-</para>
-
-@auth_ctx:
-@auth_hdrs:
-@msg:
-@Returns:
-
-<!-- ##### FUNCTION soup_server_context_get_client_address ##### -->
-<para>
-
-</para>
-
-@ctx:
-@Returns:
-
-<!-- ##### FUNCTION soup_server_context_get_client_host ##### -->
-<para>
-
-</para>
-
-@ctx:
-@Returns:
-
-<!-- ##### FUNCTION soup_server_get_handler ##### -->
-<para>
-
-</para>
-
-@serv:
-@path:
-@Returns:
-
-<!-- ##### FUNCTION soup_server_get_protocol ##### -->
-<para>
-
-</para>
-
-@serv:
-@Returns:
-
-<!-- ##### FUNCTION soup_server_list_handlers ##### -->
-<para>
-
-</para>
-
-@serv:
-@Returns:
-
-<!-- ##### FUNCTION soup_server_message_finish ##### -->
-<para>
-
-</para>
-
-@smsg:
-
-<!-- ##### FUNCTION soup_server_message_get_encoding ##### -->
-<para>
-
-</para>
-
-@smsg:
-@Returns:
-
-<!-- ##### FUNCTION soup_server_message_get_server ##### -->
-<para>
-
-</para>
-
-@smsg:
-@Returns:
-
-<!-- ##### FUNCTION soup_server_message_is_finished ##### -->
-<para>
-
-</para>
-
-@smsg:
-@Returns:
-
-<!-- ##### FUNCTION soup_server_message_is_started ##### -->
-<para>
-
-</para>
-
-@smsg:
-@Returns:
-
-<!-- ##### FUNCTION soup_server_message_new ##### -->
-<para>
-
-</para>
-
-@server:
-@Returns:
-
-<!-- ##### FUNCTION soup_server_message_set_encoding ##### -->
-<para>
-
-</para>
-
-@smsg:
-@encoding:
-
-<!-- ##### FUNCTION soup_server_message_start ##### -->
-<para>
-
-</para>
-
-@smsg:
-
-<!-- ##### FUNCTION soup_session_add_filter ##### -->
-<para>
-
-</para>
-
-@session:
-@filter:
-
-<!-- ##### FUNCTION soup_session_get_connection ##### -->
-<para>
-
-</para>
-
-@session:
-@msg:
-@try_pruning:
-@is_new:
-@Returns:
-
-<!-- ##### FUNCTION soup_session_remove_filter ##### -->
-<para>
-
-</para>
-
-@session:
-@filter:
-
-<!-- ##### FUNCTION soup_session_try_prune_connection ##### -->
-<para>
-
-</para>
-
-@session:
-@Returns:
-
-<!-- ##### FUNCTION soup_signal_connect_once ##### -->
-<para>
-
-</para>
-
-@instance:
-@detailed_signal:
-@c_handler:
-@data:
-@Returns:
-
-<!-- ##### FUNCTION soup_soap_message_add_attribute ##### -->
-<para>
-
-</para>
-
-@msg:
-@name:
-@value:
-@prefix:
-@ns_uri:
-
-<!-- ##### FUNCTION soup_soap_message_add_namespace ##### -->
-<para>
-
-</para>
-
-@msg:
-@prefix:
-@ns_uri:
-
-<!-- ##### FUNCTION soup_soap_message_end_body ##### -->
-<para>
-
-</para>
-
-@msg:
-
-<!-- ##### FUNCTION soup_soap_message_end_element ##### -->
-<para>
-
-</para>
-
-@msg:
-
-<!-- ##### FUNCTION soup_soap_message_end_envelope ##### -->
-<para>
-
-</para>
-
-@msg:
-
-<!-- ##### FUNCTION soup_soap_message_end_fault ##### -->
-<para>
-
-</para>
-
-@msg:
-
-<!-- ##### FUNCTION soup_soap_message_end_fault_detail ##### -->
-<para>
-
-</para>
-
-@msg:
-
-<!-- ##### FUNCTION soup_soap_message_end_header ##### -->
-<para>
-
-</para>
-
-@msg:
-
-<!-- ##### FUNCTION soup_soap_message_end_header_element ##### -->
-<para>
-
-</para>
-
-@msg:
-
-<!-- ##### FUNCTION soup_soap_message_get_namespace_prefix ##### -->
-<para>
-
-</para>
-
-@msg:
-@ns_uri:
-@Returns:
-
-<!-- ##### FUNCTION soup_soap_message_get_xml_doc ##### -->
-<para>
-
-</para>
-
-@msg:
-@Returns:
-
-<!-- ##### FUNCTION soup_soap_message_new ##### -->
-<para>
-
-</para>
-
-@method:
-@uri_string:
-@standalone:
-@xml_encoding:
-@env_prefix:
-@env_uri:
-@Returns:
-
-<!-- ##### FUNCTION soup_soap_message_new_from_uri ##### -->
-<para>
-
-</para>
-
-@method:
-@uri:
-@standalone:
-@xml_encoding:
-@env_prefix:
-@env_uri:
-@Returns:
-
-<!-- ##### FUNCTION soup_soap_message_parse_response ##### -->
-<para>
-
-</para>
-
-@msg:
-@Returns:
-
-<!-- ##### FUNCTION soup_soap_message_persist ##### -->
-<para>
-
-</para>
-
-@msg:
-
-<!-- ##### FUNCTION soup_soap_message_reset ##### -->
-<para>
-
-</para>
-
-@msg:
-
-<!-- ##### FUNCTION soup_soap_message_set_default_namespace ##### -->
-<para>
-
-</para>
-
-@msg:
-@ns_uri:
-
-<!-- ##### FUNCTION soup_soap_message_set_element_type ##### -->
-<para>
-
-</para>
-
-@msg:
-@xsi_type:
-
-<!-- ##### FUNCTION soup_soap_message_set_encoding_style ##### -->
-<para>
-
-</para>
-
-@msg:
-@enc_style:
-
-<!-- ##### FUNCTION soup_soap_message_set_null ##### -->
-<para>
-
-</para>
-
-@msg:
-
-<!-- ##### FUNCTION soup_soap_message_start_body ##### -->
-<para>
-
-</para>
-
-@msg:
-
-<!-- ##### FUNCTION soup_soap_message_start_element ##### -->
-<para>
-
-</para>
-
-@msg:
-@name:
-@prefix:
-@ns_uri:
-
-<!-- ##### FUNCTION soup_soap_message_start_envelope ##### -->
-<para>
-
-</para>
-
-@msg:
-
-<!-- ##### FUNCTION soup_soap_message_start_fault ##### -->
-<para>
-
-</para>
-
-@msg:
-@faultcode:
-@faultstring:
-@faultfactor:
-
-<!-- ##### FUNCTION soup_soap_message_start_fault_detail ##### -->
-<para>
-
-</para>
-
-@msg:
-
-<!-- ##### FUNCTION soup_soap_message_start_header ##### -->
-<para>
-
-</para>
-
-@msg:
-
-<!-- ##### FUNCTION soup_soap_message_start_header_element ##### -->
-<para>
-
-</para>
-
-@msg:
-@name:
-@must_understand:
-@actor_uri:
-@prefix:
-@ns_uri:
-
-<!-- ##### FUNCTION soup_soap_message_write_base64 ##### -->
-<para>
-
-</para>
-
-@msg:
-@string:
-@len:
-
-<!-- ##### FUNCTION soup_soap_message_write_buffer ##### -->
-<para>
-
-</para>
-
-@msg:
-@buffer:
-@len:
-
-<!-- ##### FUNCTION soup_soap_message_write_double ##### -->
-<para>
-
-</para>
-
-@msg:
-@d:
-
-<!-- ##### FUNCTION soup_soap_message_write_int ##### -->
-<para>
-
-</para>
-
-@msg:
-@i:
-
-<!-- ##### FUNCTION soup_soap_message_write_string ##### -->
-<para>
-
-</para>
-
-@msg:
-@string:
-
-<!-- ##### FUNCTION soup_soap_message_write_time ##### -->
-<para>
-
-</para>
-
-@msg:
-@timeval:
-
-<!-- ##### FUNCTION soup_soap_parameter_get_first_child ##### -->
-<para>
-
-</para>
-
-@param:
-@Returns:
-
-<!-- ##### FUNCTION soup_soap_parameter_get_first_child_by_name ##### -->
-<para>
-
-</para>
-
-@param:
-@name:
-@Returns:
-
-<!-- ##### FUNCTION soup_soap_parameter_get_int_value ##### -->
-<para>
-
-</para>
-
-@param:
-@Returns:
-
-<!-- ##### FUNCTION soup_soap_parameter_get_name ##### -->
-<para>
-
-</para>
-
-@param:
-@Returns:
-
-<!-- ##### FUNCTION soup_soap_parameter_get_next_child ##### -->
-<para>
-
-</para>
-
-@param:
-@Returns:
-
-<!-- ##### FUNCTION soup_soap_parameter_get_next_child_by_name ##### -->
-<para>
-
-</para>
-
-@param:
-@name:
-@Returns:
-
-<!-- ##### FUNCTION soup_soap_parameter_get_property ##### -->
-<para>
-
-</para>
-
-@param:
-@prop_name:
-@Returns:
-
-<!-- ##### FUNCTION soup_soap_parameter_get_string_value ##### -->
-<para>
-
-</para>
-
-@param:
-@Returns:
-
-<!-- ##### FUNCTION soup_soap_response_from_string ##### -->
-<para>
-
-</para>
-
-@response:
-@xmlstr:
-@Returns:
-
-<!-- ##### FUNCTION soup_soap_response_get_first_parameter ##### -->
-<para>
-
-</para>
-
-@response:
-@Returns:
-
-<!-- ##### FUNCTION soup_soap_response_get_first_parameter_by_name ##### -->
-<para>
-
-</para>
-
-@response:
-@name:
-@Returns:
-
-<!-- ##### FUNCTION soup_soap_response_get_method_name ##### -->
-<para>
-
-</para>
-
-@response:
-@Returns:
-
-<!-- ##### FUNCTION soup_soap_response_get_next_parameter ##### -->
-<para>
-
-</para>
-
-@response:
-@from:
-@Returns:
-
-<!-- ##### FUNCTION soup_soap_response_get_next_parameter_by_name ##### -->
-<para>
-
-</para>
-
-@response:
-@from:
-@name:
-@Returns:
-
-<!-- ##### FUNCTION soup_soap_response_get_parameters ##### -->
-<para>
-
-</para>
-
-@response:
-@Returns:
-
-<!-- ##### FUNCTION soup_soap_response_new ##### -->
-<para>
-
-</para>
-
-@Returns:
-
-<!-- ##### FUNCTION soup_soap_response_new_from_string ##### -->
-<para>
-
-</para>
-
-@xmlstr:
-@Returns:
-
-<!-- ##### FUNCTION soup_soap_response_set_method_name ##### -->
-<para>
-
-</para>
-
-@response:
-@method_name:
-
-<!-- ##### FUNCTION soup_socket_client_new_async ##### -->
-<para>
-
-</para>
-
-@hostname:
-@port:
-@ssl_creds:
-@callback:
-@user_data:
-@Returns:
-
-<!-- ##### FUNCTION soup_socket_client_new_sync ##### -->
-<para>
-
-</para>
-
-@hostname:
-@port:
-@ssl_creds:
-@status_ret:
-@Returns:
-
-<!-- ##### FUNCTION soup_socket_connect ##### -->
-<para>
-
-</para>
-
-@sock:
-@remote_addr:
-@Returns:
-
-<!-- ##### FUNCTION soup_socket_server_new ##### -->
-<para>
-
-</para>
-
-@local_addr:
-@ssl_creds:
-@callback:
-@user_data:
-@Returns:
-
-<!-- ##### FUNCTION soup_ssl_error_quark ##### -->
-<para>
-
-</para>
-
-@Returns:
-
-<!-- ##### FUNCTION soup_ssl_free_client_credentials ##### -->
-<para>
-
-</para>
-
-@creds:
-
-<!-- ##### FUNCTION soup_ssl_free_server_credentials ##### -->
-<para>
-
-</para>
-
-@creds:
-
-<!-- ##### FUNCTION soup_ssl_get_client_credentials ##### -->
-<para>
-
-</para>
-
-@ca_file:
-@Returns:
-
-<!-- ##### FUNCTION soup_ssl_get_server_credentials ##### -->
-<para>
-
-</para>
-
-@cert_file:
-@key_file:
-@Returns:
-
-<!-- ##### FUNCTION soup_ssl_wrap_iochannel ##### -->
-<para>
-
-</para>
-
-@sock:
-@type:
-@remote_host:
-@creds:
-@Returns:
-
-<!-- ##### FUNCTION soup_uri_copy_root ##### -->
-<para>
-
-</para>
-
-@uri:
-@Returns:
-
-<!-- ##### FUNCTION soup_xml_real_node ##### -->
-<para>
-
-</para>
-
-@node:
-@Returns:
-
-<!-- ##### FUNCTION soup_xmlrpc_message_end_array ##### -->
-<para>
-
-</para>
-
-@msg:
-
-<!-- ##### FUNCTION soup_xmlrpc_message_end_call ##### -->
-<para>
-
-</para>
-
-@msg:
-
-<!-- ##### FUNCTION soup_xmlrpc_message_end_member ##### -->
-<para>
-
-</para>
-
-@msg:
-
-<!-- ##### FUNCTION soup_xmlrpc_message_end_param ##### -->
-<para>
-
-</para>
-
-@msg:
-
-<!-- ##### FUNCTION soup_xmlrpc_message_end_struct ##### -->
-<para>
-
-</para>
-
-@msg:
-
-<!-- ##### FUNCTION soup_xmlrpc_message_from_string ##### -->
-<para>
-
-</para>
-
-@message:
-@xmlstr:
-@Returns:
-
-<!-- ##### FUNCTION soup_xmlrpc_message_new ##### -->
-<para>
-
-</para>
-
-@uri_string:
-@Returns:
-
-<!-- ##### FUNCTION soup_xmlrpc_message_new_from_uri ##### -->
-<para>
-
-</para>
-
-@uri:
-@Returns:
-
-<!-- ##### FUNCTION soup_xmlrpc_message_parse_response ##### -->
-<para>
-
-</para>
-
-@msg:
-@Returns:
-
-<!-- ##### FUNCTION soup_xmlrpc_message_persist ##### -->
-<para>
-
-</para>
-
-@msg:
-
-<!-- ##### FUNCTION soup_xmlrpc_message_start_array ##### -->
-<para>
-
-</para>
-
-@msg:
-
-<!-- ##### FUNCTION soup_xmlrpc_message_start_call ##### -->
-<para>
-
-</para>
-
-@msg:
-@method_name:
-
-<!-- ##### FUNCTION soup_xmlrpc_message_start_member ##### -->
-<para>
-
-</para>
-
-@msg:
-@name:
-
-<!-- ##### FUNCTION soup_xmlrpc_message_start_param ##### -->
-<para>
-
-</para>
-
-@msg:
-
-<!-- ##### FUNCTION soup_xmlrpc_message_start_struct ##### -->
-<para>
-
-</para>
-
-@msg:
-
-<!-- ##### FUNCTION soup_xmlrpc_message_to_string ##### -->
-<para>
-
-</para>
-
-@msg:
-@Returns:
-
-<!-- ##### FUNCTION soup_xmlrpc_message_write_base64 ##### -->
-<para>
-
-</para>
-
-@msg:
-@buf:
-@len:
-
-<!-- ##### FUNCTION soup_xmlrpc_message_write_boolean ##### -->
-<para>
-
-</para>
-
-@msg:
-@b:
-
-<!-- ##### FUNCTION soup_xmlrpc_message_write_datetime ##### -->
-<para>
-
-</para>
-
-@msg:
-@timeval:
-
-<!-- ##### FUNCTION soup_xmlrpc_message_write_double ##### -->
-<para>
-
-</para>
-
-@msg:
-@d:
-
-<!-- ##### FUNCTION soup_xmlrpc_message_write_int ##### -->
-<para>
-
-</para>
-
-@msg:
-@Param2:
-
-<!-- ##### FUNCTION soup_xmlrpc_message_write_string ##### -->
-<para>
-
-</para>
-
-@msg:
-@str:
-
-<!-- ##### FUNCTION soup_xmlrpc_response_from_string ##### -->
-<para>
-
-</para>
-
-@response:
-@xmlstr:
-@Returns:
-
-<!-- ##### FUNCTION soup_xmlrpc_response_get_value ##### -->
-<para>
-
-</para>
-
-@response:
-@Returns:
-
-<!-- ##### FUNCTION soup_xmlrpc_response_is_fault ##### -->
-<para>
-
-</para>
-
-@response:
-@Returns:
-
-<!-- ##### FUNCTION soup_xmlrpc_response_new ##### -->
-<para>
-
-</para>
-
-@Returns:
-
-<!-- ##### FUNCTION soup_xmlrpc_response_new_from_string ##### -->
-<para>
-
-</para>
-
-@xmlstr:
-@Returns:
-
-<!-- ##### FUNCTION soup_xmlrpc_response_to_string ##### -->
-<para>
-
-</para>
-
-@response:
-@Returns:
-
-<!-- ##### FUNCTION soup_xmlrpc_value_array_get_iterator ##### -->
-<para>
-
-</para>
-
-@value:
-@iter:
-@Returns:
-
-<!-- ##### FUNCTION soup_xmlrpc_value_array_iterator_get_value ##### -->
-<para>
-
-</para>
-
-@iter:
-@value:
-@Returns:
-
-<!-- ##### FUNCTION soup_xmlrpc_value_array_iterator_next ##### -->
-<para>
-
-</para>
-
-@iter:
-@Returns:
-
-<!-- ##### FUNCTION soup_xmlrpc_value_array_iterator_prev ##### -->
-<para>
-
-</para>
-
-@iter:
-@Returns:
-
-<!-- ##### FUNCTION soup_xmlrpc_value_dump ##### -->
-<para>
-
-</para>
-
-@value:
-
-<!-- ##### FUNCTION soup_xmlrpc_value_get_base64 ##### -->
-<para>
-
-</para>
-
-@value:
-@data:
-@Returns:
-
-<!-- ##### FUNCTION soup_xmlrpc_value_get_boolean ##### -->
-<para>
-
-</para>
-
-@value:
-@b:
-@Returns:
-
-<!-- ##### FUNCTION soup_xmlrpc_value_get_datetime ##### -->
-<para>
-
-</para>
-
-@value:
-@timeval:
-@Returns:
-
-<!-- ##### FUNCTION soup_xmlrpc_value_get_double ##### -->
-<para>
-
-</para>
-
-@value:
-@b:
-@Returns:
-
-<!-- ##### FUNCTION soup_xmlrpc_value_get_int ##### -->
-<para>
-
-</para>
-
-@value:
-@i:
-@Returns:
-
-<!-- ##### FUNCTION soup_xmlrpc_value_get_string ##### -->
-<para>
-
-</para>
-
-@value:
-@str:
-@Returns:
-
-<!-- ##### FUNCTION soup_xmlrpc_value_get_struct ##### -->
-<para>
-
-</para>
-
-@value:
-@table:
-@Returns:
-
-<!-- ##### FUNCTION soup_xmlrpc_value_get_type ##### -->
-<para>
-
-</para>
-
-@value:
-@Returns:
-
diff --git a/docs/reference/tmpl/soup-address.sgml b/docs/reference/tmpl/soup-address.sgml
deleted file mode 100644
index 0a696824..00000000
--- a/docs/reference/tmpl/soup-address.sgml
+++ /dev/null
@@ -1,152 +0,0 @@
-<!-- ##### SECTION Title ##### -->
-SoupAddress
-
-<!-- ##### SECTION Short_Description ##### -->
-DNS support
-
-<!-- ##### SECTION Long_Description ##### -->
-<para>
-#SoupAddress represents the address of a TCP connection endpoint; both
-the IP address and the port. (It is somewhat like an object-oriented
-version of <literal>struct sockaddr</literal>.)
-</para>
-
-<para>
-If libsoup was built with IPv6 support, #SoupAddress will allow both
-IPv4 and IPv6 addresses.
-</para>
-
-<!-- ##### SECTION See_Also ##### -->
-<para>
-
-</para>
-
-<!-- ##### SECTION Stability_Level ##### -->
-
-
-<!-- ##### STRUCT SoupAddress ##### -->
-<para>
-
-</para>
-
-
-<!-- ##### SIGNAL SoupAddress::dns-result ##### -->
-<para>
-
-</para>
-
-@addr:
-@status:
-
-<!-- ##### ENUM SoupAddressFamily ##### -->
-<para>
-
-</para>
-
-@SOUP_ADDRESS_FAMILY_IPV4:
-@SOUP_ADDRESS_FAMILY_IPV6:
-
-<!-- ##### MACRO SOUP_ADDRESS_ANY_PORT ##### -->
-<para>
-
-</para>
-
-
-
-<!-- ##### FUNCTION soup_address_new ##### -->
-<para>
-
-</para>
-
-@name:
-@port:
-@Returns:
-
-
-<!-- ##### FUNCTION soup_address_new_from_sockaddr ##### -->
-<para>
-
-</para>
-
-@sa:
-@len:
-@Returns:
-
-
-<!-- ##### FUNCTION soup_address_new_any ##### -->
-<para>
-
-</para>
-
-@family:
-@port:
-@Returns:
-
-
-<!-- ##### USER_FUNCTION SoupAddressCallback ##### -->
-<para>
-
-</para>
-
-@addr:
-@status:
-@data:
-
-
-<!-- ##### FUNCTION soup_address_resolve_async ##### -->
-<para>
-
-</para>
-
-@addr:
-@async_context:
-@callback:
-@user_data:
-
-
-<!-- ##### FUNCTION soup_address_resolve_sync ##### -->
-<para>
-
-</para>
-
-@addr:
-@Returns:
-
-
-<!-- ##### FUNCTION soup_address_get_name ##### -->
-<para>
-
-</para>
-
-@addr:
-@Returns:
-
-
-<!-- ##### FUNCTION soup_address_get_sockaddr ##### -->
-<para>
-
-</para>
-
-@addr:
-@len:
-@Returns:
-
-
-<!-- ##### FUNCTION soup_address_get_physical ##### -->
-<para>
-
-</para>
-
-@addr:
-@Returns:
-
-
-<!-- ##### FUNCTION soup_address_get_port ##### -->
-<para>
-
-</para>
-
-@addr:
-@Returns:
-
-
diff --git a/docs/reference/tmpl/soup-auth-domain-basic.sgml b/docs/reference/tmpl/soup-auth-domain-basic.sgml
deleted file mode 100644
index ec3c416d..00000000
--- a/docs/reference/tmpl/soup-auth-domain-basic.sgml
+++ /dev/null
@@ -1,84 +0,0 @@
-<!-- ##### SECTION Title ##### -->
-SoupAuthDomainBasic
-
-<!-- ##### SECTION Short_Description ##### -->
-Server-side "Basic" authentication
-
-<!-- ##### SECTION Long_Description ##### -->
-<para>
-#SoupAuthDomainBasic handles the server side of HTTP "Basic" (ie,
-cleartext password) authentication.
-</para>
-
-<!-- ##### SECTION See_Also ##### -->
-<para>
-
-</para>
-
-<!-- ##### SECTION Stability_Level ##### -->
-
-
-<!-- ##### STRUCT SoupAuthDomainBasic ##### -->
-<para>
-
-</para>
-
-
-<!-- ##### ARG SoupAuthDomainBasic:auth-callback ##### -->
-<para>
-
-</para>
-
-<!-- ##### ARG SoupAuthDomainBasic:auth-data ##### -->
-<para>
-
-</para>
-
-<!-- ##### FUNCTION soup_auth_domain_basic_new ##### -->
-<para>
-
-</para>
-
-@optname1:
-@Varargs:
-@Returns:
-
-
-<!-- ##### USER_FUNCTION SoupAuthDomainBasicAuthCallback ##### -->
-<para>
-
-</para>
-
-@domain:
-@msg:
-@username:
-@password:
-@user_data:
-@Returns:
-
-
-<!-- ##### FUNCTION soup_auth_domain_basic_set_auth_callback ##### -->
-<para>
-
-</para>
-
-@domain:
-@callback:
-@user_data:
-@dnotify:
-
-
-<!-- ##### MACRO SOUP_AUTH_DOMAIN_BASIC_AUTH_CALLBACK ##### -->
-<para>
-
-</para>
-
-
-
-<!-- ##### MACRO SOUP_AUTH_DOMAIN_BASIC_AUTH_DATA ##### -->
-<para>
-
-</para>
-
-
-
diff --git a/docs/reference/tmpl/soup-auth-domain-digest.sgml b/docs/reference/tmpl/soup-auth-domain-digest.sgml
deleted file mode 100644
index 87a04233..00000000
--- a/docs/reference/tmpl/soup-auth-domain-digest.sgml
+++ /dev/null
@@ -1,105 +0,0 @@
-<!-- ##### SECTION Title ##### -->
-SoupAuthDomainDigest
-
-<!-- ##### SECTION Short_Description ##### -->
-Server-side "Digest" authentication
-
-<!-- ##### SECTION Long_Description ##### -->
-<para>
-#SoupAuthDomainDigest handles the server side of HTTP "Digest" authentication.
-</para>
-
-<!-- ##### SECTION See_Also ##### -->
-<para>
-
-</para>
-
-<!-- ##### SECTION Stability_Level ##### -->
-
-
-<!-- ##### STRUCT SoupAuthDomainDigest ##### -->
-<para>
-
-</para>
-
-
-<!-- ##### ARG SoupAuthDomainDigest:auth-callback ##### -->
-<para>
-
-</para>
-
-<!-- ##### ARG SoupAuthDomainDigest:auth-data ##### -->
-<para>
-
-</para>
-
-<!-- ##### FUNCTION soup_auth_domain_digest_new ##### -->
-<para>
-
-</para>
-
-@optname1:
-@Varargs:
-@Returns:
-
-
-<!-- ##### USER_FUNCTION SoupAuthDomainDigestAuthCallback ##### -->
-<para>
-
-</para>
-
-@domain:
-@msg:
-@username:
-@user_data:
-@Returns:
-
-
-<!-- ##### FUNCTION soup_auth_domain_digest_set_auth_callback ##### -->
-<para>
-
-</para>
-
-@domain:
-@callback:
-@user_data:
-@dnotify:
-
-
-<!-- ##### FUNCTION soup_auth_domain_digest_encode_password ##### -->
-<para>
-
-</para>
-
-@username:
-@realm:
-@password:
-@Returns:
-
-
-<!-- ##### FUNCTION soup_auth_domain_digest_evil_check_password ##### -->
-<para>
-
-</para>
-
-@domain:
-@msg:
-@username:
-@password:
-@Returns:
-
-
-<!-- ##### MACRO SOUP_AUTH_DOMAIN_DIGEST_AUTH_CALLBACK ##### -->
-<para>
-
-</para>
-
-
-
-<!-- ##### MACRO SOUP_AUTH_DOMAIN_DIGEST_AUTH_DATA ##### -->
-<para>
-
-</para>
-
-
-
diff --git a/docs/reference/tmpl/soup-auth-domain.sgml b/docs/reference/tmpl/soup-auth-domain.sgml
deleted file mode 100644
index 9a055bde..00000000
--- a/docs/reference/tmpl/soup-auth-domain.sgml
+++ /dev/null
@@ -1,182 +0,0 @@
-<!-- ##### SECTION Title ##### -->
-SoupAuthDomain
-
-<!-- ##### SECTION Short_Description ##### -->
-Server-side authentication
-
-<!-- ##### SECTION Long_Description ##### -->
-<para>
-A #SoupAuthDomain manages authentication for all or part of a
-#SoupServer. To make a server require authentication, first create an
-appropriate subclass of #SoupAuthDomain, and then add it to the server
-with soup_server_add_auth_domain().
-</para>
-
-<para>
-In order for an auth domain to have any effect, you must add one or
-more paths to it (via soup_auth_domain_add_path() or the
-%SOUP_AUTH_DOMAIN_ADD_PATH property). To require authentication for
-all requests, add the path "/".
-</para>
-
-<para>
-If you need greater control over which requests should and shouldn't
-be authenticated, add paths covering everything you
-<emphasis>might</emphasis> want authenticated, and then use a filter
-(soup_auth_domain_set_filter()) to bypass authentication for those
-requests that don't need it.
-</para>
-
-<!-- ##### SECTION See_Also ##### -->
-<para>
-
-</para>
-
-<!-- ##### SECTION Stability_Level ##### -->
-
-
-<!-- ##### STRUCT SoupAuthDomain ##### -->
-<para>
-
-</para>
-
-
-<!-- ##### ARG SoupAuthDomain:add-path ##### -->
-<para>
-
-</para>
-
-<!-- ##### ARG SoupAuthDomain:filter ##### -->
-<para>
-
-</para>
-
-<!-- ##### ARG SoupAuthDomain:filter-data ##### -->
-<para>
-
-</para>
-
-<!-- ##### ARG SoupAuthDomain:proxy ##### -->
-<para>
-
-</para>
-
-<!-- ##### ARG SoupAuthDomain:realm ##### -->
-<para>
-
-</para>
-
-<!-- ##### ARG SoupAuthDomain:remove-path ##### -->
-<para>
-
-</para>
-
-<!-- ##### FUNCTION soup_auth_domain_add_path ##### -->
-<para>
-
-</para>
-
-@domain:
-@path:
-
-
-<!-- ##### FUNCTION soup_auth_domain_remove_path ##### -->
-<para>
-
-</para>
-
-@domain:
-@path:
-
-
-<!-- ##### FUNCTION soup_auth_domain_set_filter ##### -->
-<para>
-
-</para>
-
-@domain:
-@filter:
-@filter_data:
-@dnotify:
-
-
-<!-- ##### FUNCTION soup_auth_domain_get_realm ##### -->
-<para>
-
-</para>
-
-@domain:
-@Returns:
-
-
-<!-- ##### FUNCTION soup_auth_domain_covers ##### -->
-<para>
-
-</para>
-
-@domain:
-@msg:
-@Returns:
-
-
-<!-- ##### FUNCTION soup_auth_domain_accepts ##### -->
-<para>
-
-</para>
-
-@domain:
-@msg:
-@Returns:
-
-
-<!-- ##### FUNCTION soup_auth_domain_challenge ##### -->
-<para>
-
-</para>
-
-@domain:
-@msg:
-
-
-<!-- ##### MACRO SOUP_AUTH_DOMAIN_REALM ##### -->
-<para>
-
-</para>
-
-
-
-<!-- ##### MACRO SOUP_AUTH_DOMAIN_PROXY ##### -->
-<para>
-
-</para>
-
-
-
-<!-- ##### MACRO SOUP_AUTH_DOMAIN_ADD_PATH ##### -->
-<para>
-
-</para>
-
-
-
-<!-- ##### MACRO SOUP_AUTH_DOMAIN_REMOVE_PATH ##### -->
-<para>
-
-</para>
-
-
-
-<!-- ##### MACRO SOUP_AUTH_DOMAIN_FILTER ##### -->
-<para>
-
-</para>
-
-
-
-<!-- ##### MACRO SOUP_AUTH_DOMAIN_FILTER_DATA ##### -->
-<para>
-
-</para>
-
-
-
diff --git a/docs/reference/tmpl/soup-auth.sgml b/docs/reference/tmpl/soup-auth.sgml
deleted file mode 100644
index 1c0e2557..00000000
--- a/docs/reference/tmpl/soup-auth.sgml
+++ /dev/null
@@ -1,205 +0,0 @@
-<!-- ##### SECTION Title ##### -->
-SoupAuth
-
-<!-- ##### SECTION Short_Description ##### -->
-HTTP Authentication support
-
-<!-- ##### SECTION Long_Description ##### -->
-<para>
-#SoupAuth objects store the authentication data associated with a
-given bit of webspace. They are created automatically
-by #SoupSession.
-</para>
-
-<!-- ##### SECTION See_Also ##### -->
-<para>
-#SoupSession
-</para>
-
-<!-- ##### SECTION Stability_Level ##### -->
-
-
-<!-- ##### STRUCT SoupAuth ##### -->
-<para>
-The abstract base class for handling authentication. Specific HTTP
-Authentication mechanisms are implemented by its subclasses, but
-applications never need to be aware of the specific subclasses being
-used.
-</para>
-
-
-<!-- ##### ARG SoupAuth:host ##### -->
-<para>
-
-</para>
-
-<!-- ##### ARG SoupAuth:is-authenticated ##### -->
-<para>
-
-</para>
-
-<!-- ##### ARG SoupAuth:is-for-proxy ##### -->
-<para>
-
-</para>
-
-<!-- ##### ARG SoupAuth:realm ##### -->
-<para>
-
-</para>
-
-<!-- ##### ARG SoupAuth:scheme-name ##### -->
-<para>
-
-</para>
-
-<!-- ##### FUNCTION soup_auth_new ##### -->
-<para>
-
-</para>
-
-@type:
-@msg:
-@auth_header:
-@Returns:
-
-
-<!-- ##### FUNCTION soup_auth_update ##### -->
-<para>
-
-</para>
-
-@auth:
-@msg:
-@auth_header:
-@Returns:
-
-
-<!-- ##### FUNCTION soup_auth_is_for_proxy ##### -->
-<para>
-
-</para>
-
-@auth:
-@Returns:
-
-
-<!-- ##### FUNCTION soup_auth_get_scheme_name ##### -->
-<para>
-
-</para>
-
-@auth:
-@Returns:
-
-
-<!-- ##### FUNCTION soup_auth_get_host ##### -->
-<para>
-
-</para>
-
-@auth:
-@Returns:
-
-
-<!-- ##### FUNCTION soup_auth_get_realm ##### -->
-<para>
-
-</para>
-
-@auth:
-@Returns:
-
-
-<!-- ##### FUNCTION soup_auth_get_info ##### -->
-<para>
-
-</para>
-
-@auth:
-@Returns:
-
-
-<!-- ##### FUNCTION soup_auth_authenticate ##### -->
-<para>
-
-</para>
-
-@auth:
-@username:
-@password:
-
-
-<!-- ##### FUNCTION soup_auth_is_authenticated ##### -->
-<para>
-
-</para>
-
-@auth:
-@Returns:
-
-
-<!-- ##### FUNCTION soup_auth_get_authorization ##### -->
-<para>
-
-</para>
-
-@auth:
-@msg:
-@Returns:
-
-
-<!-- ##### FUNCTION soup_auth_get_protection_space ##### -->
-<para>
-
-</para>
-
-@auth:
-@source_uri:
-@Returns:
-
-
-<!-- ##### FUNCTION soup_auth_free_protection_space ##### -->
-<para>
-
-</para>
-
-@auth:
-@space:
-
-
-<!-- ##### MACRO SOUP_AUTH_SCHEME_NAME ##### -->
-<para>
-
-</para>
-
-
-
-<!-- ##### MACRO SOUP_AUTH_REALM ##### -->
-<para>
-
-</para>
-
-
-
-<!-- ##### MACRO SOUP_AUTH_HOST ##### -->
-<para>
-
-</para>
-
-
-
-<!-- ##### MACRO SOUP_AUTH_IS_FOR_PROXY ##### -->
-<para>
-
-</para>
-
-
-
-<!-- ##### MACRO SOUP_AUTH_IS_AUTHENTICATED ##### -->
-<para>
-
-</para>
-
-
-
diff --git a/docs/reference/tmpl/soup-message-body.sgml b/docs/reference/tmpl/soup-message-body.sgml
deleted file mode 100644
index e051943b..00000000
--- a/docs/reference/tmpl/soup-message-body.sgml
+++ /dev/null
@@ -1,164 +0,0 @@
-<!-- ##### SECTION Title ##### -->
-SoupMessageBody
-
-<!-- ##### SECTION Short_Description ##### -->
-HTTP Message Body
-
-<!-- ##### SECTION Long_Description ##### -->
-<para>
-#SoupMessageBody represents the request or response body of a
-#SoupMessage.
-</para>
-
-<para>
-In addition to #SoupMessageBody, libsoup also defines a "smaller" data
-buffer type, #SoupBuffer, which is primarily used as a component of
-#SoupMessageBody. In particular, when using chunked encoding to
-transmit or receive a message, each chunk is represented as a
-#SoupBuffer.
-</para>
-
-<!-- ##### SECTION See_Also ##### -->
-<para>
-#SoupMessage
-</para>
-
-<!-- ##### SECTION Stability_Level ##### -->
-
-
-<!-- ##### STRUCT SoupBuffer ##### -->
-<para>
-
-</para>
-
-@data:
-@length:
-
-<!-- ##### ENUM SoupMemoryUse ##### -->
-<para>
-
-</para>
-
-@SOUP_MEMORY_STATIC:
-@SOUP_MEMORY_TAKE:
-@SOUP_MEMORY_COPY:
-@SOUP_MEMORY_TEMPORARY:
-
-<!-- ##### FUNCTION soup_buffer_new ##### -->
-<para>
-
-</para>
-
-@use:
-@data:
-@length:
-@Returns:
-
-
-<!-- ##### FUNCTION soup_buffer_new_subbuffer ##### -->
-<para>
-
-</para>
-
-@parent:
-@offset:
-@length:
-@Returns:
-
-
-<!-- ##### FUNCTION soup_buffer_copy ##### -->
-<para>
-
-</para>
-
-@buffer:
-@Returns:
-
-
-<!-- ##### FUNCTION soup_buffer_free ##### -->
-<para>
-
-</para>
-
-@buffer:
-
-
-<!-- ##### STRUCT SoupMessageBody ##### -->
-<para>
-
-</para>
-
-@data:
-@length:
-
-<!-- ##### FUNCTION soup_message_body_new ##### -->
-<para>
-
-</para>
-
-@Returns:
-
-
-<!-- ##### FUNCTION soup_message_body_free ##### -->
-<para>
-
-</para>
-
-@body:
-
-
-<!-- ##### FUNCTION soup_message_body_append ##### -->
-<para>
-
-</para>
-
-@body:
-@use:
-@data:
-@length:
-
-
-<!-- ##### FUNCTION soup_message_body_append_buffer ##### -->
-<para>
-
-</para>
-
-@body:
-@buffer:
-
-
-<!-- ##### FUNCTION soup_message_body_truncate ##### -->
-<para>
-
-</para>
-
-@body:
-
-
-<!-- ##### FUNCTION soup_message_body_complete ##### -->
-<para>
-
-</para>
-
-@body:
-
-
-<!-- ##### FUNCTION soup_message_body_flatten ##### -->
-<para>
-
-</para>
-
-@body:
-@Returns:
-
-
-<!-- ##### FUNCTION soup_message_body_get_chunk ##### -->
-<para>
-
-</para>
-
-@body:
-@offset:
-@Returns:
-
-
diff --git a/docs/reference/tmpl/soup-message-headers.sgml b/docs/reference/tmpl/soup-message-headers.sgml
deleted file mode 100644
index 5916adc6..00000000
--- a/docs/reference/tmpl/soup-message-headers.sgml
+++ /dev/null
@@ -1,192 +0,0 @@
-<!-- ##### SECTION Title ##### -->
-SoupMessageHeaders
-
-<!-- ##### SECTION Short_Description ##### -->
-HTTP Message Headers
-
-<!-- ##### SECTION Long_Description ##### -->
-<para>
-#SoupMessageHeaders represents the HTTP message headers associated
-with a request or response.
-</para>
-
-<!-- ##### SECTION See_Also ##### -->
-<para>
-#SoupMessage
-</para>
-
-<!-- ##### SECTION Stability_Level ##### -->
-
-
-<!-- ##### TYPEDEF SoupMessageHeaders ##### -->
-<para>
-
-</para>
-
-
-<!-- ##### ENUM SoupMessageHeadersType ##### -->
-<para>
-
-</para>
-
-@SOUP_MESSAGE_HEADERS_REQUEST:
-@SOUP_MESSAGE_HEADERS_RESPONSE:
-
-<!-- ##### FUNCTION soup_message_headers_new ##### -->
-<para>
-
-</para>
-
-@type:
-@Returns:
-
-
-<!-- ##### FUNCTION soup_message_headers_free ##### -->
-<para>
-
-</para>
-
-@hdrs:
-
-
-<!-- ##### FUNCTION soup_message_headers_append ##### -->
-<para>
-
-</para>
-
-@hdrs:
-@name:
-@value:
-
-
-<!-- ##### FUNCTION soup_message_headers_replace ##### -->
-<para>
-
-</para>
-
-@hdrs:
-@name:
-@value:
-
-
-<!-- ##### FUNCTION soup_message_headers_remove ##### -->
-<para>
-
-</para>
-
-@hdrs:
-@name:
-
-
-<!-- ##### FUNCTION soup_message_headers_clear ##### -->
-<para>
-
-</para>
-
-@hdrs:
-
-
-<!-- ##### FUNCTION soup_message_headers_get ##### -->
-<para>
-
-</para>
-
-@hdrs:
-@name:
-@Returns:
-
-
-<!-- ##### USER_FUNCTION SoupMessageHeadersForeachFunc ##### -->
-<para>
-
-</para>
-
-@name:
-@value:
-@user_data:
-
-
-<!-- ##### FUNCTION soup_message_headers_foreach ##### -->
-<para>
-
-</para>
-
-@hdrs:
-@func:
-@user_data:
-
-
-<!-- ##### ENUM SoupEncoding ##### -->
-<para>
-
-</para>
-
-@SOUP_ENCODING_UNRECOGNIZED:
-@SOUP_ENCODING_NONE:
-@SOUP_ENCODING_CONTENT_LENGTH:
-@SOUP_ENCODING_EOF:
-@SOUP_ENCODING_CHUNKED:
-@SOUP_ENCODING_BYTERANGES:
-
-<!-- ##### FUNCTION soup_message_headers_get_encoding ##### -->
-<para>
-
-</para>
-
-@hdrs:
-@Returns:
-
-
-<!-- ##### FUNCTION soup_message_headers_set_encoding ##### -->
-<para>
-
-</para>
-
-@hdrs:
-@encoding:
-
-
-<!-- ##### FUNCTION soup_message_headers_get_content_length ##### -->
-<para>
-
-</para>
-
-@hdrs:
-@Returns:
-
-
-<!-- ##### FUNCTION soup_message_headers_set_content_length ##### -->
-<para>
-
-</para>
-
-@hdrs:
-@content_length:
-
-
-<!-- ##### ENUM SoupExpectation ##### -->
-<para>
-
-</para>
-
-@SOUP_EXPECTATION_UNRECOGNIZED:
-@SOUP_EXPECTATION_CONTINUE:
-
-<!-- ##### FUNCTION soup_message_headers_get_expectations ##### -->
-<para>
-
-</para>
-
-@hdrs:
-@Returns:
-
-
-<!-- ##### FUNCTION soup_message_headers_set_expectations ##### -->
-<para>
-
-</para>
-
-@hdrs:
-@expectations:
-
-
diff --git a/docs/reference/tmpl/soup-message.sgml b/docs/reference/tmpl/soup-message.sgml
deleted file mode 100644
index 868445c3..00000000
--- a/docs/reference/tmpl/soup-message.sgml
+++ /dev/null
@@ -1,343 +0,0 @@
-<!-- ##### SECTION Title ##### -->
-SoupMessage
-
-<!-- ##### SECTION Short_Description ##### -->
-An HTTP request and response.
-
-<!-- ##### SECTION Long_Description ##### -->
-<para>
-
-</para>
-
-<!-- ##### SECTION See_Also ##### -->
-<para>
-
-</para>
-
-<!-- ##### SECTION Stability_Level ##### -->
-
-
-<!-- ##### STRUCT SoupMessage ##### -->
-<para>
-
-</para>
-
-@method:
-@status_code:
-@reason_phrase:
-@request_body:
-@request_headers:
-@response_body:
-@response_headers:
-
-<!-- ##### SIGNAL SoupMessage::finished ##### -->
-<para>
-
-</para>
-
-@msg:
-
-<!-- ##### SIGNAL SoupMessage::got-body ##### -->
-<para>
-
-</para>
-
-@msg:
-
-<!-- ##### SIGNAL SoupMessage::got-chunk ##### -->
-<para>
-
-</para>
-
-@msg:
-@Param2:
-
-<!-- ##### SIGNAL SoupMessage::got-headers ##### -->
-<para>
-
-</para>
-
-@msg:
-
-<!-- ##### SIGNAL SoupMessage::got-informational ##### -->
-<para>
-
-</para>
-
-@msg:
-
-<!-- ##### SIGNAL SoupMessage::restarted ##### -->
-<para>
-
-</para>
-
-@msg:
-
-<!-- ##### SIGNAL SoupMessage::wrote-body ##### -->
-<para>
-
-</para>
-
-@msg:
-
-<!-- ##### SIGNAL SoupMessage::wrote-chunk ##### -->
-<para>
-
-</para>
-
-@msg:
-
-<!-- ##### SIGNAL SoupMessage::wrote-headers ##### -->
-<para>
-
-</para>
-
-@msg:
-
-<!-- ##### SIGNAL SoupMessage::wrote-informational ##### -->
-<para>
-
-</para>
-
-@msg:
-
-<!-- ##### ARG SoupMessage:flags ##### -->
-<para>
-
-</para>
-
-<!-- ##### ARG SoupMessage:http-version ##### -->
-<para>
-
-</para>
-
-<!-- ##### ARG SoupMessage:method ##### -->
-<para>
-
-</para>
-
-<!-- ##### ARG SoupMessage:reason-phrase ##### -->
-<para>
-
-</para>
-
-<!-- ##### ARG SoupMessage:status-code ##### -->
-<para>
-
-</para>
-
-<!-- ##### ARG SoupMessage:uri ##### -->
-<para>
-
-</para>
-
-<!-- ##### FUNCTION soup_message_new ##### -->
-<para>
-
-</para>
-
-@method:
-@uri_string:
-@Returns:
-
-
-<!-- ##### FUNCTION soup_message_new_from_uri ##### -->
-<para>
-
-</para>
-
-@method:
-@uri:
-@Returns:
-
-
-<!-- ##### FUNCTION soup_message_set_request ##### -->
-<para>
-
-</para>
-
-@msg:
-@content_type:
-@req_use:
-@req_body:
-@req_length:
-
-
-<!-- ##### FUNCTION soup_message_set_response ##### -->
-<para>
-
-</para>
-
-@msg:
-@content_type:
-@resp_use:
-@resp_body:
-@resp_length:
-
-
-<!-- ##### ENUM SoupHTTPVersion ##### -->
-<para>
-
-</para>
-
-@SOUP_HTTP_1_0:
-@SOUP_HTTP_1_1:
-
-<!-- ##### FUNCTION soup_message_set_http_version ##### -->
-<para>
-
-</para>
-
-@msg:
-@version:
-
-
-<!-- ##### FUNCTION soup_message_get_http_version ##### -->
-<para>
-
-</para>
-
-@msg:
-@Returns:
-
-
-<!-- ##### FUNCTION soup_message_get_uri ##### -->
-<para>
-
-</para>
-
-@msg:
-@Returns:
-
-
-<!-- ##### FUNCTION soup_message_set_uri ##### -->
-<para>
-
-</para>
-
-@msg:
-@uri:
-
-
-<!-- ##### ENUM SoupMessageFlags ##### -->
-<para>
-
-</para>
-
-@SOUP_MESSAGE_NO_REDIRECT:
-@SOUP_MESSAGE_OVERWRITE_CHUNKS:
-
-<!-- ##### FUNCTION soup_message_set_flags ##### -->
-<para>
-
-</para>
-
-@msg:
-@flags:
-
-
-<!-- ##### FUNCTION soup_message_get_flags ##### -->
-<para>
-
-</para>
-
-@msg:
-@Returns:
-
-
-<!-- ##### FUNCTION soup_message_set_status ##### -->
-<para>
-
-</para>
-
-@msg:
-@status_code:
-
-
-<!-- ##### FUNCTION soup_message_set_status_full ##### -->
-<para>
-
-</para>
-
-@msg:
-@status_code:
-@reason_phrase:
-
-
-<!-- ##### FUNCTION soup_message_is_keepalive ##### -->
-<para>
-
-</para>
-
-@msg:
-@Returns:
-
-
-<!-- ##### FUNCTION soup_message_add_header_handler ##### -->
-<para>
-
-</para>
-
-@msg:
-@signal:
-@header:
-@callback:
-@user_data:
-@Returns:
-
-
-<!-- ##### FUNCTION soup_message_add_status_code_handler ##### -->
-<para>
-
-</para>
-
-@msg:
-@signal:
-@status_code:
-@callback:
-@user_data:
-@Returns:
-
-
-<!-- ##### MACRO SOUP_MESSAGE_METHOD ##### -->
-<para>
-
-</para>
-
-
-
-<!-- ##### MACRO SOUP_MESSAGE_URI ##### -->
-<para>
-
-</para>
-
-
-
-<!-- ##### MACRO SOUP_MESSAGE_HTTP_VERSION ##### -->
-<para>
-
-</para>
-
-
-
-<!-- ##### MACRO SOUP_MESSAGE_FLAGS ##### -->
-<para>
-
-</para>
-
-
-
-<!-- ##### MACRO SOUP_MESSAGE_STATUS_CODE ##### -->
-<para>
-
-</para>
-
-
-
-<!-- ##### MACRO SOUP_MESSAGE_REASON_PHRASE ##### -->
-<para>
-
-</para>
-
-
-
diff --git a/docs/reference/tmpl/soup-method.sgml b/docs/reference/tmpl/soup-method.sgml
deleted file mode 100644
index 5969dec9..00000000
--- a/docs/reference/tmpl/soup-method.sgml
+++ /dev/null
@@ -1,149 +0,0 @@
-<!-- ##### SECTION Title ##### -->
-soup-method
-
-<!-- ##### SECTION Short_Description ##### -->
-HTTP method definitions
-
-<!-- ##### SECTION Long_Description ##### -->
-<para>
-soup-method.h contains a number of defines for standard HTTP and
-WebDAV headers. You do not need to use these defines; you can pass
-arbitrary strings to soup_message_new() if you prefer.
-</para>
-
-<para>
-The thing that these defines <emphasis>are</emphasis> useful for is
-performing quick comparisons against #SoupMessage's %method field;
-because that field always contains an interned string, and these
-macros return interned strings, you can compare %method directly
-against these macros rather than needing to use strcmp(). This is most
-useful in SoupServer handlers. Eg:
-</para>
-
-<informalexample><programlisting>
- if (msg->method != SOUP_METHOD_GET &amp;&amp; msg->method != SOUP_METHOD_HEAD) {
- soup_message_set_status (msg, SOUP_METHOD_NOT_IMPLEMENTED);
- return;
- }
-</programlisting></informalexample>
-
-<!-- ##### SECTION See_Also ##### -->
-<para>
-g_intern_string()
-</para>
-
-<!-- ##### SECTION Stability_Level ##### -->
-
-
-<!-- ##### MACRO SOUP_METHOD_OPTIONS ##### -->
-<para>
-
-</para>
-
-
-
-<!-- ##### MACRO SOUP_METHOD_GET ##### -->
-<para>
-
-</para>
-
-
-
-<!-- ##### MACRO SOUP_METHOD_HEAD ##### -->
-<para>
-
-</para>
-
-
-
-<!-- ##### MACRO SOUP_METHOD_PUT ##### -->
-<para>
-
-</para>
-
-
-
-<!-- ##### MACRO SOUP_METHOD_POST ##### -->
-<para>
-
-</para>
-
-
-
-<!-- ##### MACRO SOUP_METHOD_DELETE ##### -->
-<para>
-
-</para>
-
-
-
-<!-- ##### MACRO SOUP_METHOD_TRACE ##### -->
-<para>
-
-</para>
-
-
-
-<!-- ##### MACRO SOUP_METHOD_CONNECT ##### -->
-<para>
-
-</para>
-
-
-
-<!-- ##### MACRO SOUP_METHOD_PROPFIND ##### -->
-<para>
-
-</para>
-
-
-
-<!-- ##### MACRO SOUP_METHOD_PROPPATCH ##### -->
-<para>
-
-</para>
-
-
-
-<!-- ##### MACRO SOUP_METHOD_MKCOL ##### -->
-<para>
-
-</para>
-
-
-
-<!-- ##### MACRO SOUP_METHOD_COPY ##### -->
-<para>
-
-</para>
-
-
-
-<!-- ##### MACRO SOUP_METHOD_MOVE ##### -->
-<para>
-
-</para>
-
-
-
-<!-- ##### MACRO SOUP_METHOD_LOCK ##### -->
-<para>
-
-</para>
-
-
-
-<!-- ##### MACRO SOUP_METHOD_UNLOCK ##### -->
-<para>
-
-</para>
-
-
-
-<!-- ##### MACRO SOUP_METHOD_PATCH ##### -->
-<para>
-
-</para>
-
-
-
diff --git a/docs/reference/tmpl/soup-misc.sgml b/docs/reference/tmpl/soup-misc.sgml
deleted file mode 100644
index edbfb81b..00000000
--- a/docs/reference/tmpl/soup-misc.sgml
+++ /dev/null
@@ -1,278 +0,0 @@
-<!-- ##### SECTION Title ##### -->
-soup-misc
-
-<!-- ##### SECTION Short_Description ##### -->
-Miscellaneous functions
-
-<!-- ##### SECTION Long_Description ##### -->
-<para>
-
-</para>
-
-<!-- ##### SECTION See_Also ##### -->
-<para>
-
-</para>
-
-<!-- ##### SECTION Stability_Level ##### -->
-
-
-<!-- ##### STRUCT SoupDate ##### -->
-<para>
-
-</para>
-
-@year:
-@month:
-@day:
-@hour:
-@minute:
-@second:
-@utc:
-@offset:
-
-<!-- ##### ENUM SoupDateFormat ##### -->
-<para>
-
-</para>
-
-@SOUP_DATE_HTTP:
-@SOUP_DATE_COOKIE:
-@SOUP_DATE_RFC2822:
-@SOUP_DATE_ISO8601_COMPACT:
-@SOUP_DATE_ISO8601_FULL:
-@SOUP_DATE_ISO8601:
-@SOUP_DATE_ISO8601_XMLRPC:
-
-<!-- ##### FUNCTION soup_date_new ##### -->
-<para>
-
-</para>
-
-@year:
-@month:
-@day:
-@hour:
-@minute:
-@second:
-@Returns:
-
-
-<!-- ##### FUNCTION soup_date_new_from_string ##### -->
-<para>
-
-</para>
-
-@date_string:
-@Returns:
-
-
-<!-- ##### FUNCTION soup_date_new_from_time_t ##### -->
-<para>
-
-</para>
-
-@when:
-@Returns:
-
-
-<!-- ##### FUNCTION soup_date_to_string ##### -->
-<para>
-
-</para>
-
-@date:
-@format:
-@Returns:
-
-
-<!-- ##### FUNCTION soup_date_free ##### -->
-<para>
-
-</para>
-
-@date:
-
-
-<!-- ##### FUNCTION soup_form_decode_urlencoded ##### -->
-<para>
-
-</para>
-
-@encoded_form:
-@Returns:
-
-
-<!-- ##### FUNCTION soup_form_encode_urlencoded ##### -->
-<para>
-
-</para>
-
-@form_data_set:
-@Returns:
-
-
-<!-- ##### FUNCTION soup_form_encode_urlencoded_list ##### -->
-<para>
-
-</para>
-
-@form_data_set:
-@Returns:
-
-
-<!-- ##### FUNCTION soup_headers_parse_request ##### -->
-<para>
-
-</para>
-
-@str:
-@len:
-@req_headers:
-@req_method:
-@req_path:
-@ver:
-@Returns:
-
-
-<!-- ##### FUNCTION soup_headers_parse_response ##### -->
-<para>
-
-</para>
-
-@str:
-@len:
-@headers:
-@ver:
-@status_code:
-@reason_phrase:
-@Returns:
-
-
-<!-- ##### FUNCTION soup_headers_parse_status_line ##### -->
-<para>
-
-</para>
-
-@status_line:
-@ver:
-@status_code:
-@reason_phrase:
-@Returns:
-
-
-<!-- ##### FUNCTION soup_header_parse_list ##### -->
-<para>
-
-</para>
-
-@header:
-@Returns:
-
-
-<!-- ##### FUNCTION soup_header_parse_quality_list ##### -->
-<para>
-
-</para>
-
-@header:
-@unacceptable:
-@Returns:
-
-
-<!-- ##### FUNCTION soup_header_free_list ##### -->
-<para>
-
-</para>
-
-@list:
-
-
-<!-- ##### FUNCTION soup_header_contains ##### -->
-<para>
-
-</para>
-
-@header:
-@token:
-@Returns:
-
-
-<!-- ##### FUNCTION soup_header_parse_param_list ##### -->
-<para>
-
-</para>
-
-@header:
-@Returns:
-
-
-<!-- ##### FUNCTION soup_header_free_param_list ##### -->
-<para>
-
-</para>
-
-@param_list:
-
-
-<!-- ##### FUNCTION soup_str_case_equal ##### -->
-<para>
-
-</para>
-
-@v1:
-@v2:
-@Returns:
-
-
-<!-- ##### FUNCTION soup_str_case_hash ##### -->
-<para>
-
-</para>
-
-@key:
-@Returns:
-
-
-<!-- ##### FUNCTION soup_add_idle ##### -->
-<para>
-
-</para>
-
-@async_context:
-@function:
-@data:
-@Returns:
-
-
-<!-- ##### FUNCTION soup_add_io_watch ##### -->
-<para>
-
-</para>
-
-@async_context:
-@chan:
-@condition:
-@function:
-@data:
-@Returns:
-
-
-<!-- ##### FUNCTION soup_add_timeout ##### -->
-<para>
-
-</para>
-
-@async_context:
-@interval:
-@function:
-@data:
-@Returns:
-
-
-<!-- ##### VARIABLE soup_ssl_supported ##### -->
-<para>
-
-</para>
-
-
diff --git a/docs/reference/tmpl/soup-server.sgml b/docs/reference/tmpl/soup-server.sgml
deleted file mode 100644
index 61df5e94..00000000
--- a/docs/reference/tmpl/soup-server.sgml
+++ /dev/null
@@ -1,321 +0,0 @@
-<!-- ##### SECTION Title ##### -->
-SoupServer
-
-<!-- ##### SECTION Short_Description ##### -->
-HTTP server
-
-<!-- ##### SECTION Long_Description ##### -->
-<para>
-#SoupServer implements a simple HTTP server.
-</para>
-
-<para>
-To begin, create a server using soup_server_new(). Add at least one
-handler by calling soup_server_add_handler(); the handler will be
-called to process any requests underneath the path passed to
-soup_server_add_handler(). (If you want all requests to go to the same
-handler, just pass "/" (or %NULL) for the path.) Any request that does
-not match any handler will automatically be returned to the client
-with a 404 (Not Found) status.
-</para>
-
-<para>
-To add authentication to some or all paths, create an appropriate
-#SoupAuthDomain (qv), and add it to the server via
-soup_server_add_auth_domain.
-</para>
-
-<para>
-Additional processing options are available via #SoupServer's signals;
-Connect to #SoupServer::request-started to be notified every time a
-new request is being processed. (This gives you a chance to connect to
-the #SoupMessage "got-" signals in case you want to do processing
-before the body has been fully read.)
-</para>
-
-<para>
-Once the server is set up, start it processing connections by calling
-soup_server_run_async() or soup_server_run(). #SoupServer runs via
-the glib main loop; if you need to have a server that runs in another
-thread (or merely isn't bound to the default main loop), create a
-#GMainContext for it to use, and set that via the
-#SOUP_SERVER_ASYNC_CONTEXT property.
-</para>
-
-<!-- ##### SECTION See_Also ##### -->
-<para>
-
-</para>
-
-<!-- ##### SECTION Stability_Level ##### -->
-
-
-<!-- ##### STRUCT SoupServer ##### -->
-<para>
-
-</para>
-
-
-<!-- ##### SIGNAL SoupServer::request-aborted ##### -->
-<para>
-
-</para>
-
-@soupserver: the object which received the signal.
-@arg1:
-@arg2:
-
-<!-- ##### SIGNAL SoupServer::request-finished ##### -->
-<para>
-
-</para>
-
-@soupserver: the object which received the signal.
-@arg1:
-@arg2:
-
-<!-- ##### SIGNAL SoupServer::request-read ##### -->
-<para>
-
-</para>
-
-@soupserver: the object which received the signal.
-@arg1:
-@arg2:
-
-<!-- ##### SIGNAL SoupServer::request-started ##### -->
-<para>
-
-</para>
-
-@soupserver: the object which received the signal.
-@arg1:
-@arg2:
-
-<!-- ##### ARG SoupServer:async-context ##### -->
-<para>
-
-</para>
-
-<!-- ##### ARG SoupServer:interface ##### -->
-<para>
-
-</para>
-
-<!-- ##### ARG SoupServer:port ##### -->
-<para>
-
-</para>
-
-<!-- ##### ARG SoupServer:ssl-cert-file ##### -->
-<para>
-
-</para>
-
-<!-- ##### ARG SoupServer:ssl-key-file ##### -->
-<para>
-
-</para>
-
-<!-- ##### FUNCTION soup_server_new ##### -->
-<para>
-
-</para>
-
-@optname1:
-@Varargs:
-@Returns:
-
-
-<!-- ##### FUNCTION soup_server_is_https ##### -->
-<para>
-
-</para>
-
-@server:
-@Returns:
-
-
-<!-- ##### FUNCTION soup_server_get_port ##### -->
-<para>
-
-</para>
-
-@server:
-@Returns:
-
-
-<!-- ##### FUNCTION soup_server_get_listener ##### -->
-<para>
-
-</para>
-
-@server:
-@Returns:
-
-
-<!-- ##### FUNCTION soup_server_run ##### -->
-<para>
-
-</para>
-
-@server:
-
-
-<!-- ##### FUNCTION soup_server_run_async ##### -->
-<para>
-
-</para>
-
-@server:
-
-
-<!-- ##### FUNCTION soup_server_quit ##### -->
-<para>
-
-</para>
-
-@server:
-
-
-<!-- ##### FUNCTION soup_server_get_async_context ##### -->
-<para>
-
-</para>
-
-@server:
-@Returns:
-
-
-<!-- ##### USER_FUNCTION SoupServerCallback ##### -->
-<para>
-
-</para>
-
-@server:
-@msg:
-@path:
-@query:
-@context:
-@user_data:
-
-
-<!-- ##### FUNCTION soup_server_add_handler ##### -->
-<para>
-
-</para>
-
-@server:
-@path:
-@callback:
-@destroy:
-@data:
-
-
-<!-- ##### FUNCTION soup_server_remove_handler ##### -->
-<para>
-
-</para>
-
-@server:
-@path:
-
-
-<!-- ##### STRUCT SoupClientContext ##### -->
-<para>
-
-</para>
-
-@sock:
-@auth_user:
-@auth_realm:
-
-<!-- ##### FUNCTION soup_client_context_get_address ##### -->
-<para>
-
-</para>
-
-@ctx:
-@Returns:
-
-
-<!-- ##### FUNCTION soup_client_context_get_host ##### -->
-<para>
-
-</para>
-
-@ctx:
-@Returns:
-
-
-<!-- ##### FUNCTION soup_server_add_auth_domain ##### -->
-<para>
-
-</para>
-
-@server:
-@auth_domain:
-
-
-<!-- ##### FUNCTION soup_server_remove_auth_domain ##### -->
-<para>
-
-</para>
-
-@server:
-@auth_domain:
-
-
-<!-- ##### FUNCTION soup_server_pause_message ##### -->
-<para>
-
-</para>
-
-@server:
-@msg:
-
-
-<!-- ##### FUNCTION soup_server_unpause_message ##### -->
-<para>
-
-</para>
-
-@server:
-@msg:
-
-
-<!-- ##### MACRO SOUP_SERVER_PORT ##### -->
-<para>
-An alias for the "port" property.
-</para>
-
-
-
-<!-- ##### MACRO SOUP_SERVER_INTERFACE ##### -->
-<para>
-An alias for the "interface" property.
-</para>
-
-
-
-<!-- ##### MACRO SOUP_SERVER_SSL_CERT_FILE ##### -->
-<para>
-An alias for the "ssl-cert-file" property.
-</para>
-
-
-
-<!-- ##### MACRO SOUP_SERVER_SSL_KEY_FILE ##### -->
-<para>
-An alias for the "ssl-key-file" property.
-</para>
-
-
-
-<!-- ##### MACRO SOUP_SERVER_ASYNC_CONTEXT ##### -->
-<para>
-An alias for the "async-context" property.
-</para>
-
-
-
diff --git a/docs/reference/tmpl/soup-session-async.sgml b/docs/reference/tmpl/soup-session-async.sgml
deleted file mode 100644
index 54533242..00000000
--- a/docs/reference/tmpl/soup-session-async.sgml
+++ /dev/null
@@ -1,45 +0,0 @@
-<!-- ##### SECTION Title ##### -->
-SoupSessionAsync
-
-<!-- ##### SECTION Short_Description ##### -->
-Soup session for asynchronous (main-loop-based) I/O.
-
-<!-- ##### SECTION Long_Description ##### -->
-<para>
-#SoupSessionASync is an implementation of #SoupSession that uses
-non-blocking I/O via the glib main loop. It is intended for use in
-single-threaded programs.
-</para>
-
-<!-- ##### SECTION See_Also ##### -->
-<para>
-
-</para>
-
-<!-- ##### SECTION Stability_Level ##### -->
-
-
-<!-- ##### STRUCT SoupSessionAsync ##### -->
-<para>
-
-</para>
-
-
-<!-- ##### FUNCTION soup_session_async_new ##### -->
-<para>
-
-</para>
-
-@Returns:
-
-
-<!-- ##### FUNCTION soup_session_async_new_with_options ##### -->
-<para>
-
-</para>
-
-@optname1:
-@Varargs:
-@Returns:
-
-
diff --git a/docs/reference/tmpl/soup-session-sync.sgml b/docs/reference/tmpl/soup-session-sync.sgml
deleted file mode 100644
index 63e3093f..00000000
--- a/docs/reference/tmpl/soup-session-sync.sgml
+++ /dev/null
@@ -1,49 +0,0 @@
-<!-- ##### SECTION Title ##### -->
-SoupSessionSync
-
-<!-- ##### SECTION Short_Description ##### -->
-Soup session for blocking I/O in multithreaded programs.
-
-<!-- ##### SECTION Long_Description ##### -->
-<para>
-#SoupSessionSync is an implementation of #SoupSession that uses
-synchronous I/O, intended for use in multi-threaded programs.
-</para>
-
-<para>
-Note that you cannot use soup_session_queue_message() with a
-synchronous session. You can only use soup_session_send_message().
-</para>
-
-<!-- ##### SECTION See_Also ##### -->
-<para>
-
-</para>
-
-<!-- ##### SECTION Stability_Level ##### -->
-
-
-<!-- ##### STRUCT SoupSessionSync ##### -->
-<para>
-
-</para>
-
-
-<!-- ##### FUNCTION soup_session_sync_new ##### -->
-<para>
-
-</para>
-
-@Returns:
-
-
-<!-- ##### FUNCTION soup_session_sync_new_with_options ##### -->
-<para>
-
-</para>
-
-@optname1:
-@Varargs:
-@Returns:
-
-
diff --git a/docs/reference/tmpl/soup-session.sgml b/docs/reference/tmpl/soup-session.sgml
deleted file mode 100644
index 7a275d28..00000000
--- a/docs/reference/tmpl/soup-session.sgml
+++ /dev/null
@@ -1,194 +0,0 @@
-<!-- ##### SECTION Title ##### -->
-SoupSession
-
-<!-- ##### SECTION Short_Description ##### -->
-Soup session state object
-
-<!-- ##### SECTION Long_Description ##### -->
-<para>
-
-</para>
-
-<!-- ##### SECTION See_Also ##### -->
-<para>
-
-</para>
-
-<!-- ##### SECTION Stability_Level ##### -->
-
-
-<!-- ##### STRUCT SoupSession ##### -->
-<para>
-
-</para>
-
-
-<!-- ##### SIGNAL SoupSession::authenticate ##### -->
-<para>
-
-</para>
-
-@session:
-@msg:
-@auth_type:
-@auth_realm:
-
-<!-- ##### SIGNAL SoupSession::request-started ##### -->
-<para>
-
-</para>
-
-@soupsession: the object which received the signal.
-@arg1:
-
-<!-- ##### ARG SoupSession:async-context ##### -->
-<para>
-
-</para>
-
-<!-- ##### ARG SoupSession:max-conns ##### -->
-<para>
-
-</para>
-
-<!-- ##### ARG SoupSession:max-conns-per-host ##### -->
-<para>
-
-</para>
-
-<!-- ##### ARG SoupSession:proxy-uri ##### -->
-<para>
-
-</para>
-
-<!-- ##### ARG SoupSession:ssl-ca-file ##### -->
-<para>
-
-</para>
-
-<!-- ##### ARG SoupSession:timeout ##### -->
-<para>
-
-</para>
-
-<!-- ##### ARG SoupSession:use-ntlm ##### -->
-<para>
-
-</para>
-
-<!-- ##### USER_FUNCTION SoupSessionCallback ##### -->
-<para>
-
-</para>
-
-@session:
-@msg:
-@user_data:
-
-
-<!-- ##### FUNCTION soup_session_queue_message ##### -->
-<para>
-
-</para>
-
-@session:
-@msg:
-@callback:
-@user_data:
-
-
-<!-- ##### FUNCTION soup_session_requeue_message ##### -->
-<para>
-
-</para>
-
-@session:
-@msg:
-
-
-<!-- ##### FUNCTION soup_session_send_message ##### -->
-<para>
-
-</para>
-
-@session:
-@msg:
-@Returns:
-
-
-<!-- ##### FUNCTION soup_session_cancel_message ##### -->
-<para>
-
-</para>
-
-@session:
-@msg:
-@status_code:
-
-
-<!-- ##### FUNCTION soup_session_abort ##### -->
-<para>
-
-</para>
-
-@session:
-
-
-<!-- ##### FUNCTION soup_session_get_async_context ##### -->
-<para>
-
-</para>
-
-@session:
-@Returns:
-
-
-<!-- ##### MACRO SOUP_SESSION_PROXY_URI ##### -->
-<para>
-An alias for the "proxy-uri" property.
-</para>
-
-
-
-<!-- ##### MACRO SOUP_SESSION_MAX_CONNS ##### -->
-<para>
-An alias for the "max-conns" property.
-</para>
-
-
-
-<!-- ##### MACRO SOUP_SESSION_MAX_CONNS_PER_HOST ##### -->
-<para>
-An alias for the "max-conns-per-host" property.
-</para>
-
-
-
-<!-- ##### MACRO SOUP_SESSION_USE_NTLM ##### -->
-<para>
-An alias for the "use-ntlm" property.
-</para>
-
-
-
-<!-- ##### MACRO SOUP_SESSION_SSL_CA_FILE ##### -->
-<para>
-An alias for the "ssl-ca-file" property.
-</para>
-
-
-
-<!-- ##### MACRO SOUP_SESSION_ASYNC_CONTEXT ##### -->
-<para>
-An alias for the "async-context" property.
-</para>
-
-
-
-<!-- ##### MACRO SOUP_SESSION_TIMEOUT ##### -->
-<para>
-An alias for the "timeout" property.
-</para>
-
-
-
diff --git a/docs/reference/tmpl/soup-socket.sgml b/docs/reference/tmpl/soup-socket.sgml
deleted file mode 100644
index 289eecac..00000000
--- a/docs/reference/tmpl/soup-socket.sgml
+++ /dev/null
@@ -1,308 +0,0 @@
-<!-- ##### SECTION Title ##### -->
-SoupSocket
-
-<!-- ##### SECTION Short_Description ##### -->
-a network socket
-
-<!-- ##### SECTION Long_Description ##### -->
-<para>
-
-</para>
-
-<!-- ##### SECTION See_Also ##### -->
-<para>
-
-</para>
-
-<!-- ##### SECTION Stability_Level ##### -->
-
-
-<!-- ##### STRUCT SoupSocket ##### -->
-<para>
-
-</para>
-
-
-<!-- ##### SIGNAL SoupSocket::disconnected ##### -->
-<para>
-
-</para>
-
-@sock:
-
-<!-- ##### SIGNAL SoupSocket::new-connection ##### -->
-<para>
-
-</para>
-
-@sock:
-@new:
-
-<!-- ##### SIGNAL SoupSocket::readable ##### -->
-<para>
-
-</para>
-
-@sock:
-
-<!-- ##### SIGNAL SoupSocket::writable ##### -->
-<para>
-
-</para>
-
-@sock:
-
-<!-- ##### ARG SoupSocket:async-context ##### -->
-<para>
-
-</para>
-
-<!-- ##### ARG SoupSocket:is-server ##### -->
-<para>
-
-</para>
-
-<!-- ##### ARG SoupSocket:local-address ##### -->
-<para>
-
-</para>
-
-<!-- ##### ARG SoupSocket:non-blocking ##### -->
-<para>
-
-</para>
-
-<!-- ##### ARG SoupSocket:remote-address ##### -->
-<para>
-
-</para>
-
-<!-- ##### ARG SoupSocket:ssl-creds ##### -->
-<para>
-
-</para>
-
-<!-- ##### ARG SoupSocket:timeout ##### -->
-<para>
-
-</para>
-
-<!-- ##### FUNCTION soup_socket_new ##### -->
-<para>
-
-</para>
-
-@optname1:
-@Varargs:
-@Returns:
-
-
-<!-- ##### USER_FUNCTION SoupSocketCallback ##### -->
-<para>
-
-</para>
-
-@sock:
-@status:
-@user_data:
-
-
-<!-- ##### FUNCTION soup_socket_connect_async ##### -->
-<para>
-
-</para>
-
-@sock:
-@callback:
-@user_data:
-
-
-<!-- ##### FUNCTION soup_socket_connect_sync ##### -->
-<para>
-
-</para>
-
-@sock:
-@Returns:
-
-
-<!-- ##### FUNCTION soup_socket_listen ##### -->
-<para>
-
-</para>
-
-@sock:
-@Returns:
-
-
-<!-- ##### FUNCTION soup_socket_start_ssl ##### -->
-<para>
-
-</para>
-
-@sock:
-@Returns:
-
-
-<!-- ##### FUNCTION soup_socket_start_proxy_ssl ##### -->
-<para>
-
-</para>
-
-@sock:
-@ssl_host:
-@Returns:
-
-
-<!-- ##### FUNCTION soup_socket_disconnect ##### -->
-<para>
-
-</para>
-
-@sock:
-
-
-<!-- ##### FUNCTION soup_socket_is_connected ##### -->
-<para>
-
-</para>
-
-@sock:
-@Returns:
-
-
-<!-- ##### FUNCTION soup_socket_get_local_address ##### -->
-<para>
-
-</para>
-
-@sock:
-@Returns:
-
-
-<!-- ##### FUNCTION soup_socket_get_remote_address ##### -->
-<para>
-
-</para>
-
-@sock:
-@Returns:
-
-
-<!-- ##### ENUM SoupSocketIOStatus ##### -->
-<para>
-
-</para>
-
-@SOUP_SOCKET_OK:
-@SOUP_SOCKET_WOULD_BLOCK:
-@SOUP_SOCKET_EOF:
-@SOUP_SOCKET_ERROR:
-
-<!-- ##### FUNCTION soup_socket_read ##### -->
-<para>
-
-</para>
-
-@sock:
-@buffer:
-@len:
-@nread:
-@error:
-@Returns:
-
-
-<!-- ##### FUNCTION soup_socket_read_until ##### -->
-<para>
-
-</para>
-
-@sock:
-@buffer:
-@len:
-@boundary:
-@boundary_len:
-@nread:
-@got_boundary:
-@error:
-@Returns:
-
-
-<!-- ##### FUNCTION soup_socket_write ##### -->
-<para>
-
-</para>
-
-@sock:
-@buffer:
-@len:
-@nwrote:
-@error:
-@Returns:
-
-
-<!-- ##### MACRO SOUP_SSL_ERROR ##### -->
-<para>
-
-</para>
-
-
-
-<!-- ##### ENUM SoupSSLError ##### -->
-<para>
-
-</para>
-
-@SOUP_SSL_ERROR_HANDSHAKE_NEEDS_READ:
-@SOUP_SSL_ERROR_HANDSHAKE_NEEDS_WRITE:
-@SOUP_SSL_ERROR_CERTIFICATE:
-
-<!-- ##### MACRO SOUP_SOCKET_LOCAL_ADDRESS ##### -->
-<para>
-
-</para>
-
-
-
-<!-- ##### MACRO SOUP_SOCKET_REMOTE_ADDRESS ##### -->
-<para>
-
-</para>
-
-
-
-<!-- ##### MACRO SOUP_SOCKET_FLAG_NONBLOCKING ##### -->
-<para>
-An alias for the "non-blocking" property.
-</para>
-
-
-
-<!-- ##### MACRO SOUP_SOCKET_IS_SERVER ##### -->
-<para>
-An alias for the "is-server" property.
-</para>
-
-
-
-<!-- ##### MACRO SOUP_SOCKET_SSL_CREDENTIALS ##### -->
-<para>
-An alias for the "ssl-creds" property.
-</para>
-
-
-
-<!-- ##### MACRO SOUP_SOCKET_ASYNC_CONTEXT ##### -->
-<para>
-An alias for the "async-context" property.
-</para>
-
-
-
-<!-- ##### MACRO SOUP_SOCKET_TIMEOUT ##### -->
-<para>
-An alias for the "timeout" property.
-</para>
-
-
-
diff --git a/docs/reference/tmpl/soup-status.sgml b/docs/reference/tmpl/soup-status.sgml
deleted file mode 100644
index d52463c4..00000000
--- a/docs/reference/tmpl/soup-status.sgml
+++ /dev/null
@@ -1,155 +0,0 @@
-<!-- ##### SECTION Title ##### -->
-soup-status
-
-<!-- ##### SECTION Short_Description ##### -->
-HTTP and Soup status codes
-
-<!-- ##### SECTION Long_Description ##### -->
-<para>
-
-</para>
-
-<!-- ##### SECTION See_Also ##### -->
-<para>
-
-</para>
-
-<!-- ##### SECTION Stability_Level ##### -->
-
-
-<!-- ##### MACRO SOUP_STATUS_IS_TRANSPORT_ERROR ##### -->
-<para>
-
-</para>
-
-@status:
-
-
-<!-- ##### MACRO SOUP_STATUS_IS_INFORMATIONAL ##### -->
-<para>
-
-</para>
-
-@status:
-@Returns:
-
-
-<!-- ##### MACRO SOUP_STATUS_IS_SUCCESSFUL ##### -->
-<para>
-
-</para>
-
-@status:
-@Returns:
-
-
-<!-- ##### MACRO SOUP_STATUS_IS_REDIRECTION ##### -->
-<para>
-
-</para>
-
-@status:
-@Returns:
-
-
-<!-- ##### MACRO SOUP_STATUS_IS_CLIENT_ERROR ##### -->
-<para>
-
-</para>
-
-@status:
-@Returns:
-
-
-<!-- ##### MACRO SOUP_STATUS_IS_SERVER_ERROR ##### -->
-<para>
-
-</para>
-
-@status:
-@Returns:
-
-
-<!-- ##### ENUM SoupKnownStatusCode ##### -->
-<para>
-
-</para>
-
-@SOUP_STATUS_NONE:
-@SOUP_STATUS_CANCELLED:
-@SOUP_STATUS_CANT_RESOLVE:
-@SOUP_STATUS_CANT_RESOLVE_PROXY:
-@SOUP_STATUS_CANT_CONNECT:
-@SOUP_STATUS_CANT_CONNECT_PROXY:
-@SOUP_STATUS_SSL_FAILED:
-@SOUP_STATUS_IO_ERROR:
-@SOUP_STATUS_MALFORMED:
-@SOUP_STATUS_TRY_AGAIN:
-@SOUP_STATUS_CONTINUE:
-@SOUP_STATUS_SWITCHING_PROTOCOLS:
-@SOUP_STATUS_PROCESSING:
-@SOUP_STATUS_OK:
-@SOUP_STATUS_CREATED:
-@SOUP_STATUS_ACCEPTED:
-@SOUP_STATUS_NON_AUTHORITATIVE:
-@SOUP_STATUS_NO_CONTENT:
-@SOUP_STATUS_RESET_CONTENT:
-@SOUP_STATUS_PARTIAL_CONTENT:
-@SOUP_STATUS_MULTI_STATUS:
-@SOUP_STATUS_MULTIPLE_CHOICES:
-@SOUP_STATUS_MOVED_PERMANENTLY:
-@SOUP_STATUS_FOUND:
-@SOUP_STATUS_MOVED_TEMPORARILY:
-@SOUP_STATUS_SEE_OTHER:
-@SOUP_STATUS_NOT_MODIFIED:
-@SOUP_STATUS_USE_PROXY:
-@SOUP_STATUS_NOT_APPEARING_IN_THIS_PROTOCOL:
-@SOUP_STATUS_TEMPORARY_REDIRECT:
-@SOUP_STATUS_BAD_REQUEST:
-@SOUP_STATUS_UNAUTHORIZED:
-@SOUP_STATUS_PAYMENT_REQUIRED:
-@SOUP_STATUS_FORBIDDEN:
-@SOUP_STATUS_NOT_FOUND:
-@SOUP_STATUS_METHOD_NOT_ALLOWED:
-@SOUP_STATUS_NOT_ACCEPTABLE:
-@SOUP_STATUS_PROXY_AUTHENTICATION_REQUIRED:
-@SOUP_STATUS_PROXY_UNAUTHORIZED:
-@SOUP_STATUS_REQUEST_TIMEOUT:
-@SOUP_STATUS_CONFLICT:
-@SOUP_STATUS_GONE:
-@SOUP_STATUS_LENGTH_REQUIRED:
-@SOUP_STATUS_PRECONDITION_FAILED:
-@SOUP_STATUS_REQUEST_ENTITY_TOO_LARGE:
-@SOUP_STATUS_REQUEST_URI_TOO_LONG:
-@SOUP_STATUS_UNSUPPORTED_MEDIA_TYPE:
-@SOUP_STATUS_REQUESTED_RANGE_NOT_SATISFIABLE:
-@SOUP_STATUS_INVALID_RANGE:
-@SOUP_STATUS_EXPECTATION_FAILED:
-@SOUP_STATUS_UNPROCESSABLE_ENTITY:
-@SOUP_STATUS_LOCKED:
-@SOUP_STATUS_FAILED_DEPENDENCY:
-@SOUP_STATUS_INTERNAL_SERVER_ERROR:
-@SOUP_STATUS_NOT_IMPLEMENTED:
-@SOUP_STATUS_BAD_GATEWAY:
-@SOUP_STATUS_SERVICE_UNAVAILABLE:
-@SOUP_STATUS_GATEWAY_TIMEOUT:
-@SOUP_STATUS_HTTP_VERSION_NOT_SUPPORTED:
-@SOUP_STATUS_INSUFFICIENT_STORAGE:
-@SOUP_STATUS_NOT_EXTENDED:
-
-<!-- ##### FUNCTION soup_status_get_phrase ##### -->
-<para>
-
-</para>
-
-@status_code:
-@Returns:
-
-
-<!-- ##### MACRO SOUP_HTTP_ERROR ##### -->
-<para>
-
-</para>
-
-
-
diff --git a/docs/reference/tmpl/soup-uri.sgml b/docs/reference/tmpl/soup-uri.sgml
deleted file mode 100644
index 185af604..00000000
--- a/docs/reference/tmpl/soup-uri.sgml
+++ /dev/null
@@ -1,139 +0,0 @@
-<!-- ##### SECTION Title ##### -->
-soup-uri
-
-<!-- ##### SECTION Short_Description ##### -->
-URIs
-
-<!-- ##### SECTION Long_Description ##### -->
-<para>
-A #SoupUri represents a (parsed) URI. On the client side, you
-may not need to use #SoupUri at all (since soup_message_new() takes a
-stringified URI). On the server side, you will generally need to look
-at the uri field of an incoming message to determine how to process it.
-</para>
-
-<!-- ##### SECTION See_Also ##### -->
-<para>
-
-</para>
-
-<!-- ##### SECTION Stability_Level ##### -->
-
-
-<!-- ##### STRUCT SoupURI ##### -->
-<para>
-
-</para>
-
-@scheme:
-@user:
-@password:
-@host:
-@port:
-@path:
-@query:
-@fragment:
-
-<!-- ##### FUNCTION soup_uri_new_with_base ##### -->
-<para>
-
-</para>
-
-@base:
-@uri_string:
-@Returns:
-
-
-<!-- ##### FUNCTION soup_uri_new ##### -->
-<para>
-
-</para>
-
-@uri_string:
-@Returns:
-
-
-<!-- ##### FUNCTION soup_uri_to_string ##### -->
-<para>
-
-</para>
-
-@uri:
-@just_path:
-@Returns:
-
-
-<!-- ##### FUNCTION soup_uri_copy ##### -->
-<para>
-
-</para>
-
-@uri:
-@Returns:
-
-
-<!-- ##### FUNCTION soup_uri_equal ##### -->
-<para>
-
-</para>
-
-@uri1:
-@uri2:
-@Returns:
-
-
-<!-- ##### FUNCTION soup_uri_free ##### -->
-<para>
-
-</para>
-
-@uri:
-
-
-<!-- ##### FUNCTION soup_uri_encode ##### -->
-<para>
-
-</para>
-
-@part:
-@escape_extra:
-@Returns:
-
-
-<!-- ##### FUNCTION soup_uri_decode ##### -->
-<para>
-
-</para>
-
-@part:
-@Returns:
-
-
-<!-- ##### FUNCTION soup_uri_normalize ##### -->
-<para>
-
-</para>
-
-@part:
-@unescape_extra:
-@Returns:
-
-
-<!-- ##### FUNCTION soup_uri_uses_default_port ##### -->
-<para>
-
-</para>
-
-@uri:
-@Returns:
-
-
-<!-- ##### FUNCTION soup_uri_is_https ##### -->
-<para>
-
-</para>
-
-@uri:
-@Returns:
-
-
diff --git a/docs/reference/tmpl/soup-value-utils.sgml b/docs/reference/tmpl/soup-value-utils.sgml
deleted file mode 100644
index 451fd9ab..00000000
--- a/docs/reference/tmpl/soup-value-utils.sgml
+++ /dev/null
@@ -1,139 +0,0 @@
-<!-- ##### SECTION Title ##### -->
-GValue Support
-
-<!-- ##### SECTION Short_Description ##### -->
-
-
-<!-- ##### SECTION Long_Description ##### -->
-<para>
-
-</para>
-
-<!-- ##### SECTION See_Also ##### -->
-<para>
-
-</para>
-
-<!-- ##### SECTION Stability_Level ##### -->
-
-
-<!-- ##### FUNCTION soup_value_hash_new ##### -->
-<para>
-
-</para>
-
-@Returns:
-
-
-<!-- ##### FUNCTION soup_value_hash_insert_value ##### -->
-<para>
-
-</para>
-
-@hash:
-@key:
-@value:
-
-
-<!-- ##### FUNCTION soup_value_hash_insert ##### -->
-<para>
-
-</para>
-
-@hash:
-@key:
-@type:
-@Varargs:
-
-
-<!-- ##### FUNCTION soup_value_hash_lookup ##### -->
-<para>
-
-</para>
-
-@hash:
-@key:
-@type:
-@Varargs:
-@Returns:
-
-
-<!-- ##### FUNCTION soup_value_array_from_args ##### -->
-<para>
-
-</para>
-
-@args:
-@Returns:
-
-
-<!-- ##### FUNCTION soup_value_array_to_args ##### -->
-<para>
-
-</para>
-
-@array:
-@args:
-@Returns:
-
-
-<!-- ##### FUNCTION soup_value_array_insert ##### -->
-<para>
-
-</para>
-
-@array:
-@index_:
-@type:
-@Varargs:
-
-
-<!-- ##### FUNCTION soup_value_array_append ##### -->
-<para>
-
-</para>
-
-@array:
-@type:
-@Varargs:
-
-
-<!-- ##### FUNCTION soup_value_array_get_nth ##### -->
-<para>
-
-</para>
-
-@array:
-@index_:
-@type:
-@Varargs:
-@Returns:
-
-
-<!-- ##### MACRO SOUP_VALUE_SETV ##### -->
-<para>
-
-</para>
-
-@val:
-@type:
-@args:
-
-
-<!-- ##### MACRO SOUP_VALUE_GETV ##### -->
-<para>
-
-</para>
-
-@val:
-@type:
-@args:
-
-
-<!-- ##### MACRO SOUP_TYPE_BYTE_ARRAY ##### -->
-<para>
-
-</para>
-
-
-
diff --git a/docs/reference/tmpl/soup-xmlrpc.sgml b/docs/reference/tmpl/soup-xmlrpc.sgml
deleted file mode 100644
index a24a1313..00000000
--- a/docs/reference/tmpl/soup-xmlrpc.sgml
+++ /dev/null
@@ -1,140 +0,0 @@
-<!-- ##### SECTION Title ##### -->
-XMLRPC Support
-
-<!-- ##### SECTION Short_Description ##### -->
-
-
-<!-- ##### SECTION Long_Description ##### -->
-<para>
-
-</para>
-
-<!-- ##### SECTION See_Also ##### -->
-<para>
-
-</para>
-
-<!-- ##### SECTION Stability_Level ##### -->
-
-
-<!-- ##### FUNCTION soup_xmlrpc_build_method_call ##### -->
-<para>
-
-</para>
-
-@method_name:
-@params:
-@n_params:
-@Returns:
-
-
-<!-- ##### FUNCTION soup_xmlrpc_request_new ##### -->
-<para>
-
-</para>
-
-@uri:
-@method_name:
-@Varargs:
-@Returns:
-
-
-<!-- ##### FUNCTION soup_xmlrpc_parse_method_response ##### -->
-<para>
-
-</para>
-
-@method_response:
-@length:
-@value:
-@error:
-@Returns:
-
-
-<!-- ##### FUNCTION soup_xmlrpc_parse_method_call ##### -->
-<para>
-
-</para>
-
-@method_call:
-@length:
-@method_name:
-@params:
-@Returns:
-
-
-<!-- ##### FUNCTION soup_xmlrpc_extract_method_call ##### -->
-<para>
-
-</para>
-
-@method_call:
-@length:
-@method_name:
-@Varargs:
-@Returns:
-
-
-<!-- ##### FUNCTION soup_xmlrpc_build_method_response ##### -->
-<para>
-
-</para>
-
-@value:
-@Returns:
-
-
-<!-- ##### FUNCTION soup_xmlrpc_build_fault ##### -->
-<para>
-
-</para>
-
-@fault_code:
-@fault_format:
-@Varargs:
-@Returns:
-
-
-<!-- ##### FUNCTION soup_xmlrpc_set_response ##### -->
-<para>
-
-</para>
-
-@msg:
-@type:
-@Varargs:
-
-
-<!-- ##### FUNCTION soup_xmlrpc_set_fault ##### -->
-<para>
-
-</para>
-
-@msg:
-@fault_code:
-@fault_format:
-@Varargs:
-
-
-<!-- ##### MACRO SOUP_XMLRPC_ERROR ##### -->
-<para>
-
-</para>
-
-
-
-<!-- ##### ENUM SoupXMLRPCError ##### -->
-<para>
-
-</para>
-
-@SOUP_XMLRPC_ERROR_ARGUMENTS:
-@SOUP_XMLRPC_ERROR_RETVAL:
-
-<!-- ##### MACRO SOUP_XMLRPC_FAULT ##### -->
-<para>
-
-</para>
-
-
-
diff --git a/libsoup/soup-address.c b/libsoup/soup-address.c
index 564dd066..13509d4f 100644
--- a/libsoup/soup-address.c
+++ b/libsoup/soup-address.c
@@ -30,6 +30,18 @@
#define INADDR_NONE -1
#endif
+/**
+ * SECTION:soup-address
+ * @short_description: DNS support
+ *
+ * #SoupAddress represents the address of a TCP connection endpoint;
+ * both the IP address and the port. (It is somewhat like an
+ * object-oriented version of struct sockaddr.)
+ *
+ * If libsoup was built with IPv6 support, #SoupAddress will allow
+ * both IPv4 and IPv6 addresses.
+ **/
+
typedef struct {
struct sockaddr *sockaddr;
@@ -220,6 +232,13 @@ soup_address_new_from_sockaddr (struct sockaddr *sa, int len)
**/
/**
+ * SOUP_ADDRESS_ANY_PORT:
+ *
+ * This can be passed to any #SoupAddress method that expects a port,
+ * to indicate that you don't care what port is used.
+ **/
+
+/**
* soup_address_new_any:
* @family: the address family
* @port: the port number (usually %SOUP_ADDRESS_ANY_PORT)
@@ -385,6 +404,16 @@ lookup_resolved (SoupDNSLookup *lookup, gboolean success, gpointer user_data)
}
/**
+ * SoupAddressCallback:
+ * @addr: the #SoupAddress that was resolved
+ * @status: %SOUP_STATUS_OK or %SOUP_STATUS_CANT_RESOLVE
+ * @data: the user data that was passed to
+ * soup_address_resolve_async()
+ *
+ * The callback function passed to soup_address_resolve_async().
+ **/
+
+/**
* soup_address_resolve_async:
* @addr: a #SoupAddress
* @async_context: the #GMainContext to call @callback from
diff --git a/libsoup/soup-address.h b/libsoup/soup-address.h
index 760bcd17..6a2a1dcf 100644
--- a/libsoup/soup-address.h
+++ b/libsoup/soup-address.h
@@ -44,23 +44,8 @@ typedef enum {
#undef AF_INET6
#endif
-/**
- * SOUP_ADDRESS_ANY_PORT:
- *
- * This can be passed to any #SoupAddress method that expects a port,
- * to indicate that you don't care what port is used.
- **/
#define SOUP_ADDRESS_ANY_PORT 0
-/**
- * SoupAddressCallback:
- * @addr: the #SoupAddress that was resolved
- * @status: %SOUP_STATUS_OK or %SOUP_STATUS_CANT_RESOLVE
- * @data: the user data that was passed to
- * soup_address_resolve_async()
- *
- * The callback function passed to soup_address_resolve_async().
- **/
typedef void (*SoupAddressCallback) (SoupAddress *addr,
guint status,
gpointer data);
diff --git a/libsoup/soup-auth-domain-basic.c b/libsoup/soup-auth-domain-basic.c
index aac9fff2..c0af63d1 100644
--- a/libsoup/soup-auth-domain-basic.c
+++ b/libsoup/soup-auth-domain-basic.c
@@ -15,6 +15,14 @@
#include "soup-marshal.h"
#include "soup-message.h"
+/**
+ * SECTION:soup-auth-domain-basic
+ * @short_description: Server-side "Basic" authentication
+ *
+ * #SoupAuthDomainBasic handles the server side of HTTP "Basic" (ie,
+ * cleartext password) authentication.
+ **/
+
enum {
PROP_0,
diff --git a/libsoup/soup-auth-domain-digest.c b/libsoup/soup-auth-domain-digest.c
index 33a14877..2268c28e 100644
--- a/libsoup/soup-auth-domain-digest.c
+++ b/libsoup/soup-auth-domain-digest.c
@@ -19,6 +19,14 @@
#include "soup-message.h"
#include "soup-uri.h"
+/**
+ * SECTION:soup-auth-domain-digest
+ * @short_description: Server-side "Digest" authentication
+ *
+ * #SoupAuthDomainBasic handles the server side of HTTP "Digest"
+ * authentication.
+ **/
+
enum {
PROP_0,
diff --git a/libsoup/soup-auth-domain.c b/libsoup/soup-auth-domain.c
index 70b73681..5bafb592 100644
--- a/libsoup/soup-auth-domain.c
+++ b/libsoup/soup-auth-domain.c
@@ -16,6 +16,28 @@
#include "soup-path-map.h"
#include "soup-uri.h"
+/**
+ * SECTION:soup-auth-domain
+ * @short_description: Server-side authentication
+ * @see_also: #SoupServer
+ *
+ * A #SoupAuthDomain manages authentication for all or part of a
+ * #SoupServer. To make a server require authentication, first create
+ * an appropriate subclass of #SoupAuthDomain, and then add it to the
+ * server with soup_server_add_auth_domain().
+ *
+ * In order for an auth domain to have any effect, you must add one or
+ * more paths to it (via soup_auth_domain_add_path() or the
+ * %SOUP_AUTH_DOMAIN_ADD_PATH property). To require authentication for
+ * all requests, add the path "/".
+ *
+ * If you need greater control over which requests should and
+ * shouldn't be authenticated, add paths covering everything you
+ * <emphasis>might</emphasis> want authenticated, and then use a
+ * filter (soup_auth_domain_set_filter()) to bypass authentication for
+ * those requests that don't need it.
+ **/
+
enum {
PROP_0,
diff --git a/libsoup/soup-auth.c b/libsoup/soup-auth.c
index 3e8b4a49..30792814 100644
--- a/libsoup/soup-auth.c
+++ b/libsoup/soup-auth.c
@@ -17,6 +17,25 @@
#include "soup-headers.h"
#include "soup-uri.h"
+/**
+ * SECTION:soup-auth
+ * @short_description: HTTP client-side authentication support
+ * @see_also: #SoupSession
+ *
+ * #SoupAuth objects store the authentication data associated with a
+ * given bit of web space. They are created automatically by
+ * #SoupSession.
+ **/
+
+/**
+ * SoupAuth:
+ *
+ * The abstract base class for handling authentication. Specific HTTP
+ * Authentication mechanisms are implemented by its subclasses, but
+ * applications never need to be aware of the specific subclasses
+ * being used.
+ **/
+
typedef struct {
gboolean proxy;
char *host;
diff --git a/libsoup/soup-connection.h b/libsoup/soup-connection.h
index de6a769c..5ae9a2e3 100644
--- a/libsoup/soup-connection.h
+++ b/libsoup/soup-connection.h
@@ -43,14 +43,6 @@ typedef struct {
GType soup_connection_get_type (void);
-/**
- * SoupConnectionCallback:
- * @conn: the #SoupConnection
- * @status: an HTTP status code indicating success or failure
- * @data: the data passed to soup_connection_connect_async()
- *
- * The callback function passed to soup_connection_connect_async().
- **/
typedef void (*SoupConnectionCallback) (SoupConnection *conn,
guint status,
gpointer data);
diff --git a/libsoup/soup-date.c b/libsoup/soup-date.c
index d48e6c70..563849e2 100644
--- a/libsoup/soup-date.c
+++ b/libsoup/soup-date.c
@@ -16,6 +16,26 @@
#include "soup-date.h"
+/**
+ * SoupDate:
+ * @year: the year, 1 to 9999
+ * @month: the month, 1 to 12
+ * @day: day of the month, 1 to 31
+ * @hour: hour of the day, 0 to 23
+ * @minute: minute, 0 to 59
+ * @second: second, 0 to 59 (or up to 61 in the case of leap seconds)
+ * @utc: %TRUE if the date is in UTC
+ * @offset: offset from UTC
+
+ * A date and time. The date is assumed to be in the (proleptic)
+ * Gregorian calendar. The time is in UTC if @utc is %TRUE. Otherwise,
+ * the time is a local time, and @offset gives the offset from UTC in
+ * minutes (such that adding @offset to the time would give the
+ * correct UTC time). If @utc is %FALSE and @offset is 0, then the
+ * %SoupDate represents a "floating" time with no associated timezone
+ * information.
+ **/
+
/* Do not internationalize */
static const char *months[] = {
"Jan", "Feb", "Mar", "Apr", "May", "Jun",
@@ -312,7 +332,33 @@ days_in_month (int month, int year)
}
/**
- * soup_date_from_now:
+ * SoupDateFormat:
+ * @SOUP_DATE_HTTP: RFC 1123 format, used by the HTTP "Date" header. Eg
+ * "Sun, 06 Nov 1994 08:49:37 GMT"
+ * @SOUP_DATE_COOKIE: The format for the "Expires" timestamp in the
+ * Netscape cookie specification. Eg, "Sun, 06-Nov-1994 08:49:37 GMT".
+ * @SOUP_DATE_RFC2822: RFC 2822 format, eg "Sun, 6 Nov 1994 09:49:37 -0100"
+ * @SOUP_DATE_ISO8601_COMPACT: ISO 8601 date/time with no optional
+ * punctuation. Eg, "19941106T094937-0100".
+ * @SOUP_DATE_ISO8601_FULL: ISO 8601 date/time with all optional
+ * punctuation. Eg, "1994-11-06T09:49:37-01:00".
+ * @SOUP_DATE_ISO8601_XMLRPC: ISO 8601 date/time as used by XML-RPC.
+ * Eg, "19941106T09:49:37".
+ * @SOUP_DATE_ISO8601: An alias for @SOUP_DATE_ISO8601_FULL.
+ *
+ * Date formats that soup_date_to_string() can use.
+ *
+ * @SOUP_DATE_HTTP and @SOUP_DATE_COOKIE always coerce the time to
+ * UTC. @SOUP_DATE_ISO8601_XMLRPC uses the time as given, ignoring the
+ * offset completely. @SOUP_DATE_RFC2822 and the other ISO 8601
+ * variants use the local time, appending the offset information if
+ * available.
+ *
+ * This enum may be extended with more values in future releases.
+ **/
+
+/**
+ * soup_date_new_from_string:
* @date_string: the date in some plausible format
*
* Parses @date_string and tries to extract a date from it. This
diff --git a/libsoup/soup-date.h b/libsoup/soup-date.h
index 53538603..106b0824 100644
--- a/libsoup/soup-date.h
+++ b/libsoup/soup-date.h
@@ -12,25 +12,6 @@
G_BEGIN_DECLS
-/**
- * SoupDate:
- * @year: the year, 1 to 9999
- * @month: the month, 1 to 12
- * @day: day of the month, 1 to 31
- * @hour: hour of the day, 0 to 23
- * @minute: minute, 0 to 59
- * @second: second, 0 to 59 (or up to 61 in the case of leap seconds)
- * @utc: %TRUE if the date is in UTC
- * @offset: offset from UTC
-
- * A date and time. The date is assumed to be in the (proleptic)
- * Gregorian calendar. The time is in UTC if @utc is %TRUE. Otherwise,
- * the time is a local time, and @offset gives the offset from UTC in
- * minutes (such that adding @offset to the time would give the
- * correct UTC time). If @utc is %FALSE and @offset is 0, then the
- * %SoupDate represents a "floating" time with no associated timezone
- * information.
- **/
typedef struct {
int year;
int month;
@@ -44,31 +25,6 @@ typedef struct {
int offset;
} SoupDate;
-/**
- * SoupDateFormat:
- * @SOUP_DATE_HTTP: RFC 1123 format, used by the HTTP "Date" header. Eg
- * "Sun, 06 Nov 1994 08:49:37 GMT"
- * @SOUP_DATE_COOKIE: The format for the "Expires" timestamp in the
- * Netscape cookie specification. Eg, "Sun, 06-Nov-1994 08:49:37 GMT".
- * @SOUP_DATE_RFC2822: RFC 2822 format, eg "Sun, 6 Nov 1994 09:49:37 -0100"
- * @SOUP_DATE_ISO8601_COMPACT: ISO 8601 date/time with no optional
- * punctuation. Eg, "19941106T094937-0100".
- * @SOUP_DATE_ISO8601_FULL: ISO 8601 date/time with all optional
- * punctuation. Eg, "1994-11-06T09:49:37-01:00".
- * @SOUP_DATE_ISO8601_XMLRPC: ISO 8601 date/time as used by XML-RPC.
- * Eg, "19941106T09:49:37".
- * @SOUP_DATE_ISO8601: An alias for @SOUP_DATE_ISO8601_FULL.
- *
- * Date formats that soup_date_to_string() can use.
- *
- * @SOUP_DATE_HTTP and @SOUP_DATE_COOKIE always coerce the time to
- * UTC. @SOUP_DATE_ISO8601_XMLRPC uses the time as given, ignoring the
- * offset completely. @SOUP_DATE_RFC2822 and the other ISO 8601
- * variants use the local time, appending the offset information if
- * available.
- *
- * This enum may be extended with more values in future releases.
- **/
typedef enum {
SOUP_DATE_HTTP = 1,
SOUP_DATE_COOKIE,
diff --git a/libsoup/soup-dns.h b/libsoup/soup-dns.h
index 2a8bb0fc..6ff030c0 100644
--- a/libsoup/soup-dns.h
+++ b/libsoup/soup-dns.h
@@ -14,25 +14,12 @@
void soup_dns_init (void);
char *soup_dns_ntop (struct sockaddr *sa);
-/**
- * SoupDNSLookup:
- *
- * An opaque type that represents a DNS lookup operation.
- **/
typedef struct SoupDNSLookup SoupDNSLookup;
SoupDNSLookup *soup_dns_lookup_name (const char *name);
SoupDNSLookup *soup_dns_lookup_address (struct sockaddr *sockaddr);
void soup_dns_lookup_free (SoupDNSLookup *lookup);
-/**
- * SoupDNSCallback:
- * @lookup: the completed lookup
- * @success: %TRUE if @lookup completed successfully, %FALSE if it failed
- * @user_data: the data passed to soup_dns_lookup_resolve_async()
- *
- * The callback function passed to soup_dns_lookup_resolve_async().
- **/
typedef void (*SoupDNSCallback) (SoupDNSLookup *lookup, gboolean success, gpointer user_data);
gboolean soup_dns_lookup_resolve (SoupDNSLookup *lookup);
diff --git a/libsoup/soup-gnutls.c b/libsoup/soup-gnutls.c
index 838d470e..b402850a 100644
--- a/libsoup/soup-gnutls.c
+++ b/libsoup/soup-gnutls.c
@@ -26,6 +26,11 @@
#include "soup-ssl.h"
#include "soup-misc.h"
+/**
+ * soup_ssl_supported:
+ *
+ * Can be used to test if libsoup was compiled with ssl support.
+ **/
gboolean soup_ssl_supported = TRUE;
#define DH_BITS 1024
diff --git a/libsoup/soup-message-body.c b/libsoup/soup-message-body.c
index ae1a5669..068493c2 100644
--- a/libsoup/soup-message-body.c
+++ b/libsoup/soup-message-body.c
@@ -9,6 +9,54 @@
#include "soup-message-body.h"
+/**
+ * SECTION:soup-message-body
+ * @short_description: HTTP message body
+ * @see_also: #SoupMessage
+ *
+ * #SoupMessageBody represents the request or response body of a
+ * #SoupMessage.
+ *
+ * In addition to #SoupMessageBody, libsoup also defines a "smaller"
+ * data buffer type, #SoupBuffer, which is primarily used as a
+ * component of #SoupMessageBody. In particular, when using chunked
+ * encoding to transmit or receive a message, each chunk is
+ * represented as a #SoupBuffer.
+ **/
+
+/**
+ * SoupMemoryUse:
+ * @SOUP_MEMORY_STATIC: The memory is statically allocated and
+ * constant; libsoup can use the passed-in buffer directly and not
+ * need to worry about it being modified or freed.
+ * @SOUP_MEMORY_TAKE: The caller has allocated the memory for the
+ * #SoupBuffer's use; libsoup will assume ownership of it and free it
+ * (with g_free()) when it is done with it.
+ * @SOUP_MEMORY_COPY: The passed-in data belongs to the caller; the
+ * #SoupBuffer will copy it into new memory, leaving the caller free
+ * to reuse the original memory.
+ * @SOUP_MEMORY_TEMPORARY: The passed-in data belongs to the caller,
+ * but will remain valid for the lifetime of the #SoupBuffer. The
+ * difference between this and @SOUP_MEMORY_STATIC is that if you copy
+ * a @SOUP_MEMORY_TEMPORARY buffer, it will make a copy of the memory
+ * as well, rather than reusing the original memory.
+ *
+ * Describes how #SoupBuffer should use the data passed in by the
+ * caller.
+ **/
+
+/**
+ * SoupBuffer:
+ * @data: the data
+ * @length: length of @data
+ *
+ * A data buffer, generally used to represent a chunk of a
+ * #SoupMessageBody.
+ *
+ * @data is a #char because that's generally convenient; in some
+ * situations you may need to cast it to #guchar or another type.
+ **/
+
typedef struct {
SoupBuffer buffer;
SoupMemoryUse use;
@@ -146,6 +194,27 @@ soup_buffer_get_type (void)
return type;
}
+
+/**
+ * SoupMessageBody:
+ * @data: the data
+ * @length: length of @data
+ *
+ * A #SoupMessage request or response body.
+ *
+ * Note that while @length always reflects the full length of the
+ * message body, @data is normally %NULL, and will only be filled in
+ * after soup_message_body_flatten() is called. For client-side
+ * messages, this automatically happens for the response body after it
+ * has been fully read, unless you set the
+ * %SOUP_MESSAGE_OVERWRITE_CHUNKS flags. Likewise, for server-side
+ * messages, the request body is automatically filled in after being
+ * read.
+ *
+ * As an added bonus, when @data is filled in, it is always terminated
+ * with a '\0' byte (which is not reflected in @length).
+ **/
+
typedef struct {
SoupMessageBody body;
GSList *chunks, *last;
diff --git a/libsoup/soup-message-body.h b/libsoup/soup-message-body.h
index 144d75dd..329c7736 100644
--- a/libsoup/soup-message-body.h
+++ b/libsoup/soup-message-body.h
@@ -10,26 +10,6 @@
G_BEGIN_DECLS
-/**
- * SoupMemoryUse:
- * @SOUP_MEMORY_STATIC: The memory is statically allocated and
- * constant; libsoup can use the passed-in buffer directly and not
- * need to worry about it being modified or freed.
- * @SOUP_MEMORY_TAKE: The caller has allocated the memory for the
- * #SoupBuffer's use; libsoup will assume ownership of it and free it
- * (with g_free()) when it is done with it.
- * @SOUP_MEMORY_COPY: The passed-in data belongs to the caller; the
- * #SoupBuffer will copy it into new memory, leaving the caller free
- * to reuse the original memory.
- * @SOUP_MEMORY_TEMPORARY: The passed-in data belongs to the caller,
- * but will remain valid for the lifetime of the #SoupBuffer. The
- * difference between this and @SOUP_MEMORY_STATIC is that if you copy
- * a @SOUP_MEMORY_TEMPORARY buffer, it will make a copy of the memory
- * as well, rather than reusing the original memory.
- *
- * Describes how #SoupBuffer should use the data passed in by the
- * caller.
- **/
typedef enum {
SOUP_MEMORY_STATIC,
SOUP_MEMORY_TAKE,
@@ -37,17 +17,6 @@ typedef enum {
SOUP_MEMORY_TEMPORARY,
} SoupMemoryUse;
-/**
- * SoupBuffer:
- * @data: the data
- * @length: length of @data
- *
- * A data buffer, generally used to represent a chunk of a
- * #SoupMessageBody.
- *
- * @data is a #char because that's generally convenient; in some
- * situations you may need to cast it to #guchar or another type.
- **/
typedef struct {
const char *data;
gsize length;
@@ -66,25 +35,6 @@ SoupBuffer *soup_buffer_new_subbuffer (SoupBuffer *parent,
SoupBuffer *soup_buffer_copy (SoupBuffer *buffer);
void soup_buffer_free (SoupBuffer *buffer);
-/**
- * SoupMessageBody:
- * @data: the data
- * @length: length of @data
- *
- * A #SoupMessage request or response body.
- *
- * Note that while @length always reflects the full length of the
- * message body, @data is normally %NULL, and will only be filled in
- * after soup_message_body_flatten() is called. For client-side
- * messages, this automatically happens for the response body after it
- * has been fully read, unless you set the
- * %SOUP_MESSAGE_OVERWRITE_CHUNKS flags. Likewise, for server-side
- * messages, the request body is automatically filled in after being
- * read.
- *
- * As an added bonus, when @data is filled in, it is always terminated
- * with a '\0' byte (which is not reflected in @length).
- **/
typedef struct {
const char *data;
goffset length;
diff --git a/libsoup/soup-message-headers.c b/libsoup/soup-message-headers.c
index 9e7ae04b..a1314918 100644
--- a/libsoup/soup-message-headers.c
+++ b/libsoup/soup-message-headers.c
@@ -10,6 +10,15 @@
#include "soup-message-headers.h"
#include "soup-misc.h"
+/**
+ * SECTION:soup-message-headers
+ * @short_description: HTTP message headers
+ * @see_also: #SoupMessage
+ *
+ * #SoupMessageHeaders represents the HTTP message headers associated
+ * with a request or response.
+ **/
+
typedef void (*SoupHeaderSetter) (SoupMessageHeaders *, const char *);
static const char *intern_header_name (const char *name, SoupHeaderSetter *setter);
diff --git a/libsoup/soup-message-headers.h b/libsoup/soup-message-headers.h
index e6243ec5..b6eb94e4 100644
--- a/libsoup/soup-message-headers.h
+++ b/libsoup/soup-message-headers.h
@@ -42,20 +42,6 @@ void soup_message_headers_foreach (SoupMessageHeaders *hdrs,
/* Specific headers */
-/**
- * SoupEncoding:
- * @SOUP_ENCODING_UNRECOGNIZED: unknown / error
- * @SOUP_ENCODING_NONE: no body is present (which is not the same as a
- * 0-length body, and only occurs in certain places)
- * @SOUP_ENCODING_CONTENT_LENGTH: Content-Length encoding
- * @SOUP_ENCODING_EOF: Response body ends when the connection is closed
- * @SOUP_ENCODING_CHUNKED: chunked encoding (currently only supported
- * for response)
- * @SOUP_ENCODING_BYTERANGES: multipart/byteranges (Reserved for future
- * use: NOT CURRENTLY IMPLEMENTED)
- *
- * How a message body is encoded for transport
- **/
typedef enum {
SOUP_ENCODING_UNRECOGNIZED,
SOUP_ENCODING_NONE,
diff --git a/libsoup/soup-message-queue.h b/libsoup/soup-message-queue.h
index d3b0185e..24e8ddb9 100644
--- a/libsoup/soup-message-queue.h
+++ b/libsoup/soup-message-queue.h
@@ -13,14 +13,7 @@ G_BEGIN_DECLS
typedef struct SoupMessageQueue SoupMessageQueue;
-/**
- * SoupMessageQueueIter:
- *
- * An opaque data structure used to iterate the elements of a
- * #SoupMessageQueue.
- **/
typedef struct {
- /*< private >*/
GList *cur, *next;
} SoupMessageQueueIter;
diff --git a/libsoup/soup-message.c b/libsoup/soup-message.c
index b22de522..c5e70d43 100644
--- a/libsoup/soup-message.c
+++ b/libsoup/soup-message.c
@@ -16,6 +16,43 @@
#include "soup-misc.h"
#include "soup-uri.h"
+/**
+ * SECTION:soup-message
+ * @short_description: An HTTP request and response.
+ * @see_also: #SoupMessageHeaders, #SoupMessageBody
+ *
+ **/
+
+/**
+ * SoupMessage:
+ * @method: the HTTP method
+ * @status_code: the HTTP status code
+ * @reason_phrase: the status phrase associated with @status_code
+ * @request_body: the request body
+ * @request_headers: the request headers
+ * @response_body: the response body
+ * @response_headers: the response headers
+ *
+ * Represents an HTTP message being sent or received.
+ *
+ * As described in the #SoupMessageBody documentation, the
+ * @request_body and @response_body %data fields will not necessarily
+ * be filled in at all times. When they are filled in, they will be
+ * terminated with a '\0' byte (which is not included in the %length),
+ * so you can use them as ordinary C strings (assuming that you know
+ * that the body doesn't have any other '\0' bytes).
+ *
+ * For a client-side #SoupMessage, @request_body's %data is usually
+ * filled in right before libsoup writes the request to the network,
+ * but you should not count on this; use soup_message_body_flatten()
+ * if you want to ensure that %data is filled in. @response_body's
+ * %data will be filled in before #SoupMessage::finished is emitted,
+ * unless you set the %SOUP_MESSAGE_OVERWRITE_CHUNKS flag.
+ *
+ * For a server-side #SoupMessage, @request_body's %data will be
+ * filled in before #SoupMessage::got_body is emitted.
+ **/
+
G_DEFINE_TYPE (SoupMessage, soup_message, G_TYPE_OBJECT)
enum {
@@ -1021,6 +1058,20 @@ soup_message_cleanup_response (SoupMessage *req)
}
/**
+ * SoupMessageFlags:
+ * @SOUP_MESSAGE_NO_REDIRECT: The session should not follow redirect
+ * (3xx) responses received by this message.
+ * @SOUP_MESSAGE_OVERWRITE_CHUNKS: Each chunk of the response will be
+ * freed after its corresponding %got_chunk signal is emitted, meaning
+ * %response will still be empty after the message is complete. You
+ * can use this to save memory if you expect the response to be large
+ * and you are able to process it a chunk at a time.
+ *
+ * Various flags that can be set on a #SoupMessage to alter its
+ * behavior.
+ **/
+
+/**
* soup_message_set_flags:
* @msg: a #SoupMessage
* @flags: a set of #SoupMessageFlags values
@@ -1028,7 +1079,7 @@ soup_message_cleanup_response (SoupMessage *req)
* Sets the specified flags on @msg.
**/
void
-soup_message_set_flags (SoupMessage *msg, guint flags)
+soup_message_set_flags (SoupMessage *msg, SoupMessageFlags flags)
{
g_return_if_fail (SOUP_IS_MESSAGE (msg));
@@ -1043,7 +1094,7 @@ soup_message_set_flags (SoupMessage *msg, guint flags)
*
* Return value: the flags
**/
-guint
+SoupMessageFlags
soup_message_get_flags (SoupMessage *msg)
{
g_return_val_if_fail (SOUP_IS_MESSAGE (msg), 0);
@@ -1052,6 +1103,14 @@ soup_message_get_flags (SoupMessage *msg)
}
/**
+ * SoupHTTPVersion:
+ * @SOUP_HTTP_1_0: HTTP 1.0 (RFC 1945)
+ * @SOUP_HTTP_1_1: HTTP 1.1 (RFC 2616)
+ *
+ * Indicates the HTTP protocol version being used.
+ **/
+
+/**
* soup_message_set_http_version:
* @msg: a #SoupMessage
* @version: the HTTP version
diff --git a/libsoup/soup-message.h b/libsoup/soup-message.h
index 636b61a2..02733640 100644
--- a/libsoup/soup-message.h
+++ b/libsoup/soup-message.h
@@ -20,35 +20,6 @@ G_BEGIN_DECLS
#define SOUP_IS_MESSAGE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((obj), SOUP_TYPE_MESSAGE))
#define SOUP_MESSAGE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), SOUP_TYPE_MESSAGE, SoupMessageClass))
-/**
- * SoupMessage:
- * @method: the HTTP method
- * @status_code: the HTTP status code
- * @reason_phrase: the status phrase associated with @status_code
- * @request_body: the request body
- * @request_headers: the request headers
- * @response_body: the response body
- * @response_headers: the response headers
- *
- * Represents an HTTP message being sent or received.
- *
- * As described in the #SoupMessageBody documentation, the
- * @request_body and @response_body %data fields will not necessarily
- * be filled in at all times. When they are filled in, they will be
- * terminated with a '\0' byte (which is not included in the %length),
- * so you can use them as ordinary C strings (assuming that you know
- * that the body doesn't have any other '\0' bytes).
- *
- * For a client-side #SoupMessage, @request_body's %data is usually
- * filled in right before libsoup writes the request to the network,
- * but you should not count on this; use soup_message_body_flatten()
- * if you want to ensure that %data is filled in. @response_body's
- * %data will be filled in before #SoupMessage::finished is emitted,
- * unless you set the %SOUP_MESSAGE_OVERWRITE_CHUNKS flag.
- *
- * For a server-side #SoupMessage, @request_body's %data will be
- * filled in before #SoupMessage::got_body is emitted.
- **/
struct SoupMessage {
GObject parent;
@@ -106,13 +77,6 @@ void soup_message_set_response (SoupMessage *msg,
const char *resp_body,
gsize resp_length);
-/**
- * SoupHTTPVersion:
- * @SOUP_HTTP_1_0: HTTP 1.0 (RFC 1945)
- * @SOUP_HTTP_1_1: HTTP 1.1 (RFC 2616)
- *
- * Indicates the HTTP protocol version being used.
- **/
typedef enum {
SOUP_HTTP_1_0 = 0,
SOUP_HTTP_1_1 = 1
@@ -128,28 +92,15 @@ SoupURI *soup_message_get_uri (SoupMessage *msg);
void soup_message_set_uri (SoupMessage *msg,
SoupURI *uri);
-/**
- * SoupMessageFlags:
- * @SOUP_MESSAGE_NO_REDIRECT: The session should not follow redirect
- * (3xx) responses received by this message.
- * @SOUP_MESSAGE_OVERWRITE_CHUNKS: Each chunk of the response will be
- * freed after its corresponding %got_chunk signal is emitted, meaning
- * %response will still be empty after the message is complete. You
- * can use this to save memory if you expect the response to be large
- * and you are able to process it a chunk at a time.
- *
- * Various flags that can be set on a #SoupMessage to alter its
- * behavior.
- **/
typedef enum {
SOUP_MESSAGE_NO_REDIRECT = (1 << 1),
SOUP_MESSAGE_OVERWRITE_CHUNKS = (1 << 3),
} SoupMessageFlags;
void soup_message_set_flags (SoupMessage *msg,
- guint flags);
+ SoupMessageFlags flags);
-guint soup_message_get_flags (SoupMessage *msg);
+SoupMessageFlags soup_message_get_flags (SoupMessage *msg);
/* Specialized signal handlers */
guint soup_message_add_header_handler (SoupMessage *msg,
diff --git a/libsoup/soup-method.c b/libsoup/soup-method.c
deleted file mode 100644
index 26f5c245..00000000
--- a/libsoup/soup-method.c
+++ /dev/null
@@ -1,83 +0,0 @@
-/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */
-/*
- * soup-method.c: HTTP Method related processing.
- *
- * Copyright (C) 2001-2002, Ximian, Inc.
- */
-
-#include <glib.h>
-
-#include "soup-method.h"
-
-/**
- * soup_method_get_id:
- * @method: an HTTP method
- *
- * Converts @method into a corresponding #SoupMethodId (possibly
- * %SOUP_METHOD_ID_UNKNOWN).
- *
- * Return value: the #SoupMethodId
- **/
-SoupMethodId
-soup_method_get_id (const char *method)
-{
- g_return_val_if_fail (method != NULL, SOUP_METHOD_ID_UNKNOWN);
-
- switch (*method) {
- case 'H':
- if (g_ascii_strcasecmp (method, "HEAD") == 0)
- return SOUP_METHOD_ID_HEAD;
- break;
- case 'G':
- if (g_ascii_strcasecmp (method, "GET") == 0)
- return SOUP_METHOD_ID_GET;
- break;
- case 'P':
- if (g_ascii_strcasecmp (method, "POST") == 0)
- return SOUP_METHOD_ID_POST;
- if (g_ascii_strcasecmp (method, "PUT") == 0)
- return SOUP_METHOD_ID_PUT;
- if (g_ascii_strcasecmp (method, "PATCH") == 0)
- return SOUP_METHOD_ID_PATCH;
- if (g_ascii_strcasecmp (method, "PROPFIND") == 0)
- return SOUP_METHOD_ID_PROPFIND;
- if (g_ascii_strcasecmp (method, "PROPPATCH") == 0)
- return SOUP_METHOD_ID_PROPPATCH;
- break;
- case 'D':
- if (g_ascii_strcasecmp (method, "DELETE") == 0)
- return SOUP_METHOD_ID_DELETE;
- break;
- case 'C':
- if (g_ascii_strcasecmp (method, "CONNECT") == 0)
- return SOUP_METHOD_ID_CONNECT;
- if (g_ascii_strcasecmp (method, "COPY") == 0)
- return SOUP_METHOD_ID_COPY;
- break;
- case 'M':
- if (g_ascii_strcasecmp (method, "MKCOL") == 0)
- return SOUP_METHOD_ID_MKCOL;
- if (g_ascii_strcasecmp (method, "MOVE") == 0)
- return SOUP_METHOD_ID_MOVE;
- break;
- case 'O':
- if (g_ascii_strcasecmp (method, "OPTIONS") == 0)
- return SOUP_METHOD_ID_OPTIONS;
- break;
- case 'T':
- if (g_ascii_strcasecmp (method, "TRACE") == 0)
- return SOUP_METHOD_ID_TRACE;
- break;
- case 'L':
- if (g_ascii_strcasecmp (method, "LOCK") == 0)
- return SOUP_METHOD_ID_LOCK;
- break;
- case 'U':
- if (g_ascii_strcasecmp (method, "UNLOCK") == 0)
- return SOUP_METHOD_ID_UNLOCK;
- break;
- }
-
- return SOUP_METHOD_ID_UNKNOWN;
-}
-
diff --git a/libsoup/soup-method.h b/libsoup/soup-method.h
index dd3181b9..861f7ef1 100644
--- a/libsoup/soup-method.h
+++ b/libsoup/soup-method.h
@@ -8,6 +8,29 @@
G_BEGIN_DECLS
+/**
+ * SECTION:soup-method
+ * @short_description: HTTP method definitions
+ *
+ * soup-method.h contains a number of defines for standard HTTP and
+ * WebDAV headers. You do not need to use these defines; you can pass
+ * arbitrary strings to soup_message_new() if you prefer.
+ *
+ * The thing that these defines <emphasis>are</emphasis> useful for is
+ * performing quick comparisons against #SoupMessage's %method field;
+ * because that field always contains an interned string, and these
+ * macros return interned strings, you can compare %method directly
+ * against these macros rather than needing to use strcmp(). This is
+ * most useful in SoupServer handlers. Eg:
+ *
+ * <informalexample><programlisting>
+ * if (msg->method != SOUP_METHOD_GET &amp;&amp; msg->method != SOUP_METHOD_HEAD) {
+ * soup_message_set_status (msg, SOUP_METHOD_NOT_IMPLEMENTED);
+ * return;
+ * }
+ * </programlisting></informalexample>
+ **/
+
#define SOUP_METHOD_POST (g_intern_static_string ("POST"))
#define SOUP_METHOD_GET (g_intern_static_string ("GET"))
#define SOUP_METHOD_HEAD (g_intern_static_string ("HEAD"))
diff --git a/libsoup/soup-misc.c b/libsoup/soup-misc.c
index 4c9e7330..79a7399b 100644
--- a/libsoup/soup-misc.c
+++ b/libsoup/soup-misc.c
@@ -11,6 +11,12 @@
#include "soup-misc.h"
/**
+ * SECTION:soup-misc
+ * @short_description: Miscellaneous functions
+ *
+ **/
+
+/**
* soup_str_case_hash:
* @key: ASCII string to hash
*
diff --git a/libsoup/soup-misc.h b/libsoup/soup-misc.h
index f35a56c6..36996064 100644
--- a/libsoup/soup-misc.h
+++ b/libsoup/soup-misc.h
@@ -35,11 +35,6 @@ guint soup_str_case_hash (gconstpointer key);
gboolean soup_str_case_equal (gconstpointer v1,
gconstpointer v2);
-/**
- * soup_ssl_supported:
- *
- * Can be used to test if libsoup was compiled with ssl support.
- **/
extern gboolean soup_ssl_supported;
#define SOUP_SSL_ERROR soup_ssl_error_quark()
diff --git a/libsoup/soup-server.c b/libsoup/soup-server.c
index 3c6702ee..fdfcca2a 100644
--- a/libsoup/soup-server.c
+++ b/libsoup/soup-server.c
@@ -26,6 +26,39 @@
#include "soup-socket.h"
#include "soup-ssl.h"
+/**
+ * SECTION:soup-server
+ * @short_description: HTTP server
+ * @see_also: #SoupAuthDomain
+ *
+ * #SoupServer implements a simple HTTP server.
+ *
+ * To begin, create a server using soup_server_new(). Add at least one
+ * handler by calling soup_server_add_handler(); the handler will be
+ * called to process any requests underneath the path passed to
+ * soup_server_add_handler(). (If you want all requests to go to the
+ * same handler, just pass "/" (or %NULL) for the path.) Any request
+ * that does not match any handler will automatically be returned to
+ * the client with a 404 (Not Found) status.
+ *
+ * To add authentication to some or all paths, create an appropriate
+ * #SoupAuthDomain (qv), and add it to the server via
+ * soup_server_add_auth_domain.
+ *
+ * Additional processing options are available via #SoupServer's
+ * signals; Connect to #SoupServer::request-started to be notified
+ * every time a new request is being processed. (This gives you a
+ * chance to connect to the #SoupMessage "got-" signals in case you
+ * want to do processing before the body has been fully read.)
+ *
+ * Once the server is set up, start it processing connections by
+ * calling soup_server_run_async() or soup_server_run(). #SoupServer
+ * runs via the glib main loop; if you need to have a server that runs
+ * in another thread (or merely isn't bound to the default main loop),
+ * create a #GMainContext for it to use, and set that via the
+ * #SOUP_SERVER_ASYNC_CONTEXT property.
+ **/
+
G_DEFINE_TYPE (SoupServer, soup_server, G_TYPE_OBJECT)
enum {
diff --git a/libsoup/soup-server.h b/libsoup/soup-server.h
index bbcf8f3e..2481a1fa 100644
--- a/libsoup/soup-server.h
+++ b/libsoup/soup-server.h
@@ -70,17 +70,17 @@ GMainContext *soup_server_get_async_context (SoupServer *server);
/* Handlers and auth */
-void soup_server_add_handler (SoupServer *serv,
+void soup_server_add_handler (SoupServer *server,
const char *path,
SoupServerCallback callback,
gpointer data,
GDestroyNotify destroy);
-void soup_server_remove_handler (SoupServer *serv,
+void soup_server_remove_handler (SoupServer *server,
const char *path);
-void soup_server_add_auth_domain (SoupServer *serv,
+void soup_server_add_auth_domain (SoupServer *server,
SoupAuthDomain *auth_domain);
-void soup_server_remove_auth_domain (SoupServer *serv,
+void soup_server_remove_auth_domain (SoupServer *server,
SoupAuthDomain *auth_domain);
/* I/O */
diff --git a/libsoup/soup-session-async.c b/libsoup/soup-session-async.c
index b2476d72..a383900d 100644
--- a/libsoup/soup-session-async.c
+++ b/libsoup/soup-session-async.c
@@ -14,6 +14,15 @@
#include "soup-message-private.h"
#include "soup-misc.h"
+/**
+ * SECTION:soup-session-async
+ * @short_description: Soup session for asynchronous (main-loop-based) I/O.
+ *
+ * #SoupSessionAsync is an implementation of #SoupSession that uses
+ * non-blocking I/O via the glib main loop. It is intended for use in
+ * single-threaded programs.
+ **/
+
static gboolean run_queue (SoupSessionAsync *sa, gboolean try_pruning);
static void queue_message (SoupSession *session, SoupMessage *req,
diff --git a/libsoup/soup-session-sync.c b/libsoup/soup-session-sync.c
index ce7c6ff4..2db8435f 100644
--- a/libsoup/soup-session-sync.c
+++ b/libsoup/soup-session-sync.c
@@ -14,6 +14,14 @@
#include "soup-message-private.h"
#include "soup-misc.h"
+/**
+ * SECTION:soup-session-sync
+ * @short_description: Soup session for blocking I/O in multithreaded programs.
+ *
+ * #SoupSessionSync is an implementation of #SoupSession that uses
+ * synchronous I/O, intended for use in multi-threaded programs.
+ **/
+
typedef struct {
GMutex *lock;
GCond *cond;
diff --git a/libsoup/soup-session.c b/libsoup/soup-session.c
index 469c523e..501fd8bc 100644
--- a/libsoup/soup-session.c
+++ b/libsoup/soup-session.c
@@ -27,6 +27,12 @@
#include "soup-ssl.h"
#include "soup-uri.h"
+/**
+ * SECTION:soup-session
+ * @short_description: Soup session state object
+ *
+ **/
+
typedef struct {
SoupURI *root_uri;
diff --git a/libsoup/soup-socket.c b/libsoup/soup-socket.c
index f54afdfc..4b0ffb44 100644
--- a/libsoup/soup-socket.c
+++ b/libsoup/soup-socket.c
@@ -24,6 +24,12 @@
#include <sys/time.h>
#include <sys/types.h>
+/**
+ * SECTION:soup-socket
+ * @short_description: A network socket
+ *
+ **/
+
G_DEFINE_TYPE (SoupSocket, soup_socket, G_TYPE_OBJECT)
enum {
@@ -515,6 +521,15 @@ got_address (SoupAddress *addr, guint status, gpointer user_data)
}
/**
+ * SoupSocketCallback:
+ * @sock: the #SoupSocket
+ * @status: an HTTP status code indicating success or failure
+ * @user_data: the data passed to soup_socket_connect_async()
+ *
+ * The callback function passed to soup_socket_connect_async().
+ **/
+
+/**
* soup_socket_connect_async:
* @sock: a client #SoupSocket (which must not already be connected)
* @callback: callback to call after connecting
@@ -1009,6 +1024,16 @@ read_from_buf (SoupSocket *sock, gpointer buffer, gsize len, gsize *nread)
}
/**
+ * SoupSocketIOStatus:
+ * @SOUP_SOCKET_OK: Success
+ * @SOUP_SOCKET_WOULD_BLOCK: Cannot read/write any more at this time
+ * @SOUP_SOCKET_EOF: End of file
+ * @SOUP_SOCKET_ERROR: Other error
+ *
+ * Return value from the #SoupSocket IO methods.
+ **/
+
+/**
* soup_socket_read:
* @sock: the socket
* @buffer: buffer to read into
diff --git a/libsoup/soup-socket.h b/libsoup/soup-socket.h
index d95d04e7..71e9545c 100644
--- a/libsoup/soup-socket.h
+++ b/libsoup/soup-socket.h
@@ -41,14 +41,6 @@ typedef struct {
#define SOUP_SOCKET_ASYNC_CONTEXT "async-context"
#define SOUP_SOCKET_TIMEOUT "timeout"
-/**
- * SoupSocketCallback:
- * @sock: the #SoupSocket
- * @status: an HTTP status code indicating success or failure
- * @user_data: the data passed to soup_socket_connect_async()
- *
- * The callback function passed to soup_socket_connect_async().
- **/
typedef void (*SoupSocketCallback) (SoupSocket *sock,
guint status,
gpointer user_data);
@@ -77,15 +69,6 @@ SoupAddress *soup_socket_get_local_address (SoupSocket *sock);
SoupAddress *soup_socket_get_remote_address (SoupSocket *sock);
-/**
- * SoupSocketIOStatus:
- * @SOUP_SOCKET_OK: Success
- * @SOUP_SOCKET_WOULD_BLOCK: Cannot read/write any more at this time
- * @SOUP_SOCKET_EOF: End of file
- * @SOUP_SOCKET_ERROR: Other error
- *
- * Return value from the #SoupSocket IO methods.
- **/
typedef enum {
SOUP_SOCKET_OK,
SOUP_SOCKET_WOULD_BLOCK,
diff --git a/libsoup/soup-status.c b/libsoup/soup-status.c
index 23d09025..923b72ab 100644
--- a/libsoup/soup-status.c
+++ b/libsoup/soup-status.c
@@ -9,6 +9,145 @@
#include "soup-status.h"
+/**
+ * SECTION:soup-status
+ * @short_description: HTTP (and libsoup) status codes
+ *
+ **/
+
+/**
+ * SOUP_STATUS_IS_TRANSPORT_ERROR:
+ * @status: a status code
+ *
+ * Tests if @status is a libsoup transport error.
+ *
+ * Return value: %TRUE or %FALSE
+ **/
+/**
+ * SOUP_STATUS_IS_INFORMATIONAL:
+ * @status: an HTTP status code
+ *
+ * Tests if @status is an Informational (1xx) response.
+ *
+ * Return value: %TRUE or %FALSE
+ **/
+/**
+ * SOUP_STATUS_IS_SUCCESSFUL:
+ * @status: an HTTP status code
+ *
+ * Tests if @status is a Successful (2xx) response.
+ *
+ * Return value: %TRUE or %FALSE
+ **/
+/**
+ * SOUP_STATUS_IS_REDIRECTION:
+ * @status: an HTTP status code
+ *
+ * Tests if @status is a Redirection (3xx) response.
+ *
+ * Return value: %TRUE or %FALSE
+ **/
+/**
+ * SOUP_STATUS_IS_CLIENT_ERROR:
+ * @status: an HTTP status code
+ *
+ * Tests if @status is a Client Error (4xx) response.
+ *
+ * Return value: %TRUE or %FALSE
+ **/
+/**
+ * SOUP_STATUS_IS_SERVER_ERROR:
+ * @status: an HTTP status code
+ *
+ * Tests if @status is a Server Error (5xx) response.
+ *
+ * Return value: %TRUE or %FALSE
+ **/
+
+/**
+ * SoupKnownStatusCode:
+ * @SOUP_STATUS_NONE: No status available. (Eg, the message has not
+ * been sent yet)
+ * @SOUP_STATUS_CANCELLED: Message was cancelled locally
+ * @SOUP_STATUS_CANT_RESOLVE: Unable to resolve destination host name
+ * @SOUP_STATUS_CANT_RESOLVE_PROXY: Unable to resolve proxy host name
+ * @SOUP_STATUS_CANT_CONNECT: Unable to connect to remote host
+ * @SOUP_STATUS_CANT_CONNECT_PROXY: Unable to connect to proxy
+ * @SOUP_STATUS_SSL_FAILED: SSL negotiation failed
+ * @SOUP_STATUS_IO_ERROR: A network error occurred, or the other end
+ * closed the connection unexpectedly
+ * @SOUP_STATUS_MALFORMED: Malformed data (usually a programmer error)
+ * @SOUP_STATUS_TRY_AGAIN: Try again. (Only returned in certain
+ * specifically documented cases)
+ * @SOUP_STATUS_CONTINUE: 100 Continue (HTTP)
+ * @SOUP_STATUS_SWITCHING_PROTOCOLS: 101 Switching Protocols (HTTP)
+ * @SOUP_STATUS_PROCESSING: 102 Processing (WebDAV)
+ * @SOUP_STATUS_OK: 200 Success (HTTP). Also used by many lower-level
+ * soup routines to indicate success.
+ * @SOUP_STATUS_CREATED: 201 Created (HTTP)
+ * @SOUP_STATUS_ACCEPTED: 202 Accepted (HTTP)
+ * @SOUP_STATUS_NON_AUTHORITATIVE: 203 Non-Authoritative Information
+ * (HTTP)
+ * @SOUP_STATUS_NO_CONTENT: 204 No Content (HTTP)
+ * @SOUP_STATUS_RESET_CONTENT: 205 Reset Content (HTTP)
+ * @SOUP_STATUS_PARTIAL_CONTENT: 206 Partial Content (HTTP)
+ * @SOUP_STATUS_MULTI_STATUS: 207 Multi-Status (WebDAV)
+ * @SOUP_STATUS_MULTIPLE_CHOICES: 300 Multiple Choices (HTTP)
+ * @SOUP_STATUS_MOVED_PERMANENTLY: 301 Moved Permanently (HTTP)
+ * @SOUP_STATUS_FOUND: 302 Found (HTTP)
+ * @SOUP_STATUS_MOVED_TEMPORARILY: 302 Moved Temporarily (old name,
+ * RFC 2068)
+ * @SOUP_STATUS_SEE_OTHER: 303 See Other (HTTP)
+ * @SOUP_STATUS_NOT_MODIFIED: 304 Not Modified (HTTP)
+ * @SOUP_STATUS_USE_PROXY: 305 Use Proxy (HTTP)
+ * @SOUP_STATUS_NOT_APPEARING_IN_THIS_PROTOCOL: 306 [Unused] (HTTP)
+ * @SOUP_STATUS_TEMPORARY_REDIRECT: 307 Temporary Redirect (HTTP)
+ * @SOUP_STATUS_BAD_REQUEST: 400 Bad Request (HTTP)
+ * @SOUP_STATUS_UNAUTHORIZED: 401 Unauthorized (HTTP)
+ * @SOUP_STATUS_PAYMENT_REQUIRED: 402 Payment Required (HTTP)
+ * @SOUP_STATUS_FORBIDDEN: 403 Forbidden (HTTP)
+ * @SOUP_STATUS_NOT_FOUND: 404 Not Found (HTTP)
+ * @SOUP_STATUS_METHOD_NOT_ALLOWED: 405 Method Not Allowed (HTTP)
+ * @SOUP_STATUS_NOT_ACCEPTABLE: 406 Not Acceptable (HTTP)
+ * @SOUP_STATUS_PROXY_AUTHENTICATION_REQUIRED: 407 Proxy Authentication
+ * Required (HTTP)
+ * @SOUP_STATUS_PROXY_UNAUTHORIZED: shorter alias for
+ * %SOUP_STATUS_PROXY_AUTHENTICATION_REQUIRED
+ * @SOUP_STATUS_REQUEST_TIMEOUT: 408 Request Timeout (HTTP)
+ * @SOUP_STATUS_CONFLICT: 409 Conflict (HTTP)
+ * @SOUP_STATUS_GONE: 410 Gone (HTTP)
+ * @SOUP_STATUS_LENGTH_REQUIRED: 411 Length Required (HTTP)
+ * @SOUP_STATUS_PRECONDITION_FAILED: 412 Precondition Failed (HTTP)
+ * @SOUP_STATUS_REQUEST_ENTITY_TOO_LARGE: 413 Request Entity Too Large
+ * (HTTP)
+ * @SOUP_STATUS_REQUEST_URI_TOO_LONG: 414 Request-URI Too Long (HTTP)
+ * @SOUP_STATUS_UNSUPPORTED_MEDIA_TYPE: 415 Unsupported Media Type
+ * (HTTP)
+ * @SOUP_STATUS_REQUESTED_RANGE_NOT_SATISFIABLE: 416 Requested Range
+ * Not Satisfiable (HTTP)
+ * @SOUP_STATUS_INVALID_RANGE: shorter alias for
+ * %SOUP_STATUS_REQUESTED_RANGE_NOT_SATISFIABLE
+ * @SOUP_STATUS_EXPECTATION_FAILED: 417 Expectation Failed (HTTP)
+ * @SOUP_STATUS_UNPROCESSABLE_ENTITY: 422 Unprocessable Entity
+ * (WebDAV)
+ * @SOUP_STATUS_LOCKED: 423 Locked (WebDAV)
+ * @SOUP_STATUS_FAILED_DEPENDENCY: 424 Failed Dependency (WebDAV)
+ * @SOUP_STATUS_INTERNAL_SERVER_ERROR: 500 Internal Server Error
+ * (HTTP)
+ * @SOUP_STATUS_NOT_IMPLEMENTED: 501 Not Implemented (HTTP)
+ * @SOUP_STATUS_BAD_GATEWAY: 502 Bad Gateway (HTTP)
+ * @SOUP_STATUS_SERVICE_UNAVAILABLE: 503 Service Unavailable (HTTP)
+ * @SOUP_STATUS_GATEWAY_TIMEOUT: 504 Gateway Timeout (HTTP)
+ * @SOUP_STATUS_HTTP_VERSION_NOT_SUPPORTED: 505 HTTP Version Not
+ * Supported (HTTP)
+ * @SOUP_STATUS_INSUFFICIENT_STORAGE: 507 Insufficient Storage
+ * (WebDAV)
+ * @SOUP_STATUS_NOT_EXTENDED: 510 Not Extended (RFC 2774)
+ *
+ * These represent the known HTTP status code values, plus various
+ * network and internal errors.
+ **/
+
static struct {
guint code;
const char *phrase;
diff --git a/libsoup/soup-status.h b/libsoup/soup-status.h
index 50fb370a..983250b3 100644
--- a/libsoup/soup-status.h
+++ b/libsoup/soup-status.h
@@ -12,55 +12,6 @@
G_BEGIN_DECLS
-/**
- * SOUP_STATUS_IS_TRANSPORT_ERROR:
- * @status: a status code
- *
- * Tests if @status is a libsoup transport error.
- *
- * Return value: %TRUE or %FALSE
- **/
-/**
- * SOUP_STATUS_IS_INFORMATIONAL:
- * @status: an HTTP status code
- *
- * Tests if @status is an Informational (1xx) response.
- *
- * Return value: %TRUE or %FALSE
- **/
-/**
- * SOUP_STATUS_IS_SUCCESSFUL:
- * @status: an HTTP status code
- *
- * Tests if @status is a Successful (2xx) response.
- *
- * Return value: %TRUE or %FALSE
- **/
-/**
- * SOUP_STATUS_IS_REDIRECTION:
- * @status: an HTTP status code
- *
- * Tests if @status is a Redirection (3xx) response.
- *
- * Return value: %TRUE or %FALSE
- **/
-/**
- * SOUP_STATUS_IS_CLIENT_ERROR:
- * @status: an HTTP status code
- *
- * Tests if @status is a Client Error (4xx) response.
- *
- * Return value: %TRUE or %FALSE
- **/
-/**
- * SOUP_STATUS_IS_SERVER_ERROR:
- * @status: an HTTP status code
- *
- * Tests if @status is a Server Error (5xx) response.
- *
- * Return value: %TRUE or %FALSE
- **/
-
#define SOUP_STATUS_IS_TRANSPORT_ERROR(status) ((status) > 0 && (status) < 100)
#define SOUP_STATUS_IS_INFORMATIONAL(status) ((status) >= 100 && (status) < 200)
#define SOUP_STATUS_IS_SUCCESSFUL(status) ((status) >= 200 && (status) < 300)
@@ -68,89 +19,6 @@ G_BEGIN_DECLS
#define SOUP_STATUS_IS_CLIENT_ERROR(status) ((status) >= 400 && (status) < 500)
#define SOUP_STATUS_IS_SERVER_ERROR(status) ((status) >= 500 && (status) < 600)
-/**
- * SoupKnownStatusCode:
- * @SOUP_STATUS_NONE: No status available. (Eg, the message has not
- * been sent yet)
- * @SOUP_STATUS_CANCELLED: Message was cancelled locally
- * @SOUP_STATUS_CANT_RESOLVE: Unable to resolve destination host name
- * @SOUP_STATUS_CANT_RESOLVE_PROXY: Unable to resolve proxy host name
- * @SOUP_STATUS_CANT_CONNECT: Unable to connect to remote host
- * @SOUP_STATUS_CANT_CONNECT_PROXY: Unable to connect to proxy
- * @SOUP_STATUS_SSL_FAILED: SSL negotiation failed
- * @SOUP_STATUS_IO_ERROR: A network error occurred, or the other end
- * closed the connection unexpectedly
- * @SOUP_STATUS_MALFORMED: Malformed data (usually a programmer error)
- * @SOUP_STATUS_TRY_AGAIN: Try again. (Only returned in certain
- * specifically documented cases)
- * @SOUP_STATUS_CONTINUE: 100 Continue (HTTP)
- * @SOUP_STATUS_SWITCHING_PROTOCOLS: 101 Switching Protocols (HTTP)
- * @SOUP_STATUS_PROCESSING: 102 Processing (WebDAV)
- * @SOUP_STATUS_OK: 200 Success (HTTP). Also used by many lower-level
- * soup routines to indicate success.
- * @SOUP_STATUS_CREATED: 201 Created (HTTP)
- * @SOUP_STATUS_ACCEPTED: 202 Accepted (HTTP)
- * @SOUP_STATUS_NON_AUTHORITATIVE: 203 Non-Authoritative Information
- * (HTTP)
- * @SOUP_STATUS_NO_CONTENT: 204 No Content (HTTP)
- * @SOUP_STATUS_RESET_CONTENT: 205 Reset Content (HTTP)
- * @SOUP_STATUS_PARTIAL_CONTENT: 206 Partial Content (HTTP)
- * @SOUP_STATUS_MULTI_STATUS: 207 Multi-Status (WebDAV)
- * @SOUP_STATUS_MULTIPLE_CHOICES: 300 Multiple Choices (HTTP)
- * @SOUP_STATUS_MOVED_PERMANENTLY: 301 Moved Permanently (HTTP)
- * @SOUP_STATUS_FOUND: 302 Found (HTTP)
- * @SOUP_STATUS_MOVED_TEMPORARILY: 302 Moved Temporarily (old name,
- * RFC 2068)
- * @SOUP_STATUS_SEE_OTHER: 303 See Other (HTTP)
- * @SOUP_STATUS_NOT_MODIFIED: 304 Not Modified (HTTP)
- * @SOUP_STATUS_USE_PROXY: 305 Use Proxy (HTTP)
- * @SOUP_STATUS_NOT_APPEARING_IN_THIS_PROTOCOL: 306 [Unused] (HTTP)
- * @SOUP_STATUS_TEMPORARY_REDIRECT: 307 Temporary Redirect (HTTP)
- * @SOUP_STATUS_BAD_REQUEST: 400 Bad Request (HTTP)
- * @SOUP_STATUS_UNAUTHORIZED: 401 Unauthorized (HTTP)
- * @SOUP_STATUS_PAYMENT_REQUIRED: 402 Payment Required (HTTP)
- * @SOUP_STATUS_FORBIDDEN: 403 Forbidden (HTTP)
- * @SOUP_STATUS_NOT_FOUND: 404 Not Found (HTTP)
- * @SOUP_STATUS_METHOD_NOT_ALLOWED: 405 Method Not Allowed (HTTP)
- * @SOUP_STATUS_NOT_ACCEPTABLE: 406 Not Acceptable (HTTP)
- * @SOUP_STATUS_PROXY_AUTHENTICATION_REQUIRED: 407 Proxy Authentication
- * Required (HTTP)
- * @SOUP_STATUS_PROXY_UNAUTHORIZED: shorter alias for
- * %SOUP_STATUS_PROXY_AUTHENTICATION_REQUIRED
- * @SOUP_STATUS_REQUEST_TIMEOUT: 408 Request Timeout (HTTP)
- * @SOUP_STATUS_CONFLICT: 409 Conflict (HTTP)
- * @SOUP_STATUS_GONE: 410 Gone (HTTP)
- * @SOUP_STATUS_LENGTH_REQUIRED: 411 Length Required (HTTP)
- * @SOUP_STATUS_PRECONDITION_FAILED: 412 Precondition Failed (HTTP)
- * @SOUP_STATUS_REQUEST_ENTITY_TOO_LARGE: 413 Request Entity Too Large
- * (HTTP)
- * @SOUP_STATUS_REQUEST_URI_TOO_LONG: 414 Request-URI Too Long (HTTP)
- * @SOUP_STATUS_UNSUPPORTED_MEDIA_TYPE: 415 Unsupported Media Type
- * (HTTP)
- * @SOUP_STATUS_REQUESTED_RANGE_NOT_SATISFIABLE: 416 Requested Range
- * Not Satisfiable (HTTP)
- * @SOUP_STATUS_INVALID_RANGE: shorter alias for
- * %SOUP_STATUS_REQUESTED_RANGE_NOT_SATISFIABLE
- * @SOUP_STATUS_EXPECTATION_FAILED: 417 Expectation Failed (HTTP)
- * @SOUP_STATUS_UNPROCESSABLE_ENTITY: 422 Unprocessable Entity
- * (WebDAV)
- * @SOUP_STATUS_LOCKED: 423 Locked (WebDAV)
- * @SOUP_STATUS_FAILED_DEPENDENCY: 424 Failed Dependency (WebDAV)
- * @SOUP_STATUS_INTERNAL_SERVER_ERROR: 500 Internal Server Error
- * (HTTP)
- * @SOUP_STATUS_NOT_IMPLEMENTED: 501 Not Implemented (HTTP)
- * @SOUP_STATUS_BAD_GATEWAY: 502 Bad Gateway (HTTP)
- * @SOUP_STATUS_SERVICE_UNAVAILABLE: 503 Service Unavailable (HTTP)
- * @SOUP_STATUS_GATEWAY_TIMEOUT: 504 Gateway Timeout (HTTP)
- * @SOUP_STATUS_HTTP_VERSION_NOT_SUPPORTED: 505 HTTP Version Not
- * Supported (HTTP)
- * @SOUP_STATUS_INSUFFICIENT_STORAGE: 507 Insufficient Storage
- * (WebDAV)
- * @SOUP_STATUS_NOT_EXTENDED: 510 Not Extended (RFC 2774)
- *
- * These represent the known HTTP status code values, plus various
- * network and internal errors.
- **/
typedef enum {
SOUP_STATUS_NONE,
diff --git a/libsoup/soup-uri.c b/libsoup/soup-uri.c
index 3856b48b..a0f8b5ff 100644
--- a/libsoup/soup-uri.c
+++ b/libsoup/soup-uri.c
@@ -12,6 +12,18 @@
#include "soup-uri.h"
#include "soup-misc.h"
+/**
+ * SECTION:soup-uri
+ * @short_description: URIs
+ *
+ * A #SoupURI represents a (parsed) URI.
+ *
+ * Many applications will not need to use #SoupURI directly at all; on
+ * the client side, soup_message_new() takes a stringified URI, and on
+ * the server side, the path and query components are provided for you
+ * in the server callback.
+ **/
+
static void append_uri_encoded (GString *str, const char *in, const char *extra_enc_chars);
static const char *http_scheme, *https_scheme;
diff --git a/libsoup/soup-value-utils.c b/libsoup/soup-value-utils.c
index 03d9b75d..af214f33 100644
--- a/libsoup/soup-value-utils.c
+++ b/libsoup/soup-value-utils.c
@@ -9,6 +9,34 @@
#include <string.h>
+/**
+ * SECTION:soup-value-utils
+ * @short_description: #GValue utilities
+ *
+ **/
+
+/**
+ * SOUP_VALUE_SETV:
+ * @val: a #GValue
+ * @type: a #GType
+ * @args: #va_list pointing to a value of type @type
+ *
+ * Copies an argument of type @type from @args into @val. @val will
+ * point directly to the value in @args rather than copying it, so you
+ * must g_value_copy() it if you want it to remain valid.
+ **/
+
+/**
+ * SOUP_VALUE_GETV:
+ * @val: a #GValue
+ * @type: a #GType
+ * @args: #va_list pointing to a value of type pointer-to-@type
+ *
+ * Extracts a value of type @type from @val into @args. The return
+ * value will point to the same data as @val rather than being a copy
+ * of it.
+ **/
+
static void
soup_value_hash_value_free (gpointer val)
{
diff --git a/libsoup/soup-value-utils.h b/libsoup/soup-value-utils.h
index 127b7d80..19f7ccec 100644
--- a/libsoup/soup-value-utils.h
+++ b/libsoup/soup-value-utils.h
@@ -11,16 +11,6 @@
G_BEGIN_DECLS
-/**
- * SOUP_VALUE_SETV:
- * @val: a #GValue
- * @type: a #GType
- * @args: #va_list pointing to a value of type @type
- *
- * Copies an argument of type @type from @args into @val. @val will
- * point directly to the value in @args rather than copying it, so you
- * must g_value_copy() it if you want it to remain valid.
- **/
#define SOUP_VALUE_SETV(val, type, args) \
G_STMT_START { \
char *error = NULL; \
@@ -32,16 +22,6 @@ G_STMT_START { \
g_free (error); \
} G_STMT_END
-/**
- * SOUP_VALUE_GETV:
- * @val: a #GValue
- * @type: a #GType
- * @args: #va_list pointing to a value of type pointer-to-@type
- *
- * Extracts a value of type @type from @val into @args. The return
- * value will point to the same data as @val rather than being a copy
- * of it.
- **/
#define SOUP_VALUE_GETV(val, type, args) \
G_STMT_START { \
char *error = NULL; \
diff --git a/libsoup/soup-xmlrpc.c b/libsoup/soup-xmlrpc.c
index 66f614bc..9ebfe83a 100644
--- a/libsoup/soup-xmlrpc.c
+++ b/libsoup/soup-xmlrpc.c
@@ -21,6 +21,12 @@
#include "soup-misc.h"
#include "soup-session.h"
+/**
+ * SECTION:soup-xmlrpc
+ * @short_description: XML-RPC support
+ *
+ **/
+
static xmlNode *find_real_node (xmlNode *node);
static gboolean insert_value (xmlNode *parent, GValue *value);