~ubuntu-branches/ubuntu/jaunty/libsoup2.4/jaunty-proposed

« back to all changes in this revision

Viewing changes to docs/reference/html/SoupServer.html

  • Committer: Bazaar Package Importer
  • Author(s): Sebastien Bacher
  • Date: 2008-12-17 14:51:11 UTC
  • mfrom: (1.1.12 upstream)
  • Revision ID: james.westby@ubuntu.com-20081217145111-sqbz10l57fmrh4vz
Tags: 2.25.4-0ubuntu1
* New upstream version
* debian/control.in:
  - build-depends on libgconf2-dev, libproxy-dev
* Updated to list the new libsoup-gnome binaries
* debian/rules:
  - updated shlibs version and list the new library

Show diffs side-by-side

added added

removed removed

Lines of Context:
5
5
<title>SoupServer</title>
6
6
<meta name="generator" content="DocBook XSL Stylesheets V1.74.0">
7
7
<link rel="home" href="index.html" title="libsoup Reference Manual">
8
 
<link rel="up" href="ch02.html" title="API Reference">
9
 
<link rel="prev" href="libsoup-24-soup-method.html" title="soup-method">
 
8
<link rel="up" href="ch02.html" title="Core API">
 
9
<link rel="prev" href="SoupProxyResolver.html" title="SoupProxyResolver">
10
10
<link rel="next" href="SoupSession.html" title="SoupSession">
11
 
<meta name="generator" content="GTK-Doc V1.10 (XML mode)">
 
11
<meta name="generator" content="GTK-Doc V1.11 (XML mode)">
12
12
<link rel="stylesheet" href="style.css" type="text/css">
13
13
<link rel="chapter" href="ch01.html" title="Tutorial">
14
 
<link rel="chapter" href="ch02.html" title="API Reference">
 
14
<link rel="chapter" href="ch02.html" title="Core API">
 
15
<link rel="chapter" href="ch03.html" title="Web Services APIs">
 
16
<link rel="chapter" href="ch04.html" title="GNOME integration">
 
17
<link rel="chapter" href="ch05.html" title="Low-level Networking API">
15
18
<link rel="index" href="ix01.html" title="Index">
16
19
</head>
17
20
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
18
21
<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2">
19
22
<tr valign="middle">
20
 
<td><a accesskey="p" href="libsoup-24-soup-method.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td>
 
23
<td><a accesskey="p" href="SoupProxyResolver.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td>
21
24
<td><a accesskey="u" href="ch02.html"><img src="up.png" width="24" height="24" border="0" alt="Up"></a></td>
22
25
<td><a accesskey="h" href="index.html"><img src="home.png" width="24" height="24" border="0" alt="Home"></a></td>
23
26
<th width="100%" align="center">libsoup Reference Manual</th>
24
27
<td><a accesskey="n" href="SoupSession.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td>
25
28
</tr>
26
 
<tr><td colspan="5" class="shortcuts"><nobr><a href="#SoupServer.synopsis" class="shortcut">Top</a>
27
 
                   | 
28
 
                  <a href="#SoupServer.description" class="shortcut">Description</a>
29
 
                   | 
30
 
                  <a href="#SoupServer.object-hierarchy" class="shortcut">Object Hierarchy</a>
31
 
                   | 
32
 
                  <a href="#SoupServer.properties" class="shortcut">Properties</a>
33
 
                   | 
34
 
                  <a href="#SoupServer.signals" class="shortcut">Signals</a></nobr></td></tr>
 
29
<tr><td colspan="5" class="shortcuts">
 
30
<a href="#SoupServer.synopsis" class="shortcut">Top</a>
 
31
                 | 
 
32
                <a href="#SoupServer.description" class="shortcut">Description</a>
 
33
                 | 
 
34
                <a href="#SoupServer.object-hierarchy" class="shortcut">Object Hierarchy</a>
 
35
                 | 
 
36
                <a href="#SoupServer.properties" class="shortcut">Properties</a>
 
37
                 | 
 
38
                <a href="#SoupServer.signals" class="shortcut">Signals</a>
 
39
</td></tr>
35
40
</table>
36
41
<div class="refentry" lang="en">
37
42
<a name="SoupServer"></a><div class="titlepage"></div>
46
51
<a name="SoupServer.synopsis"></a><h2>Synopsis</h2>
47
52
<pre class="synopsis">
48
53
struct              <a class="link" href="SoupServer.html#SoupServer-struct" title="struct SoupServer">SoupServer</a>;
49
 
<a class="link" href="SoupServer.html" title="SoupServer">SoupServer</a>*         <a class="link" href="SoupServer.html#soup-server-new" title="soup_server_new ()">soup_server_new</a>                     (const char *optname1,
 
54
<a class="link" href="SoupServer.html" title="SoupServer">SoupServer</a> *        <a class="link" href="SoupServer.html#soup-server-new" title="soup_server_new ()">soup_server_new</a>                     (const char *optname1,
50
55
                                                         ...);
51
56
<a
52
57
href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gboolean"
54
59
<a
55
60
href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#guint"
56
61
>guint</a>               <a class="link" href="SoupServer.html#soup-server-get-port" title="soup_server_get_port ()">soup_server_get_port</a>                (<a class="link" href="SoupServer.html" title="SoupServer">SoupServer</a> *server);
57
 
<a class="link" href="SoupSocket.html" title="SoupSocket">SoupSocket</a>*         <a class="link" href="SoupServer.html#soup-server-get-listener" title="soup_server_get_listener ()">soup_server_get_listener</a>            (<a class="link" href="SoupServer.html" title="SoupServer">SoupServer</a> *server);
 
62
<a class="link" href="SoupSocket.html" title="SoupSocket">SoupSocket</a> *        <a class="link" href="SoupServer.html#soup-server-get-listener" title="soup_server_get_listener ()">soup_server_get_listener</a>            (<a class="link" href="SoupServer.html" title="SoupServer">SoupServer</a> *server);
58
63
void                <a class="link" href="SoupServer.html#soup-server-run" title="soup_server_run ()">soup_server_run</a>                     (<a class="link" href="SoupServer.html" title="SoupServer">SoupServer</a> *server);
59
64
void                <a class="link" href="SoupServer.html#soup-server-run-async" title="soup_server_run_async ()">soup_server_run_async</a>               (<a class="link" href="SoupServer.html" title="SoupServer">SoupServer</a> *server);
60
65
void                <a class="link" href="SoupServer.html#soup-server-quit" title="soup_server_quit ()">soup_server_quit</a>                    (<a class="link" href="SoupServer.html" title="SoupServer">SoupServer</a> *server);
61
66
<a
62
67
href="/usr/share/gtk-doc/html/glib/glib-The-Main-Event-Loop.html#GMainContext"
63
 
>GMainContext</a>*       <a class="link" href="SoupServer.html#soup-server-get-async-context" title="soup_server_get_async_context ()">soup_server_get_async_context</a>       (<a class="link" href="SoupServer.html" title="SoupServer">SoupServer</a> *server);
 
68
>GMainContext</a> *      <a class="link" href="SoupServer.html#soup-server-get-async-context" title="soup_server_get_async_context ()">soup_server_get_async_context</a>       (<a class="link" href="SoupServer.html" title="SoupServer">SoupServer</a> *server);
64
69
 
65
70
void                (<a class="link" href="SoupServer.html#SoupServerCallback" title="SoupServerCallback ()">*SoupServerCallback</a>)               (<a class="link" href="SoupServer.html" title="SoupServer">SoupServer</a> *server,
66
71
                                                         <a class="link" href="SoupMessage.html" title="SoupMessage">SoupMessage</a> *msg,
85
90
                                                         const char *path);
86
91
 
87
92
typedef             <a class="link" href="SoupServer.html#SoupClientContext" title="SoupClientContext">SoupClientContext</a>;
88
 
<a class="link" href="SoupSocket.html" title="SoupSocket">SoupSocket</a>*         <a class="link" href="SoupServer.html#soup-client-context-get-socket" title="soup_client_context_get_socket ()">soup_client_context_get_socket</a>      (<a class="link" href="SoupServer.html#SoupClientContext" title="SoupClientContext">SoupClientContext</a> *client);
89
 
<a class="link" href="SoupAddress.html" title="SoupAddress">SoupAddress</a>*        <a class="link" href="SoupServer.html#soup-client-context-get-address" title="soup_client_context_get_address ()">soup_client_context_get_address</a>     (<a class="link" href="SoupServer.html#SoupClientContext" title="SoupClientContext">SoupClientContext</a> *client);
90
 
const char*         <a class="link" href="SoupServer.html#soup-client-context-get-host" title="soup_client_context_get_host ()">soup_client_context_get_host</a>        (<a class="link" href="SoupServer.html#SoupClientContext" title="SoupClientContext">SoupClientContext</a> *client);
91
 
<a class="link" href="SoupAuthDomain.html" title="SoupAuthDomain">SoupAuthDomain</a>*     <a class="link" href="SoupServer.html#soup-client-context-get-auth-domain" title="soup_client_context_get_auth_domain ()">soup_client_context_get_auth_domain</a> (<a class="link" href="SoupServer.html#SoupClientContext" title="SoupClientContext">SoupClientContext</a> *client);
92
 
const char*         <a class="link" href="SoupServer.html#soup-client-context-get-auth-user" title="soup_client_context_get_auth_user ()">soup_client_context_get_auth_user</a>   (<a class="link" href="SoupServer.html#SoupClientContext" title="SoupClientContext">SoupClientContext</a> *client);
 
93
<a class="link" href="SoupSocket.html" title="SoupSocket">SoupSocket</a> *        <a class="link" href="SoupServer.html#soup-client-context-get-socket" title="soup_client_context_get_socket ()">soup_client_context_get_socket</a>      (<a class="link" href="SoupServer.html#SoupClientContext" title="SoupClientContext">SoupClientContext</a> *client);
 
94
<a class="link" href="SoupAddress.html" title="SoupAddress">SoupAddress</a> *       <a class="link" href="SoupServer.html#soup-client-context-get-address" title="soup_client_context_get_address ()">soup_client_context_get_address</a>     (<a class="link" href="SoupServer.html#SoupClientContext" title="SoupClientContext">SoupClientContext</a> *client);
 
95
const char *        <a class="link" href="SoupServer.html#soup-client-context-get-host" title="soup_client_context_get_host ()">soup_client_context_get_host</a>        (<a class="link" href="SoupServer.html#SoupClientContext" title="SoupClientContext">SoupClientContext</a> *client);
 
96
<a class="link" href="SoupAuthDomain.html" title="SoupAuthDomain">SoupAuthDomain</a> *    <a class="link" href="SoupServer.html#soup-client-context-get-auth-domain" title="soup_client_context_get_auth_domain ()">soup_client_context_get_auth_domain</a> (<a class="link" href="SoupServer.html#SoupClientContext" title="SoupClientContext">SoupClientContext</a> *client);
 
97
const char *        <a class="link" href="SoupServer.html#soup-client-context-get-auth-user" title="soup_client_context_get_auth_user ()">soup_client_context_get_auth_user</a>   (<a class="link" href="SoupServer.html#SoupClientContext" title="SoupClientContext">SoupClientContext</a> *client);
93
98
 
94
99
void                <a class="link" href="SoupServer.html#soup-server-add-auth-domain" title="soup_server_add_auth_domain ()">soup_server_add_auth_domain</a>         (<a class="link" href="SoupServer.html" title="SoupServer">SoupServer</a> *server,
95
100
                                                         <a class="link" href="SoupAuthDomain.html" title="SoupAuthDomain">SoupAuthDomain</a> *auth_domain);
101
106
void                <a class="link" href="SoupServer.html#soup-server-unpause-message" title="soup_server_unpause_message ()">soup_server_unpause_message</a>         (<a class="link" href="SoupServer.html" title="SoupServer">SoupServer</a> *server,
102
107
                                                         <a class="link" href="SoupMessage.html" title="SoupMessage">SoupMessage</a> *msg);
103
108
 
104
 
#define             <a class="link" href="SoupServer.html#SOUP-SERVER-PORT:CAPS" title="SOUP_SERVER_PORT">SOUP_SERVER_PORT</a>
105
 
#define             <a class="link" href="SoupServer.html#SOUP-SERVER-INTERFACE:CAPS" title="SOUP_SERVER_INTERFACE">SOUP_SERVER_INTERFACE</a>
106
 
#define             <a class="link" href="SoupServer.html#SOUP-SERVER-SSL-CERT-FILE:CAPS" title="SOUP_SERVER_SSL_CERT_FILE">SOUP_SERVER_SSL_CERT_FILE</a>
107
 
#define             <a class="link" href="SoupServer.html#SOUP-SERVER-SSL-KEY-FILE:CAPS" title="SOUP_SERVER_SSL_KEY_FILE">SOUP_SERVER_SSL_KEY_FILE</a>
108
 
#define             <a class="link" href="SoupServer.html#SOUP-SERVER-ASYNC-CONTEXT:CAPS" title="SOUP_SERVER_ASYNC_CONTEXT">SOUP_SERVER_ASYNC_CONTEXT</a>
109
 
#define             <a class="link" href="SoupServer.html#SOUP-SERVER-RAW-PATHS:CAPS" title="SOUP_SERVER_RAW_PATHS">SOUP_SERVER_RAW_PATHS</a>
110
 
#define             <a class="link" href="SoupServer.html#SOUP-SERVER-SERVER-HEADER:CAPS" title="SOUP_SERVER_SERVER_HEADER">SOUP_SERVER_SERVER_HEADER</a>
 
109
#define             <a class="link" href="SoupServer.html#SOUP-SERVER-PORT--CAPS" title="SOUP_SERVER_PORT">SOUP_SERVER_PORT</a>
 
110
#define             <a class="link" href="SoupServer.html#SOUP-SERVER-INTERFACE--CAPS" title="SOUP_SERVER_INTERFACE">SOUP_SERVER_INTERFACE</a>
 
111
#define             <a class="link" href="SoupServer.html#SOUP-SERVER-SSL-CERT-FILE--CAPS" title="SOUP_SERVER_SSL_CERT_FILE">SOUP_SERVER_SSL_CERT_FILE</a>
 
112
#define             <a class="link" href="SoupServer.html#SOUP-SERVER-SSL-KEY-FILE--CAPS" title="SOUP_SERVER_SSL_KEY_FILE">SOUP_SERVER_SSL_KEY_FILE</a>
 
113
#define             <a class="link" href="SoupServer.html#SOUP-SERVER-ASYNC-CONTEXT--CAPS" title="SOUP_SERVER_ASYNC_CONTEXT">SOUP_SERVER_ASYNC_CONTEXT</a>
 
114
#define             <a class="link" href="SoupServer.html#SOUP-SERVER-RAW-PATHS--CAPS" title="SOUP_SERVER_RAW_PATHS">SOUP_SERVER_RAW_PATHS</a>
 
115
#define             <a class="link" href="SoupServer.html#SOUP-SERVER-SERVER-HEADER--CAPS" title="SOUP_SERVER_SERVER_HEADER">SOUP_SERVER_SERVER_HEADER</a>
111
116
</pre>
112
117
</div>
113
118
<div class="refsect1" lang="en">
163
168
called to process any requests underneath the path passed to
164
169
<a class="link" href="SoupServer.html#soup-server-add-handler" title="soup_server_add_handler ()"><code class="function">soup_server_add_handler()</code></a>. (If you want all requests to go to the
165
170
same handler, just pass "/" (or <a
166
 
href="/usr/share/gtk-doc/html/glib/glib-Standard-Macros.html#NULL:CAPS"
 
171
href="/usr/share/gtk-doc/html/glib/glib-Standard-Macros.html#NULL--CAPS"
167
172
><code class="literal">NULL</code></a>) for the path.) Any request
168
173
that does not match any handler will automatically be returned to
169
174
the client with a 404 (Not Found) status.
188
193
create a <a
189
194
href="/usr/share/gtk-doc/html/glib/glib-The-Main-Event-Loop.html#GMainContext"
190
195
><span class="type">GMainContext</span></a> for it to use, and set that via the
191
 
<a class="link" href="SoupServer.html#SOUP-SERVER-ASYNC-CONTEXT:CAPS" title="SOUP_SERVER_ASYNC_CONTEXT"><span class="type">SOUP_SERVER_ASYNC_CONTEXT</span></a> property.</p>
 
196
<a class="link" href="SoupServer.html#SOUP-SERVER-ASYNC-CONTEXT--CAPS" title="SOUP_SERVER_ASYNC_CONTEXT"><span class="type">SOUP_SERVER_ASYNC_CONTEXT</span></a> property.</p>
192
197
<p>
193
 
 
194
198
</p>
195
199
</div>
196
200
<div class="refsect1" lang="en">
199
203
<a name="SoupServer-struct"></a><h3>struct SoupServer</h3>
200
204
<pre class="programlisting">struct SoupServer;</pre>
201
205
<p>
202
 
 
203
206
</p>
204
207
</div>
205
208
<hr>
206
209
<div class="refsect2" lang="en">
207
210
<a name="soup-server-new"></a><h3>soup_server_new ()</h3>
208
 
<pre class="programlisting"><a class="link" href="SoupServer.html" title="SoupServer">SoupServer</a>*         soup_server_new                     (const char *optname1,
 
211
<pre class="programlisting"><a class="link" href="SoupServer.html" title="SoupServer">SoupServer</a> *        soup_server_new                     (const char *optname1,
209
212
                                                         ...);</pre>
210
213
<p>
211
214
Creates a new <a class="link" href="SoupServer.html" title="SoupServer"><span class="type">SoupServer</span></a>.</p>
212
215
<p>
213
 
 
214
216
</p>
215
217
<div class="variablelist"><table border="0">
216
218
<col align="left" valign="top">
244
246
</p>
245
247
<p>
246
248
In order for a server to run https, you must set the
247
 
<a class="link" href="SoupServer.html#SOUP-SERVER-SSL-CERT-FILE:CAPS" title="SOUP_SERVER_SSL_CERT_FILE"><code class="literal">SOUP_SERVER_SSL_CERT_FILE</code></a> and <a class="link" href="SoupServer.html#SOUP-SERVER-SSL-KEY-FILE:CAPS" title="SOUP_SERVER_SSL_KEY_FILE"><code class="literal">SOUP_SERVER_SSL_KEY_FILE</code></a> properties
 
249
<a class="link" href="SoupServer.html#SOUP-SERVER-SSL-CERT-FILE--CAPS" title="SOUP_SERVER_SSL_CERT_FILE"><code class="literal">SOUP_SERVER_SSL_CERT_FILE</code></a> and <a class="link" href="SoupServer.html#SOUP-SERVER-SSL-KEY-FILE--CAPS" title="SOUP_SERVER_SSL_KEY_FILE"><code class="literal">SOUP_SERVER_SSL_KEY_FILE</code></a> properties
248
250
to provide it with an SSL certificate to use.</p>
249
251
<p>
250
 
 
251
252
</p>
252
253
<div class="variablelist"><table border="0">
253
254
<col align="left" valign="top">
260
261
<tr>
261
262
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
262
263
<td> <a
263
 
href="/usr/share/gtk-doc/html/glib/glib-Standard-Macros.html#TRUE:CAPS"
 
264
href="/usr/share/gtk-doc/html/glib/glib-Standard-Macros.html#TRUE--CAPS"
264
265
><code class="literal">TRUE</code></a> if <em class="parameter"><code>server</code></em> is serving https.
265
266
</td>
266
267
</tr>
276
277
<p>
277
278
Gets the TCP port that <em class="parameter"><code>server</code></em> is listening on. This is most useful
278
279
when you did not request a specific port (or explicitly requested
279
 
<a class="link" href="SoupAddress.html#SOUP-ADDRESS-ANY-PORT:CAPS" title="SOUP_ADDRESS_ANY_PORT"><code class="literal">SOUP_ADDRESS_ANY_PORT</code></a>).</p>
 
280
<a class="link" href="SoupAddress.html#SOUP-ADDRESS-ANY-PORT--CAPS" title="SOUP_ADDRESS_ANY_PORT"><code class="literal">SOUP_ADDRESS_ANY_PORT</code></a>).</p>
280
281
<p>
281
 
 
282
282
</p>
283
283
<div class="variablelist"><table border="0">
284
284
<col align="left" valign="top">
299
299
<hr>
300
300
<div class="refsect2" lang="en">
301
301
<a name="soup-server-get-listener"></a><h3>soup_server_get_listener ()</h3>
302
 
<pre class="programlisting"><a class="link" href="SoupSocket.html" title="SoupSocket">SoupSocket</a>*         soup_server_get_listener            (<a class="link" href="SoupServer.html" title="SoupServer">SoupServer</a> *server);</pre>
 
302
<pre class="programlisting"><a class="link" href="SoupSocket.html" title="SoupSocket">SoupSocket</a> *        soup_server_get_listener            (<a class="link" href="SoupServer.html" title="SoupServer">SoupServer</a> *server);</pre>
303
303
<p>
304
304
Gets <em class="parameter"><code>server</code></em>'s listening socket. You should treat this as
305
305
read-only; writing to it or modifiying it may cause <em class="parameter"><code>server</code></em> to
306
306
malfunction.</p>
307
307
<p>
308
 
 
309
308
</p>
310
309
<div class="variablelist"><table border="0">
311
310
<col align="left" valign="top">
335
334
><span class="type">GMainLoop</span></a> and runs it, and it will not return until someone calls
336
335
<a class="link" href="SoupServer.html#soup-server-quit" title="soup_server_quit ()"><code class="function">soup_server_quit()</code></a> to stop the server.</p>
337
336
<p>
338
 
 
339
337
</p>
340
338
<div class="variablelist"><table border="0">
341
339
<col align="left" valign="top">
360
358
><span class="type">GMainContext</span></a>. It will not
361
359
actually perform any processing unless the appropriate main loop is
362
360
running. In the simple case where you did not set the server's
363
 
<a class="link" href="SoupServer.html#SOUP-SERVER-ASYNC-CONTEXT:CAPS" title="SOUP_SERVER_ASYNC_CONTEXT"><code class="literal">SOUP_SERVER_ASYNC_CONTEXT</code></a> property, this means the server will run
 
361
<a class="link" href="SoupServer.html#SOUP-SERVER-ASYNC-CONTEXT--CAPS" title="SOUP_SERVER_ASYNC_CONTEXT"><code class="literal">SOUP_SERVER_ASYNC_CONTEXT</code></a> property, this means the server will run
364
362
whenever the glib main loop is running.</p>
365
363
<p>
366
 
 
367
364
</p>
368
365
<div class="variablelist"><table border="0">
369
366
<col align="left" valign="top">
386
383
<em class="parameter"><code>server</code></em> is still in a working state after this call; you can start
387
384
and stop a server as many times as you want.</p>
388
385
<p>
389
 
 
390
386
</p>
391
387
<div class="variablelist"><table border="0">
392
388
<col align="left" valign="top">
402
398
<a name="soup-server-get-async-context"></a><h3>soup_server_get_async_context ()</h3>
403
399
<pre class="programlisting"><a
404
400
href="/usr/share/gtk-doc/html/glib/glib-The-Main-Event-Loop.html#GMainContext"
405
 
>GMainContext</a>*       soup_server_get_async_context       (<a class="link" href="SoupServer.html" title="SoupServer">SoupServer</a> *server);</pre>
 
401
>GMainContext</a> *      soup_server_get_async_context       (<a class="link" href="SoupServer.html" title="SoupServer">SoupServer</a> *server);</pre>
406
402
<p>
407
403
Gets <em class="parameter"><code>server</code></em>'s async_context. This does not add a ref to the
408
404
context, so you will need to ref it yourself if you want it to
409
405
outlive its server.</p>
410
406
<p>
411
 
 
412
407
</p>
413
408
<div class="variablelist"><table border="0">
414
409
<col align="left" valign="top">
423
418
<td> <em class="parameter"><code>server</code></em>'s <a
424
419
href="/usr/share/gtk-doc/html/glib/glib-The-Main-Event-Loop.html#GMainContext"
425
420
><span class="type">GMainContext</span></a>, which may be <a
426
 
href="/usr/share/gtk-doc/html/glib/glib-Standard-Macros.html#NULL:CAPS"
 
421
href="/usr/share/gtk-doc/html/glib/glib-Standard-Macros.html#NULL--CAPS"
427
422
><code class="literal">NULL</code></a>
428
423
</td>
429
424
</tr>
455
450
"/foo%2Fbar" is treated the same as "/foo/bar". If your
456
451
server is serving resources in some non-POSIX-filesystem namespace,
457
452
you may want to distinguish those as two distinct paths. In that
458
 
case, you can set the <a class="link" href="SoupServer.html#SOUP-SERVER-RAW-PATHS:CAPS" title="SOUP_SERVER_RAW_PATHS"><code class="literal">SOUP_SERVER_RAW_PATHS</code></a> property when creating
 
453
case, you can set the <a class="link" href="SoupServer.html#SOUP-SERVER-RAW-PATHS--CAPS" title="SOUP_SERVER_RAW_PATHS"><code class="literal">SOUP_SERVER_RAW_PATHS</code></a> property when creating
459
454
the <a class="link" href="SoupServer.html" title="SoupServer"><span class="type">SoupServer</span></a>, and it will leave those characters undecoded. (You
460
455
may want to call <a class="link" href="libsoup-24-SoupURI.html#soup-uri-normalize" title="soup_uri_normalize ()"><code class="function">soup_uri_normalize()</code></a> to decode any percent-encoded
461
456
characters that you aren't handling specially.)
487
482
<p>
488
483
To send the response body a bit at a time using "chunked" encoding,
489
484
first call <a class="link" href="libsoup-24-SoupMessageHeaders.html#soup-message-headers-set-encoding" title="soup_message_headers_set_encoding ()"><code class="function">soup_message_headers_set_encoding()</code></a> to set
490
 
<a class="link" href="libsoup-24-SoupMessageHeaders.html#SOUP-ENCODING-CHUNKED:CAPS"><code class="literal">SOUP_ENCODING_CHUNKED</code></a> on the <code class="literal">response_headers</code>. Then call
 
485
<a class="link" href="libsoup-24-SoupMessageHeaders.html#SOUP-ENCODING-CHUNKED--CAPS"><code class="literal">SOUP_ENCODING_CHUNKED</code></a> on the <code class="literal">response_headers</code>. Then call
491
486
<a class="link" href="libsoup-24-SoupMessageBody.html#soup-message-body-append" title="soup_message_body_append ()"><code class="function">soup_message_body_append()</code></a> (or <a class="link" href="libsoup-24-SoupMessageBody.html#soup-message-body-append-buffer" title="soup_message_body_append_buffer ()"><code class="function">soup_message_body_append_buffer()</code></a>)
492
487
to append each chunk as it becomes ready, and
493
488
<a class="link" href="SoupServer.html#soup-server-unpause-message" title="soup_server_unpause_message ()"><code class="function">soup_server_unpause_message()</code></a> to make sure it's running. (The
496
491
<a class="link" href="libsoup-24-SoupMessageBody.html#soup-message-body-complete" title="soup_message_body_complete ()"><code class="function">soup_message_body_complete()</code></a> to indicate that no more chunks are
497
492
coming.</p>
498
493
<p>
499
 
 
500
494
</p>
501
495
<div class="variablelist"><table border="0">
502
496
<col align="left" valign="top">
551
545
documentation for <a class="link" href="SoupServer.html#SoupServerCallback" title="SoupServerCallback ()"><span class="type">SoupServerCallback</span></a> for information about
552
546
how callbacks should behave.</p>
553
547
<p>
554
 
 
555
548
</p>
556
549
<div class="variablelist"><table border="0">
557
550
<col align="left" valign="top">
592
585
<p>
593
586
Removes the handler registered at <em class="parameter"><code>path</code></em>.</p>
594
587
<p>
595
 
 
596
588
</p>
597
589
<div class="variablelist"><table border="0">
598
590
<col align="left" valign="top">
629
621
also be of use in some situations (eg, tracking when multiple
630
622
requests are made on the same connection).</p>
631
623
<p>
632
 
 
633
624
</p>
634
625
</div>
635
626
<hr>
636
627
<div class="refsect2" lang="en">
637
628
<a name="soup-client-context-get-socket"></a><h3>soup_client_context_get_socket ()</h3>
638
 
<pre class="programlisting"><a class="link" href="SoupSocket.html" title="SoupSocket">SoupSocket</a>*         soup_client_context_get_socket      (<a class="link" href="SoupServer.html#SoupClientContext" title="SoupClientContext">SoupClientContext</a> *client);</pre>
 
629
<pre class="programlisting"><a class="link" href="SoupSocket.html" title="SoupSocket">SoupSocket</a> *        soup_client_context_get_socket      (<a class="link" href="SoupServer.html#SoupClientContext" title="SoupClientContext">SoupClientContext</a> *client);</pre>
639
630
<p>
640
631
Retrieves the <a class="link" href="SoupSocket.html" title="SoupSocket"><span class="type">SoupSocket</span></a> that <em class="parameter"><code>client</code></em> is associated with.
641
632
</p>
648
639
not get fooled when the allocator reuses the memory address of a
649
640
previously-destroyed socket to represent a new socket.</p>
650
641
<p>
651
 
 
652
642
</p>
653
643
<div class="variablelist"><table border="0">
654
644
<col align="left" valign="top">
669
659
<hr>
670
660
<div class="refsect2" lang="en">
671
661
<a name="soup-client-context-get-address"></a><h3>soup_client_context_get_address ()</h3>
672
 
<pre class="programlisting"><a class="link" href="SoupAddress.html" title="SoupAddress">SoupAddress</a>*        soup_client_context_get_address     (<a class="link" href="SoupServer.html#SoupClientContext" title="SoupClientContext">SoupClientContext</a> *client);</pre>
 
662
<pre class="programlisting"><a class="link" href="SoupAddress.html" title="SoupAddress">SoupAddress</a> *       soup_client_context_get_address     (<a class="link" href="SoupServer.html#SoupClientContext" title="SoupClientContext">SoupClientContext</a> *client);</pre>
673
663
<p>
674
664
Retrieves the <a class="link" href="SoupAddress.html" title="SoupAddress"><span class="type">SoupAddress</span></a> associated with the remote end
675
665
of a connection.</p>
676
666
<p>
677
 
 
678
667
</p>
679
668
<div class="variablelist"><table border="0">
680
669
<col align="left" valign="top">
696
685
<hr>
697
686
<div class="refsect2" lang="en">
698
687
<a name="soup-client-context-get-host"></a><h3>soup_client_context_get_host ()</h3>
699
 
<pre class="programlisting">const char*         soup_client_context_get_host        (<a class="link" href="SoupServer.html#SoupClientContext" title="SoupClientContext">SoupClientContext</a> *client);</pre>
 
688
<pre class="programlisting">const char *        soup_client_context_get_host        (<a class="link" href="SoupServer.html#SoupClientContext" title="SoupClientContext">SoupClientContext</a> *client);</pre>
700
689
<p>
701
690
Retrieves the IP address associated with the remote end of a
702
691
connection. (If you want the actual hostname, you'll have to call
703
692
<a class="link" href="SoupServer.html#soup-client-context-get-address" title="soup_client_context_get_address ()"><code class="function">soup_client_context_get_address()</code></a> and then call the appropriate
704
693
<a class="link" href="SoupAddress.html" title="SoupAddress"><span class="type">SoupAddress</span></a> method to resolve it.)</p>
705
694
<p>
706
 
 
707
695
</p>
708
696
<div class="variablelist"><table border="0">
709
697
<col align="left" valign="top">
725
713
<hr>
726
714
<div class="refsect2" lang="en">
727
715
<a name="soup-client-context-get-auth-domain"></a><h3>soup_client_context_get_auth_domain ()</h3>
728
 
<pre class="programlisting"><a class="link" href="SoupAuthDomain.html" title="SoupAuthDomain">SoupAuthDomain</a>*     soup_client_context_get_auth_domain (<a class="link" href="SoupServer.html#SoupClientContext" title="SoupClientContext">SoupClientContext</a> *client);</pre>
 
716
<pre class="programlisting"><a class="link" href="SoupAuthDomain.html" title="SoupAuthDomain">SoupAuthDomain</a> *    soup_client_context_get_auth_domain (<a class="link" href="SoupServer.html#SoupClientContext" title="SoupClientContext">SoupClientContext</a> *client);</pre>
729
717
<p>
730
718
Checks whether the request associated with <em class="parameter"><code>client</code></em> has been
731
719
authenticated, and if so returns the <a class="link" href="SoupAuthDomain.html" title="SoupAuthDomain"><span class="type">SoupAuthDomain</span></a> that
732
720
authenticated it.</p>
733
721
<p>
734
 
 
735
722
</p>
736
723
<div class="variablelist"><table border="0">
737
724
<col align="left" valign="top">
744
731
<tr>
745
732
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
746
733
<td> a <a class="link" href="SoupAuthDomain.html" title="SoupAuthDomain"><span class="type">SoupAuthDomain</span></a>, or <a
747
 
href="/usr/share/gtk-doc/html/glib/glib-Standard-Macros.html#NULL:CAPS"
 
734
href="/usr/share/gtk-doc/html/glib/glib-Standard-Macros.html#NULL--CAPS"
748
735
><code class="literal">NULL</code></a> if the request was not
749
736
authenticated.
750
737
</td>
755
742
<hr>
756
743
<div class="refsect2" lang="en">
757
744
<a name="soup-client-context-get-auth-user"></a><h3>soup_client_context_get_auth_user ()</h3>
758
 
<pre class="programlisting">const char*         soup_client_context_get_auth_user   (<a class="link" href="SoupServer.html#SoupClientContext" title="SoupClientContext">SoupClientContext</a> *client);</pre>
 
745
<pre class="programlisting">const char *        soup_client_context_get_auth_user   (<a class="link" href="SoupServer.html#SoupClientContext" title="SoupClientContext">SoupClientContext</a> *client);</pre>
759
746
<p>
760
747
Checks whether the request associated with <em class="parameter"><code>client</code></em> has been
761
748
authenticated, and if so returns the username that the client
762
749
authenticated as.</p>
763
750
<p>
764
 
 
765
751
</p>
766
752
<div class="variablelist"><table border="0">
767
753
<col align="left" valign="top">
774
760
<tr>
775
761
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
776
762
<td> the authenticated-as user, or <a
777
 
href="/usr/share/gtk-doc/html/glib/glib-Standard-Macros.html#NULL:CAPS"
 
763
href="/usr/share/gtk-doc/html/glib/glib-Standard-Macros.html#NULL--CAPS"
778
764
><code class="literal">NULL</code></a> if the request
779
765
was not authenticated.
780
766
</td>
800
786
"100-continue" Expectation, <em class="parameter"><code>server</code></em> will reject it before the
801
787
request body is sent.</p>
802
788
<p>
803
 
 
804
789
</p>
805
790
<div class="variablelist"><table border="0">
806
791
<col align="left" valign="top">
826
811
<p>
827
812
Removes <em class="parameter"><code>auth_domain</code></em> from <em class="parameter"><code>server</code></em>.</p>
828
813
<p>
829
 
 
830
814
</p>
831
815
<div class="variablelist"><table border="0">
832
816
<col align="left" valign="top">
854
838
the server handler without having the full response ready yet. Use
855
839
<a class="link" href="SoupServer.html#soup-server-unpause-message" title="soup_server_unpause_message ()"><code class="function">soup_server_unpause_message()</code></a> to resume I/O.</p>
856
840
<p>
857
 
 
858
841
</p>
859
842
<div class="variablelist"><table border="0">
860
843
<col align="left" valign="top">
885
868
<p>
886
869
I/O won't actually resume until you return to the main loop.</p>
887
870
<p>
888
 
 
889
871
</p>
890
872
<div class="variablelist"><table border="0">
891
873
<col align="left" valign="top">
905
887
</div>
906
888
<hr>
907
889
<div class="refsect2" lang="en">
908
 
<a name="SOUP-SERVER-PORT:CAPS"></a><h3>SOUP_SERVER_PORT</h3>
 
890
<a name="SOUP-SERVER-PORT--CAPS"></a><h3>SOUP_SERVER_PORT</h3>
909
891
<pre class="programlisting">#define SOUP_SERVER_PORT          "port"
910
892
</pre>
911
893
<p>
912
 
 
913
894
</p>
914
895
</div>
915
896
<hr>
916
897
<div class="refsect2" lang="en">
917
 
<a name="SOUP-SERVER-INTERFACE:CAPS"></a><h3>SOUP_SERVER_INTERFACE</h3>
 
898
<a name="SOUP-SERVER-INTERFACE--CAPS"></a><h3>SOUP_SERVER_INTERFACE</h3>
918
899
<pre class="programlisting">#define SOUP_SERVER_INTERFACE     "interface"
919
900
</pre>
920
901
<p>
921
 
 
922
902
</p>
923
903
</div>
924
904
<hr>
925
905
<div class="refsect2" lang="en">
926
 
<a name="SOUP-SERVER-SSL-CERT-FILE:CAPS"></a><h3>SOUP_SERVER_SSL_CERT_FILE</h3>
 
906
<a name="SOUP-SERVER-SSL-CERT-FILE--CAPS"></a><h3>SOUP_SERVER_SSL_CERT_FILE</h3>
927
907
<pre class="programlisting">#define SOUP_SERVER_SSL_CERT_FILE "ssl-cert-file"
928
908
</pre>
929
909
<p>
930
 
 
931
910
</p>
932
911
</div>
933
912
<hr>
934
913
<div class="refsect2" lang="en">
935
 
<a name="SOUP-SERVER-SSL-KEY-FILE:CAPS"></a><h3>SOUP_SERVER_SSL_KEY_FILE</h3>
 
914
<a name="SOUP-SERVER-SSL-KEY-FILE--CAPS"></a><h3>SOUP_SERVER_SSL_KEY_FILE</h3>
936
915
<pre class="programlisting">#define SOUP_SERVER_SSL_KEY_FILE  "ssl-key-file"
937
916
</pre>
938
917
<p>
939
 
 
940
918
</p>
941
919
</div>
942
920
<hr>
943
921
<div class="refsect2" lang="en">
944
 
<a name="SOUP-SERVER-ASYNC-CONTEXT:CAPS"></a><h3>SOUP_SERVER_ASYNC_CONTEXT</h3>
 
922
<a name="SOUP-SERVER-ASYNC-CONTEXT--CAPS"></a><h3>SOUP_SERVER_ASYNC_CONTEXT</h3>
945
923
<pre class="programlisting">#define SOUP_SERVER_ASYNC_CONTEXT "async-context"
946
924
</pre>
947
925
<p>
948
 
 
949
926
</p>
950
927
</div>
951
928
<hr>
952
929
<div class="refsect2" lang="en">
953
 
<a name="SOUP-SERVER-RAW-PATHS:CAPS"></a><h3>SOUP_SERVER_RAW_PATHS</h3>
 
930
<a name="SOUP-SERVER-RAW-PATHS--CAPS"></a><h3>SOUP_SERVER_RAW_PATHS</h3>
954
931
<pre class="programlisting">#define SOUP_SERVER_RAW_PATHS     "raw-paths"
955
932
</pre>
956
933
<p>
957
 
 
958
934
</p>
959
935
</div>
960
936
<hr>
961
937
<div class="refsect2" lang="en">
962
 
<a name="SOUP-SERVER-SERVER-HEADER:CAPS"></a><h3>SOUP_SERVER_SERVER_HEADER</h3>
 
938
<a name="SOUP-SERVER-SERVER-HEADER--CAPS"></a><h3>SOUP_SERVER_SERVER_HEADER</h3>
963
939
<pre class="programlisting">#define SOUP_SERVER_SERVER_HEADER "server-header"
964
940
</pre>
965
941
<p>
966
 
 
967
942
</p>
968
943
</div>
969
944
</div>
1009
984
>gchar</a>*                : Read / Write / Construct</pre>
1010
985
<p>
1011
986
If non-<a
1012
 
href="/usr/share/gtk-doc/html/glib/glib-Standard-Macros.html#NULL:CAPS"
 
987
href="/usr/share/gtk-doc/html/glib/glib-Standard-Macros.html#NULL--CAPS"
1013
988
><code class="literal">NULL</code></a>, the value to use for the "Server" header on
1014
989
<a class="link" href="SoupMessage.html" title="SoupMessage"><span class="type">SoupMessage</span></a>s processed by this server.
1015
990
</p>
1038
1013
"<code class="literal">libsoup/2.3.2</code>") to the end of the
1039
1014
header for you.</p>
1040
1015
<p>
1041
 
 
1042
1016
</p>
1043
1017
<p>Default value: NULL</p>
1044
1018
</div>
1085
1059
free any state that it may have allocated in
1086
1060
<a class="link" href="SoupServer.html#SoupServer-request-started" title='The "request-started" signal'><span class="type">"request_started"</span></a>.</p>
1087
1061
<p>
1088
 
 
1089
1062
</p>
1090
1063
<div class="variablelist"><table border="0">
1091
1064
<col align="left" valign="top">
1125
1098
Emitted when the server has finished writing a response to
1126
1099
a request.</p>
1127
1100
<p>
1128
 
 
1129
1101
</p>
1130
1102
<div class="variablelist"><table border="0">
1131
1103
<col align="left" valign="top">
1170
1142
sets the message's <span class="type">status_code</span>, then normal handler
1171
1143
processing will be skipped.</p>
1172
1144
<p>
1173
 
 
1174
1145
</p>
1175
1146
<div class="variablelist"><table border="0">
1176
1147
<col align="left" valign="top">
1220
1191
occurs, the processing will instead end with
1221
1192
<a class="link" href="SoupServer.html#SoupServer-request-aborted" title='The "request-aborted" signal'><span class="type">"request_aborted"</span></a>.</p>
1222
1193
<p>
1223
 
 
1224
1194
</p>
1225
1195
<div class="variablelist"><table border="0">
1226
1196
<col align="left" valign="top">
1250
1220
</div>
1251
1221
<div class="refsect1" lang="en">
1252
1222
<a name="SoupServer.see-also"></a><h2>See Also</h2>
1253
 
<a class="link" href="SoupAuthDomain.html" title="SoupAuthDomain"><span class="type">SoupAuthDomain</span></a>
 
1223
#SoupAuthDomain
1254
1224
</div>
1255
1225
</div>
1256
1226
<div class="footer">
1257
1227
<hr>
1258
 
          Generated by GTK-Doc V1.10</div>
 
1228
          Generated by GTK-Doc V1.11</div>
1259
1229
</body>
1260
1230
</html>