diff options
Diffstat (limited to 'docs/reference/html/SoupMessageHeaders.html')
-rw-r--r-- | docs/reference/html/SoupMessageHeaders.html | 1904 |
1 files changed, 0 insertions, 1904 deletions
diff --git a/docs/reference/html/SoupMessageHeaders.html b/docs/reference/html/SoupMessageHeaders.html deleted file mode 100644 index 237e4fdc..00000000 --- a/docs/reference/html/SoupMessageHeaders.html +++ /dev/null @@ -1,1904 +0,0 @@ -<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> -<html> -<head> -<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> -<title>SoupMessageHeaders: libsoup Reference Manual</title> -<meta name="generator" content="DocBook XSL Stylesheets V1.79.1"> -<link rel="home" href="index.html" title="libsoup Reference Manual"> -<link rel="up" href="ch02.html" title="Core API"> -<link rel="prev" href="SoupMessage.html" title="SoupMessage"> -<link rel="next" href="SoupMessageBody.html" title="SoupMessageBody"> -<meta name="generator" content="GTK-Doc V1.28.1 (XML mode)"> -<link rel="stylesheet" href="style.css" type="text/css"> -</head> -<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"> -<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="5"><tr valign="middle"> -<td width="100%" align="left" class="shortcuts"> -<a href="#" class="shortcut">Top</a><span id="nav_description"> <span class="dim">|</span> - <a href="#SoupMessageHeaders.description" class="shortcut">Description</a></span><span id="nav_hierarchy"> <span class="dim">|</span> - <a href="#SoupMessageHeaders.object-hierarchy" class="shortcut">Object Hierarchy</a></span> -</td> -<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td> -<td><a accesskey="u" href="ch02.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td> -<td><a accesskey="p" href="SoupMessage.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td> -<td><a accesskey="n" href="SoupMessageBody.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td> -</tr></table> -<div class="refentry"> -<a name="SoupMessageHeaders"></a><div class="titlepage"></div> -<div class="refnamediv"><table width="100%"><tr> -<td valign="top"> -<h2><span class="refentrytitle"><a name="SoupMessageHeaders.top_of_page"></a>SoupMessageHeaders</span></h2> -<p>SoupMessageHeaders — HTTP message headers</p> -</td> -<td class="gallery_image" valign="top" align="right"></td> -</tr></table></div> -<div class="refsect1"> -<a name="SoupMessageHeaders.functions"></a><h2>Functions</h2> -<div class="informaltable"><table class="informaltable" width="100%" border="0"> -<colgroup> -<col width="150px" class="functions_return"> -<col class="functions_name"> -</colgroup> -<tbody> -<tr> -<td class="function_type"> -<a class="link" href="SoupMessageHeaders.html" title="SoupMessageHeaders"><span class="returnvalue">SoupMessageHeaders</span></a> * -</td> -<td class="function_name"> -<a class="link" href="SoupMessageHeaders.html#soup-message-headers-new" title="soup_message_headers_new ()">soup_message_headers_new</a> <span class="c_punctuation">()</span> -</td> -</tr> -<tr> -<td class="function_type"> -<span class="returnvalue">void</span> -</td> -<td class="function_name"> -<a class="link" href="SoupMessageHeaders.html#soup-message-headers-free" title="soup_message_headers_free ()">soup_message_headers_free</a> <span class="c_punctuation">()</span> -</td> -</tr> -<tr> -<td class="function_type"> -<span class="returnvalue">void</span> -</td> -<td class="function_name"> -<a class="link" href="SoupMessageHeaders.html#soup-message-headers-append" title="soup_message_headers_append ()">soup_message_headers_append</a> <span class="c_punctuation">()</span> -</td> -</tr> -<tr> -<td class="function_type"> -<span class="returnvalue">void</span> -</td> -<td class="function_name"> -<a class="link" href="SoupMessageHeaders.html#soup-message-headers-replace" title="soup_message_headers_replace ()">soup_message_headers_replace</a> <span class="c_punctuation">()</span> -</td> -</tr> -<tr> -<td class="function_type"> -<span class="returnvalue">void</span> -</td> -<td class="function_name"> -<a class="link" href="SoupMessageHeaders.html#soup-message-headers-remove" title="soup_message_headers_remove ()">soup_message_headers_remove</a> <span class="c_punctuation">()</span> -</td> -</tr> -<tr> -<td class="function_type"> -<span class="returnvalue">void</span> -</td> -<td class="function_name"> -<a class="link" href="SoupMessageHeaders.html#soup-message-headers-clear" title="soup_message_headers_clear ()">soup_message_headers_clear</a> <span class="c_punctuation">()</span> -</td> -</tr> -<tr> -<td class="function_type"> -<span class="returnvalue">void</span> -</td> -<td class="function_name"> -<a class="link" href="SoupMessageHeaders.html#soup-message-headers-clean-connection-headers" title="soup_message_headers_clean_connection_headers ()">soup_message_headers_clean_connection_headers</a> <span class="c_punctuation">()</span> -</td> -</tr> -<tr> -<td class="function_type">const <span class="returnvalue">char</span> * -</td> -<td class="function_name"> -<a class="link" href="SoupMessageHeaders.html#soup-message-headers-get-one" title="soup_message_headers_get_one ()">soup_message_headers_get_one</a> <span class="c_punctuation">()</span> -</td> -</tr> -<tr> -<td class="function_type">const <span class="returnvalue">char</span> * -</td> -<td class="function_name"> -<a class="link" href="SoupMessageHeaders.html#soup-message-headers-get-list" title="soup_message_headers_get_list ()">soup_message_headers_get_list</a> <span class="c_punctuation">()</span> -</td> -</tr> -<tr> -<td class="function_type"> -<a class="link" href="SoupMessageHeaders.html#SoupMessageHeadersType" title="enum SoupMessageHeadersType"><span class="returnvalue">SoupMessageHeadersType</span></a> -</td> -<td class="function_name"> -<a class="link" href="SoupMessageHeaders.html#soup-message-headers-get-headers-type" title="soup_message_headers_get_headers_type ()">soup_message_headers_get_headers_type</a> <span class="c_punctuation">()</span> -</td> -</tr> -<tr> -<td class="function_type"> -<span class="returnvalue">gboolean</span> -</td> -<td class="function_name"> -<a class="link" href="SoupMessageHeaders.html#soup-message-headers-header-contains" title="soup_message_headers_header_contains ()">soup_message_headers_header_contains</a> <span class="c_punctuation">()</span> -</td> -</tr> -<tr> -<td class="function_type"> -<span class="returnvalue">gboolean</span> -</td> -<td class="function_name"> -<a class="link" href="SoupMessageHeaders.html#soup-message-headers-header-equals" title="soup_message_headers_header_equals ()">soup_message_headers_header_equals</a> <span class="c_punctuation">()</span> -</td> -</tr> -<tr> -<td class="function_type"> -<span class="returnvalue">void</span> -</td> -<td class="function_name"> -<span class="c_punctuation">(</span><a class="link" href="SoupMessageHeaders.html#SoupMessageHeadersForeachFunc" title="SoupMessageHeadersForeachFunc ()">*SoupMessageHeadersForeachFunc</a><span class="c_punctuation">)</span> <span class="c_punctuation">()</span> -</td> -</tr> -<tr> -<td class="function_type"> -<span class="returnvalue">void</span> -</td> -<td class="function_name"> -<a class="link" href="SoupMessageHeaders.html#soup-message-headers-foreach" title="soup_message_headers_foreach ()">soup_message_headers_foreach</a> <span class="c_punctuation">()</span> -</td> -</tr> -<tr> -<td class="function_type"> -<span class="returnvalue">void</span> -</td> -<td class="function_name"> -<a class="link" href="SoupMessageHeaders.html#soup-message-headers-iter-init" title="soup_message_headers_iter_init ()">soup_message_headers_iter_init</a> <span class="c_punctuation">()</span> -</td> -</tr> -<tr> -<td class="function_type"> -<span class="returnvalue">gboolean</span> -</td> -<td class="function_name"> -<a class="link" href="SoupMessageHeaders.html#soup-message-headers-iter-next" title="soup_message_headers_iter_next ()">soup_message_headers_iter_next</a> <span class="c_punctuation">()</span> -</td> -</tr> -<tr> -<td class="function_type"> -<a class="link" href="SoupMessageHeaders.html#SoupEncoding" title="enum SoupEncoding"><span class="returnvalue">SoupEncoding</span></a> -</td> -<td class="function_name"> -<a class="link" href="SoupMessageHeaders.html#soup-message-headers-get-encoding" title="soup_message_headers_get_encoding ()">soup_message_headers_get_encoding</a> <span class="c_punctuation">()</span> -</td> -</tr> -<tr> -<td class="function_type"> -<span class="returnvalue">void</span> -</td> -<td class="function_name"> -<a class="link" href="SoupMessageHeaders.html#soup-message-headers-set-encoding" title="soup_message_headers_set_encoding ()">soup_message_headers_set_encoding</a> <span class="c_punctuation">()</span> -</td> -</tr> -<tr> -<td class="function_type"> -<span class="returnvalue">goffset</span> -</td> -<td class="function_name"> -<a class="link" href="SoupMessageHeaders.html#soup-message-headers-get-content-length" title="soup_message_headers_get_content_length ()">soup_message_headers_get_content_length</a> <span class="c_punctuation">()</span> -</td> -</tr> -<tr> -<td class="function_type"> -<span class="returnvalue">void</span> -</td> -<td class="function_name"> -<a class="link" href="SoupMessageHeaders.html#soup-message-headers-set-content-length" title="soup_message_headers_set_content_length ()">soup_message_headers_set_content_length</a> <span class="c_punctuation">()</span> -</td> -</tr> -<tr> -<td class="function_type"> -<a class="link" href="SoupMessageHeaders.html#SoupExpectation" title="enum SoupExpectation"><span class="returnvalue">SoupExpectation</span></a> -</td> -<td class="function_name"> -<a class="link" href="SoupMessageHeaders.html#soup-message-headers-get-expectations" title="soup_message_headers_get_expectations ()">soup_message_headers_get_expectations</a> <span class="c_punctuation">()</span> -</td> -</tr> -<tr> -<td class="function_type"> -<span class="returnvalue">void</span> -</td> -<td class="function_name"> -<a class="link" href="SoupMessageHeaders.html#soup-message-headers-set-expectations" title="soup_message_headers_set_expectations ()">soup_message_headers_set_expectations</a> <span class="c_punctuation">()</span> -</td> -</tr> -<tr> -<td class="function_type">const <span class="returnvalue">char</span> * -</td> -<td class="function_name"> -<a class="link" href="SoupMessageHeaders.html#soup-message-headers-get-content-type" title="soup_message_headers_get_content_type ()">soup_message_headers_get_content_type</a> <span class="c_punctuation">()</span> -</td> -</tr> -<tr> -<td class="function_type"> -<span class="returnvalue">void</span> -</td> -<td class="function_name"> -<a class="link" href="SoupMessageHeaders.html#soup-message-headers-set-content-type" title="soup_message_headers_set_content_type ()">soup_message_headers_set_content_type</a> <span class="c_punctuation">()</span> -</td> -</tr> -<tr> -<td class="function_type"> -<span class="returnvalue">gboolean</span> -</td> -<td class="function_name"> -<a class="link" href="SoupMessageHeaders.html#soup-message-headers-get-content-disposition" title="soup_message_headers_get_content_disposition ()">soup_message_headers_get_content_disposition</a> <span class="c_punctuation">()</span> -</td> -</tr> -<tr> -<td class="function_type"> -<span class="returnvalue">void</span> -</td> -<td class="function_name"> -<a class="link" href="SoupMessageHeaders.html#soup-message-headers-set-content-disposition" title="soup_message_headers_set_content_disposition ()">soup_message_headers_set_content_disposition</a> <span class="c_punctuation">()</span> -</td> -</tr> -<tr> -<td class="function_type"> -<span class="returnvalue">gboolean</span> -</td> -<td class="function_name"> -<a class="link" href="SoupMessageHeaders.html#soup-message-headers-get-ranges" title="soup_message_headers_get_ranges ()">soup_message_headers_get_ranges</a> <span class="c_punctuation">()</span> -</td> -</tr> -<tr> -<td class="function_type"> -<span class="returnvalue">void</span> -</td> -<td class="function_name"> -<a class="link" href="SoupMessageHeaders.html#soup-message-headers-set-ranges" title="soup_message_headers_set_ranges ()">soup_message_headers_set_ranges</a> <span class="c_punctuation">()</span> -</td> -</tr> -<tr> -<td class="function_type"> -<span class="returnvalue">void</span> -</td> -<td class="function_name"> -<a class="link" href="SoupMessageHeaders.html#soup-message-headers-set-range" title="soup_message_headers_set_range ()">soup_message_headers_set_range</a> <span class="c_punctuation">()</span> -</td> -</tr> -<tr> -<td class="function_type"> -<span class="returnvalue">void</span> -</td> -<td class="function_name"> -<a class="link" href="SoupMessageHeaders.html#soup-message-headers-free-ranges" title="soup_message_headers_free_ranges ()">soup_message_headers_free_ranges</a> <span class="c_punctuation">()</span> -</td> -</tr> -<tr> -<td class="function_type"> -<span class="returnvalue">gboolean</span> -</td> -<td class="function_name"> -<a class="link" href="SoupMessageHeaders.html#soup-message-headers-get-content-range" title="soup_message_headers_get_content_range ()">soup_message_headers_get_content_range</a> <span class="c_punctuation">()</span> -</td> -</tr> -<tr> -<td class="function_type"> -<span class="returnvalue">void</span> -</td> -<td class="function_name"> -<a class="link" href="SoupMessageHeaders.html#soup-message-headers-set-content-range" title="soup_message_headers_set_content_range ()">soup_message_headers_set_content_range</a> <span class="c_punctuation">()</span> -</td> -</tr> -</tbody> -</table></div> -</div> -<div class="refsect1"> -<a name="SoupMessageHeaders.other"></a><h2>Types and Values</h2> -<div class="informaltable"><table class="informaltable" width="100%" border="0"> -<colgroup> -<col width="150px" class="name"> -<col class="description"> -</colgroup> -<tbody> -<tr> -<td class="typedef_keyword">typedef</td> -<td class="function_name"><a class="link" href="SoupMessageHeaders.html" title="SoupMessageHeaders">SoupMessageHeaders</a></td> -</tr> -<tr> -<td class="datatype_keyword">enum</td> -<td class="function_name"><a class="link" href="SoupMessageHeaders.html#SoupMessageHeadersType" title="enum SoupMessageHeadersType">SoupMessageHeadersType</a></td> -</tr> -<tr> -<td class="datatype_keyword"> </td> -<td class="function_name"><a class="link" href="SoupMessageHeaders.html#SoupMessageHeadersIter" title="SoupMessageHeadersIter">SoupMessageHeadersIter</a></td> -</tr> -<tr> -<td class="datatype_keyword">enum</td> -<td class="function_name"><a class="link" href="SoupMessageHeaders.html#SoupEncoding" title="enum SoupEncoding">SoupEncoding</a></td> -</tr> -<tr> -<td class="datatype_keyword">enum</td> -<td class="function_name"><a class="link" href="SoupMessageHeaders.html#SoupExpectation" title="enum SoupExpectation">SoupExpectation</a></td> -</tr> -<tr> -<td class="datatype_keyword"> </td> -<td class="function_name"><a class="link" href="SoupMessageHeaders.html#SoupRange" title="SoupRange">SoupRange</a></td> -</tr> -</tbody> -</table></div> -</div> -<div class="refsect1"> -<a name="SoupMessageHeaders.object-hierarchy"></a><h2>Object Hierarchy</h2> -<pre class="screen"> <a href="/home/claudio/gnome3/share/gtk-doc/html/gobject/gobject-Boxed-Types.html">GBoxed</a> - <span class="lineart">╰──</span> SoupMessageHeaders -</pre> -</div> -<div class="refsect1"> -<a name="SoupMessageHeaders.includes"></a><h2>Includes</h2> -<pre class="synopsis">#include <libsoup/soup.h> -</pre> -</div> -<div class="refsect1"> -<a name="SoupMessageHeaders.description"></a><h2>Description</h2> -<p><a class="link" href="SoupMessageHeaders.html" title="SoupMessageHeaders"><span class="type">SoupMessageHeaders</span></a> represents the HTTP message headers associated -with a request or response.</p> -</div> -<div class="refsect1"> -<a name="SoupMessageHeaders.functions_details"></a><h2>Functions</h2> -<div class="refsect2"> -<a name="soup-message-headers-new"></a><h3>soup_message_headers_new ()</h3> -<pre class="programlisting"><a class="link" href="SoupMessageHeaders.html" title="SoupMessageHeaders"><span class="returnvalue">SoupMessageHeaders</span></a> * -soup_message_headers_new (<em class="parameter"><code><a class="link" href="SoupMessageHeaders.html#SoupMessageHeadersType" title="enum SoupMessageHeadersType"><span class="type">SoupMessageHeadersType</span></a> type</code></em>);</pre> -<p>Creates a <a class="link" href="SoupMessageHeaders.html" title="SoupMessageHeaders"><span class="type">SoupMessageHeaders</span></a>. (<a class="link" href="SoupMessage.html" title="SoupMessage"><span class="type">SoupMessage</span></a> does this -automatically for its own headers. You would only need to use this -method if you are manually parsing or generating message headers.)</p> -<div class="refsect3"> -<a name="soup-message-headers-new.parameters"></a><h4>Parameters</h4> -<div class="informaltable"><table class="informaltable" width="100%" border="0"> -<colgroup> -<col width="150px" class="parameters_name"> -<col class="parameters_description"> -<col width="200px" class="parameters_annotations"> -</colgroup> -<tbody><tr> -<td class="parameter_name"><p>type</p></td> -<td class="parameter_description"><p>the type of headers</p></td> -<td class="parameter_annotations"> </td> -</tr></tbody> -</table></div> -</div> -<div class="refsect3"> -<a name="soup-message-headers-new.returns"></a><h4>Returns</h4> -<p> a new <a class="link" href="SoupMessageHeaders.html" title="SoupMessageHeaders"><span class="type">SoupMessageHeaders</span></a></p> -</div> -</div> -<hr> -<div class="refsect2"> -<a name="soup-message-headers-free"></a><h3>soup_message_headers_free ()</h3> -<pre class="programlisting"><span class="returnvalue">void</span> -soup_message_headers_free (<em class="parameter"><code><a class="link" href="SoupMessageHeaders.html" title="SoupMessageHeaders"><span class="type">SoupMessageHeaders</span></a> *hdrs</code></em>);</pre> -<p>Frees <em class="parameter"><code>hdrs</code></em> -.</p> -<div class="refsect3"> -<a name="soup-message-headers-free.parameters"></a><h4>Parameters</h4> -<div class="informaltable"><table class="informaltable" width="100%" border="0"> -<colgroup> -<col width="150px" class="parameters_name"> -<col class="parameters_description"> -<col width="200px" class="parameters_annotations"> -</colgroup> -<tbody><tr> -<td class="parameter_name"><p>hdrs</p></td> -<td class="parameter_description"><p>a <a class="link" href="SoupMessageHeaders.html" title="SoupMessageHeaders"><span class="type">SoupMessageHeaders</span></a></p></td> -<td class="parameter_annotations"> </td> -</tr></tbody> -</table></div> -</div> -</div> -<hr> -<div class="refsect2"> -<a name="soup-message-headers-append"></a><h3>soup_message_headers_append ()</h3> -<pre class="programlisting"><span class="returnvalue">void</span> -soup_message_headers_append (<em class="parameter"><code><a class="link" href="SoupMessageHeaders.html" title="SoupMessageHeaders"><span class="type">SoupMessageHeaders</span></a> *hdrs</code></em>, - <em class="parameter"><code>const <span class="type">char</span> *name</code></em>, - <em class="parameter"><code>const <span class="type">char</span> *value</code></em>);</pre> -<p>Appends a new header with name <em class="parameter"><code>name</code></em> - and value <em class="parameter"><code>value</code></em> - to <em class="parameter"><code>hdrs</code></em> -. (If -there is an existing header with name <em class="parameter"><code>name</code></em> -, then this creates a -second one, which is only allowed for list-valued headers; see also -<a class="link" href="SoupMessageHeaders.html#soup-message-headers-replace" title="soup_message_headers_replace ()"><code class="function">soup_message_headers_replace()</code></a>.)</p> -<p>The caller is expected to make sure that <em class="parameter"><code>name</code></em> - and <em class="parameter"><code>value</code></em> - are -syntactically correct.</p> -<div class="refsect3"> -<a name="soup-message-headers-append.parameters"></a><h4>Parameters</h4> -<div class="informaltable"><table class="informaltable" width="100%" border="0"> -<colgroup> -<col width="150px" class="parameters_name"> -<col class="parameters_description"> -<col width="200px" class="parameters_annotations"> -</colgroup> -<tbody> -<tr> -<td class="parameter_name"><p>hdrs</p></td> -<td class="parameter_description"><p>a <a class="link" href="SoupMessageHeaders.html" title="SoupMessageHeaders"><span class="type">SoupMessageHeaders</span></a></p></td> -<td class="parameter_annotations"> </td> -</tr> -<tr> -<td class="parameter_name"><p>name</p></td> -<td class="parameter_description"><p>the header name to add</p></td> -<td class="parameter_annotations"> </td> -</tr> -<tr> -<td class="parameter_name"><p>value</p></td> -<td class="parameter_description"><p>the new value of <em class="parameter"><code>name</code></em> -</p></td> -<td class="parameter_annotations"> </td> -</tr> -</tbody> -</table></div> -</div> -</div> -<hr> -<div class="refsect2"> -<a name="soup-message-headers-replace"></a><h3>soup_message_headers_replace ()</h3> -<pre class="programlisting"><span class="returnvalue">void</span> -soup_message_headers_replace (<em class="parameter"><code><a class="link" href="SoupMessageHeaders.html" title="SoupMessageHeaders"><span class="type">SoupMessageHeaders</span></a> *hdrs</code></em>, - <em class="parameter"><code>const <span class="type">char</span> *name</code></em>, - <em class="parameter"><code>const <span class="type">char</span> *value</code></em>);</pre> -<p>Replaces the value of the header <em class="parameter"><code>name</code></em> - in <em class="parameter"><code>hdrs</code></em> - with <em class="parameter"><code>value</code></em> -. (See -also <a class="link" href="SoupMessageHeaders.html#soup-message-headers-append" title="soup_message_headers_append ()"><code class="function">soup_message_headers_append()</code></a>.)</p> -<p>The caller is expected to make sure that <em class="parameter"><code>name</code></em> - and <em class="parameter"><code>value</code></em> - are -syntactically correct.</p> -<div class="refsect3"> -<a name="soup-message-headers-replace.parameters"></a><h4>Parameters</h4> -<div class="informaltable"><table class="informaltable" width="100%" border="0"> -<colgroup> -<col width="150px" class="parameters_name"> -<col class="parameters_description"> -<col width="200px" class="parameters_annotations"> -</colgroup> -<tbody> -<tr> -<td class="parameter_name"><p>hdrs</p></td> -<td class="parameter_description"><p>a <a class="link" href="SoupMessageHeaders.html" title="SoupMessageHeaders"><span class="type">SoupMessageHeaders</span></a></p></td> -<td class="parameter_annotations"> </td> -</tr> -<tr> -<td class="parameter_name"><p>name</p></td> -<td class="parameter_description"><p>the header name to replace</p></td> -<td class="parameter_annotations"> </td> -</tr> -<tr> -<td class="parameter_name"><p>value</p></td> -<td class="parameter_description"><p>the new value of <em class="parameter"><code>name</code></em> -</p></td> -<td class="parameter_annotations"> </td> -</tr> -</tbody> -</table></div> -</div> -</div> -<hr> -<div class="refsect2"> -<a name="soup-message-headers-remove"></a><h3>soup_message_headers_remove ()</h3> -<pre class="programlisting"><span class="returnvalue">void</span> -soup_message_headers_remove (<em class="parameter"><code><a class="link" href="SoupMessageHeaders.html" title="SoupMessageHeaders"><span class="type">SoupMessageHeaders</span></a> *hdrs</code></em>, - <em class="parameter"><code>const <span class="type">char</span> *name</code></em>);</pre> -<p>Removes <em class="parameter"><code>name</code></em> - from <em class="parameter"><code>hdrs</code></em> -. If there are multiple values for <em class="parameter"><code>name</code></em> -, -they are all removed.</p> -<div class="refsect3"> -<a name="soup-message-headers-remove.parameters"></a><h4>Parameters</h4> -<div class="informaltable"><table class="informaltable" width="100%" border="0"> -<colgroup> -<col width="150px" class="parameters_name"> -<col class="parameters_description"> -<col width="200px" class="parameters_annotations"> -</colgroup> -<tbody> -<tr> -<td class="parameter_name"><p>hdrs</p></td> -<td class="parameter_description"><p>a <a class="link" href="SoupMessageHeaders.html" title="SoupMessageHeaders"><span class="type">SoupMessageHeaders</span></a></p></td> -<td class="parameter_annotations"> </td> -</tr> -<tr> -<td class="parameter_name"><p>name</p></td> -<td class="parameter_description"><p>the header name to remove</p></td> -<td class="parameter_annotations"> </td> -</tr> -</tbody> -</table></div> -</div> -</div> -<hr> -<div class="refsect2"> -<a name="soup-message-headers-clear"></a><h3>soup_message_headers_clear ()</h3> -<pre class="programlisting"><span class="returnvalue">void</span> -soup_message_headers_clear (<em class="parameter"><code><a class="link" href="SoupMessageHeaders.html" title="SoupMessageHeaders"><span class="type">SoupMessageHeaders</span></a> *hdrs</code></em>);</pre> -<p>Clears <em class="parameter"><code>hdrs</code></em> -.</p> -<div class="refsect3"> -<a name="soup-message-headers-clear.parameters"></a><h4>Parameters</h4> -<div class="informaltable"><table class="informaltable" width="100%" border="0"> -<colgroup> -<col width="150px" class="parameters_name"> -<col class="parameters_description"> -<col width="200px" class="parameters_annotations"> -</colgroup> -<tbody><tr> -<td class="parameter_name"><p>hdrs</p></td> -<td class="parameter_description"><p>a <a class="link" href="SoupMessageHeaders.html" title="SoupMessageHeaders"><span class="type">SoupMessageHeaders</span></a></p></td> -<td class="parameter_annotations"> </td> -</tr></tbody> -</table></div> -</div> -</div> -<hr> -<div class="refsect2"> -<a name="soup-message-headers-clean-connection-headers"></a><h3>soup_message_headers_clean_connection_headers ()</h3> -<pre class="programlisting"><span class="returnvalue">void</span> -soup_message_headers_clean_connection_headers - (<em class="parameter"><code><a class="link" href="SoupMessageHeaders.html" title="SoupMessageHeaders"><span class="type">SoupMessageHeaders</span></a> *hdrs</code></em>);</pre> -<p>Removes all the headers listed in the Connection header.</p> -<div class="refsect3"> -<a name="soup-message-headers-clean-connection-headers.parameters"></a><h4>Parameters</h4> -<div class="informaltable"><table class="informaltable" width="100%" border="0"> -<colgroup> -<col width="150px" class="parameters_name"> -<col class="parameters_description"> -<col width="200px" class="parameters_annotations"> -</colgroup> -<tbody><tr> -<td class="parameter_name"><p>hdrs</p></td> -<td class="parameter_description"><p>a <a class="link" href="SoupMessageHeaders.html" title="SoupMessageHeaders"><span class="type">SoupMessageHeaders</span></a></p></td> -<td class="parameter_annotations"> </td> -</tr></tbody> -</table></div> -</div> -<p class="since">Since: 2.36</p> -</div> -<hr> -<div class="refsect2"> -<a name="soup-message-headers-get-one"></a><h3>soup_message_headers_get_one ()</h3> -<pre class="programlisting">const <span class="returnvalue">char</span> * -soup_message_headers_get_one (<em class="parameter"><code><a class="link" href="SoupMessageHeaders.html" title="SoupMessageHeaders"><span class="type">SoupMessageHeaders</span></a> *hdrs</code></em>, - <em class="parameter"><code>const <span class="type">char</span> *name</code></em>);</pre> -<p>Gets the value of header <em class="parameter"><code>name</code></em> - in <em class="parameter"><code>hdrs</code></em> -. Use this for headers whose -values are <span class="emphasis"><em>not</em></span> comma-delimited lists, and -which therefore can only appear at most once in the headers. For -list-valued headers, use <a class="link" href="SoupMessageHeaders.html#soup-message-headers-get-list" title="soup_message_headers_get_list ()"><code class="function">soup_message_headers_get_list()</code></a>.</p> -<p>If <em class="parameter"><code>hdrs</code></em> - does erroneously contain multiple copies of the header, it -is not defined which one will be returned. (Ideally, it will return -whichever one makes libsoup most compatible with other HTTP -implementations.)</p> -<div class="refsect3"> -<a name="soup-message-headers-get-one.parameters"></a><h4>Parameters</h4> -<div class="informaltable"><table class="informaltable" width="100%" border="0"> -<colgroup> -<col width="150px" class="parameters_name"> -<col class="parameters_description"> -<col width="200px" class="parameters_annotations"> -</colgroup> -<tbody> -<tr> -<td class="parameter_name"><p>hdrs</p></td> -<td class="parameter_description"><p>a <a class="link" href="SoupMessageHeaders.html" title="SoupMessageHeaders"><span class="type">SoupMessageHeaders</span></a></p></td> -<td class="parameter_annotations"> </td> -</tr> -<tr> -<td class="parameter_name"><p>name</p></td> -<td class="parameter_description"><p>header name</p></td> -<td class="parameter_annotations"> </td> -</tr> -</tbody> -</table></div> -</div> -<div class="refsect3"> -<a name="soup-message-headers-get-one.returns"></a><h4>Returns</h4> -<p>the header's value or <code class="literal">NULL</code> if not found. </p> -<p><span class="annotation">[<acronym title="NULL may be passed as the value in, out, in-out; or as a return value."><span class="acronym">nullable</span></acronym>]</span></p> -</div> -<p class="since">Since: 2.28</p> -</div> -<hr> -<div class="refsect2"> -<a name="soup-message-headers-get-list"></a><h3>soup_message_headers_get_list ()</h3> -<pre class="programlisting">const <span class="returnvalue">char</span> * -soup_message_headers_get_list (<em class="parameter"><code><a class="link" href="SoupMessageHeaders.html" title="SoupMessageHeaders"><span class="type">SoupMessageHeaders</span></a> *hdrs</code></em>, - <em class="parameter"><code>const <span class="type">char</span> *name</code></em>);</pre> -<p>Gets the value of header <em class="parameter"><code>name</code></em> - in <em class="parameter"><code>hdrs</code></em> -. Use this for headers whose -values are comma-delimited lists, and which are therefore allowed -to appear multiple times in the headers. For non-list-valued -headers, use <a class="link" href="SoupMessageHeaders.html#soup-message-headers-get-one" title="soup_message_headers_get_one ()"><code class="function">soup_message_headers_get_one()</code></a>.</p> -<p>If <em class="parameter"><code>name</code></em> - appears multiple times in <em class="parameter"><code>hdrs</code></em> -, -<a class="link" href="SoupMessageHeaders.html#soup-message-headers-get-list" title="soup_message_headers_get_list ()"><code class="function">soup_message_headers_get_list()</code></a> will concatenate all of the values -together, separated by commas. This is sometimes awkward to parse -(eg, WWW-Authenticate, Set-Cookie), but you have to be able to deal -with it anyway, because the HTTP spec explicitly states that this -transformation is allowed, and so an upstream proxy could do the -same thing.</p> -<div class="refsect3"> -<a name="soup-message-headers-get-list.parameters"></a><h4>Parameters</h4> -<div class="informaltable"><table class="informaltable" width="100%" border="0"> -<colgroup> -<col width="150px" class="parameters_name"> -<col class="parameters_description"> -<col width="200px" class="parameters_annotations"> -</colgroup> -<tbody> -<tr> -<td class="parameter_name"><p>hdrs</p></td> -<td class="parameter_description"><p>a <a class="link" href="SoupMessageHeaders.html" title="SoupMessageHeaders"><span class="type">SoupMessageHeaders</span></a></p></td> -<td class="parameter_annotations"> </td> -</tr> -<tr> -<td class="parameter_name"><p>name</p></td> -<td class="parameter_description"><p>header name</p></td> -<td class="parameter_annotations"> </td> -</tr> -</tbody> -</table></div> -</div> -<div class="refsect3"> -<a name="soup-message-headers-get-list.returns"></a><h4>Returns</h4> -<p>the header's value or <code class="literal">NULL</code> if not found. </p> -<p><span class="annotation">[<acronym title="NULL may be passed as the value in, out, in-out; or as a return value."><span class="acronym">nullable</span></acronym>]</span></p> -</div> -<p class="since">Since: 2.28</p> -</div> -<hr> -<div class="refsect2"> -<a name="soup-message-headers-get-headers-type"></a><h3>soup_message_headers_get_headers_type ()</h3> -<pre class="programlisting"><a class="link" href="SoupMessageHeaders.html#SoupMessageHeadersType" title="enum SoupMessageHeadersType"><span class="returnvalue">SoupMessageHeadersType</span></a> -soup_message_headers_get_headers_type (<em class="parameter"><code><a class="link" href="SoupMessageHeaders.html" title="SoupMessageHeaders"><span class="type">SoupMessageHeaders</span></a> *hdrs</code></em>);</pre> -<p>Gets the type of headers.</p> -<div class="refsect3"> -<a name="soup-message-headers-get-headers-type.parameters"></a><h4>Parameters</h4> -<div class="informaltable"><table class="informaltable" width="100%" border="0"> -<colgroup> -<col width="150px" class="parameters_name"> -<col class="parameters_description"> -<col width="200px" class="parameters_annotations"> -</colgroup> -<tbody><tr> -<td class="parameter_name"><p>hdrs</p></td> -<td class="parameter_description"><p>a <a class="link" href="SoupMessageHeaders.html" title="SoupMessageHeaders"><span class="type">SoupMessageHeaders</span></a></p></td> -<td class="parameter_annotations"> </td> -</tr></tbody> -</table></div> -</div> -<div class="refsect3"> -<a name="soup-message-headers-get-headers-type.returns"></a><h4>Returns</h4> -<p> the header's type.</p> -</div> -<p class="since">Since: 2.50</p> -</div> -<hr> -<div class="refsect2"> -<a name="soup-message-headers-header-contains"></a><h3>soup_message_headers_header_contains ()</h3> -<pre class="programlisting"><span class="returnvalue">gboolean</span> -soup_message_headers_header_contains (<em class="parameter"><code><a class="link" href="SoupMessageHeaders.html" title="SoupMessageHeaders"><span class="type">SoupMessageHeaders</span></a> *hdrs</code></em>, - <em class="parameter"><code>const <span class="type">char</span> *name</code></em>, - <em class="parameter"><code>const <span class="type">char</span> *token</code></em>);</pre> -<p>Checks whether the list-valued header <em class="parameter"><code>name</code></em> - is present in <em class="parameter"><code>hdrs</code></em> -, -and contains a case-insensitive match for <em class="parameter"><code>token</code></em> -.</p> -<p>(If <em class="parameter"><code>name</code></em> - is present in <em class="parameter"><code>hdrs</code></em> -, then this is equivalent to calling -<a class="link" href="libsoup-2.4-Soup-Miscellaneous-Utilities.html#soup-header-contains" title="soup_header_contains ()"><code class="function">soup_header_contains()</code></a> on its value.)</p> -<div class="refsect3"> -<a name="soup-message-headers-header-contains.parameters"></a><h4>Parameters</h4> -<div class="informaltable"><table class="informaltable" width="100%" border="0"> -<colgroup> -<col width="150px" class="parameters_name"> -<col class="parameters_description"> -<col width="200px" class="parameters_annotations"> -</colgroup> -<tbody> -<tr> -<td class="parameter_name"><p>hdrs</p></td> -<td class="parameter_description"><p>a <a class="link" href="SoupMessageHeaders.html" title="SoupMessageHeaders"><span class="type">SoupMessageHeaders</span></a></p></td> -<td class="parameter_annotations"> </td> -</tr> -<tr> -<td class="parameter_name"><p>name</p></td> -<td class="parameter_description"><p>header name</p></td> -<td class="parameter_annotations"> </td> -</tr> -<tr> -<td class="parameter_name"><p>token</p></td> -<td class="parameter_description"><p>token to look for</p></td> -<td class="parameter_annotations"> </td> -</tr> -</tbody> -</table></div> -</div> -<div class="refsect3"> -<a name="soup-message-headers-header-contains.returns"></a><h4>Returns</h4> -<p> <code class="literal">TRUE</code> if the header is present and contains <em class="parameter"><code>token</code></em> -, -<code class="literal">FALSE</code> otherwise.</p> -</div> -<p class="since">Since: 2.50</p> -</div> -<hr> -<div class="refsect2"> -<a name="soup-message-headers-header-equals"></a><h3>soup_message_headers_header_equals ()</h3> -<pre class="programlisting"><span class="returnvalue">gboolean</span> -soup_message_headers_header_equals (<em class="parameter"><code><a class="link" href="SoupMessageHeaders.html" title="SoupMessageHeaders"><span class="type">SoupMessageHeaders</span></a> *hdrs</code></em>, - <em class="parameter"><code>const <span class="type">char</span> *name</code></em>, - <em class="parameter"><code>const <span class="type">char</span> *value</code></em>);</pre> -<p>Checks whether the header <em class="parameter"><code>name</code></em> - is present in <em class="parameter"><code>hdrs</code></em> - and is -(case-insensitively) equal to <em class="parameter"><code>value</code></em> -.</p> -<div class="refsect3"> -<a name="soup-message-headers-header-equals.parameters"></a><h4>Parameters</h4> -<div class="informaltable"><table class="informaltable" width="100%" border="0"> -<colgroup> -<col width="150px" class="parameters_name"> -<col class="parameters_description"> -<col width="200px" class="parameters_annotations"> -</colgroup> -<tbody> -<tr> -<td class="parameter_name"><p>hdrs</p></td> -<td class="parameter_description"><p>a <a class="link" href="SoupMessageHeaders.html" title="SoupMessageHeaders"><span class="type">SoupMessageHeaders</span></a></p></td> -<td class="parameter_annotations"> </td> -</tr> -<tr> -<td class="parameter_name"><p>name</p></td> -<td class="parameter_description"><p>header name</p></td> -<td class="parameter_annotations"> </td> -</tr> -<tr> -<td class="parameter_name"><p>value</p></td> -<td class="parameter_description"><p>expected value</p></td> -<td class="parameter_annotations"> </td> -</tr> -</tbody> -</table></div> -</div> -<div class="refsect3"> -<a name="soup-message-headers-header-equals.returns"></a><h4>Returns</h4> -<p> <code class="literal">TRUE</code> if the header is present and its value is -<em class="parameter"><code>value</code></em> -, <code class="literal">FALSE</code> otherwise.</p> -</div> -<p class="since">Since: 2.50</p> -</div> -<hr> -<div class="refsect2"> -<a name="SoupMessageHeadersForeachFunc"></a><h3>SoupMessageHeadersForeachFunc ()</h3> -<pre class="programlisting"><span class="returnvalue">void</span> -<span class="c_punctuation">(</span>*SoupMessageHeadersForeachFunc<span class="c_punctuation">)</span> (<em class="parameter"><code>const <span class="type">char</span> *name</code></em>, - <em class="parameter"><code>const <span class="type">char</span> *value</code></em>, - <em class="parameter"><code><span class="type">gpointer</span> user_data</code></em>);</pre> -<p>The callback passed to <a class="link" href="SoupMessageHeaders.html#soup-message-headers-foreach" title="soup_message_headers_foreach ()"><code class="function">soup_message_headers_foreach()</code></a>.</p> -<div class="refsect3"> -<a name="SoupMessageHeadersForeachFunc.parameters"></a><h4>Parameters</h4> -<div class="informaltable"><table class="informaltable" width="100%" border="0"> -<colgroup> -<col width="150px" class="parameters_name"> -<col class="parameters_description"> -<col width="200px" class="parameters_annotations"> -</colgroup> -<tbody> -<tr> -<td class="parameter_name"><p>name</p></td> -<td class="parameter_description"><p>the header name</p></td> -<td class="parameter_annotations"> </td> -</tr> -<tr> -<td class="parameter_name"><p>value</p></td> -<td class="parameter_description"><p>the header value</p></td> -<td class="parameter_annotations"> </td> -</tr> -<tr> -<td class="parameter_name"><p>user_data</p></td> -<td class="parameter_description"><p>the data passed to <a class="link" href="SoupMessageHeaders.html#soup-message-headers-foreach" title="soup_message_headers_foreach ()"><code class="function">soup_message_headers_foreach()</code></a></p></td> -<td class="parameter_annotations"> </td> -</tr> -</tbody> -</table></div> -</div> -</div> -<hr> -<div class="refsect2"> -<a name="soup-message-headers-foreach"></a><h3>soup_message_headers_foreach ()</h3> -<pre class="programlisting"><span class="returnvalue">void</span> -soup_message_headers_foreach (<em class="parameter"><code><a class="link" href="SoupMessageHeaders.html" title="SoupMessageHeaders"><span class="type">SoupMessageHeaders</span></a> *hdrs</code></em>, - <em class="parameter"><code><a class="link" href="SoupMessageHeaders.html#SoupMessageHeadersForeachFunc" title="SoupMessageHeadersForeachFunc ()"><span class="type">SoupMessageHeadersForeachFunc</span></a> func</code></em>, - <em class="parameter"><code><span class="type">gpointer</span> user_data</code></em>);</pre> -<p>Calls <em class="parameter"><code>func</code></em> - once for each header value in <em class="parameter"><code>hdrs</code></em> -.</p> -<p>Beware that unlike <code class="function">soup_message_headers_get()</code>, this processes the -headers in exactly the way they were added, rather than -concatenating multiple same-named headers into a single value. -(This is intentional; it ensures that if you call -<a class="link" href="SoupMessageHeaders.html#soup-message-headers-append" title="soup_message_headers_append ()"><code class="function">soup_message_headers_append()</code></a> multiple times with the same name, -then the I/O code will output multiple copies of the header when -sending the message to the remote implementation, which may be -required for interoperability in some cases.)</p> -<p>You may not modify the headers from <em class="parameter"><code>func</code></em> -.</p> -<div class="refsect3"> -<a name="soup-message-headers-foreach.parameters"></a><h4>Parameters</h4> -<div class="informaltable"><table class="informaltable" width="100%" border="0"> -<colgroup> -<col width="150px" class="parameters_name"> -<col class="parameters_description"> -<col width="200px" class="parameters_annotations"> -</colgroup> -<tbody> -<tr> -<td class="parameter_name"><p>hdrs</p></td> -<td class="parameter_description"><p>a <a class="link" href="SoupMessageHeaders.html" title="SoupMessageHeaders"><span class="type">SoupMessageHeaders</span></a></p></td> -<td class="parameter_annotations"> </td> -</tr> -<tr> -<td class="parameter_name"><p>func</p></td> -<td class="parameter_description"><p>callback function to run for each header. </p></td> -<td class="parameter_annotations"><span class="annotation">[<acronym title="The callback is valid only during the call to the method."><span class="acronym">scope call</span></acronym>]</span></td> -</tr> -<tr> -<td class="parameter_name"><p>user_data</p></td> -<td class="parameter_description"><p>data to pass to <em class="parameter"><code>func</code></em> -</p></td> -<td class="parameter_annotations"> </td> -</tr> -</tbody> -</table></div> -</div> -</div> -<hr> -<div class="refsect2"> -<a name="soup-message-headers-iter-init"></a><h3>soup_message_headers_iter_init ()</h3> -<pre class="programlisting"><span class="returnvalue">void</span> -soup_message_headers_iter_init (<em class="parameter"><code><a class="link" href="SoupMessageHeaders.html#SoupMessageHeadersIter" title="SoupMessageHeadersIter"><span class="type">SoupMessageHeadersIter</span></a> *iter</code></em>, - <em class="parameter"><code><a class="link" href="SoupMessageHeaders.html" title="SoupMessageHeaders"><span class="type">SoupMessageHeaders</span></a> *hdrs</code></em>);</pre> -<p>Initializes <em class="parameter"><code>iter</code></em> - for iterating <em class="parameter"><code>hdrs</code></em> -.</p> -<div class="refsect3"> -<a name="soup-message-headers-iter-init.parameters"></a><h4>Parameters</h4> -<div class="informaltable"><table class="informaltable" width="100%" border="0"> -<colgroup> -<col width="150px" class="parameters_name"> -<col class="parameters_description"> -<col width="200px" class="parameters_annotations"> -</colgroup> -<tbody> -<tr> -<td class="parameter_name"><p>iter</p></td> -<td class="parameter_description"><p>a pointer to a <a class="link" href="SoupMessageHeaders.html#SoupMessageHeadersIter" title="SoupMessageHeadersIter"><code class="literal">SoupMessageHeadersIter</code></a> -structure. </p></td> -<td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter for returning results. Default is transfer full."><span class="acronym">out</span></acronym>][<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span></td> -</tr> -<tr> -<td class="parameter_name"><p>hdrs</p></td> -<td class="parameter_description"><p>a <a class="link" href="SoupMessageHeaders.html" title="SoupMessageHeaders"><code class="literal">SoupMessageHeaders</code></a></p></td> -<td class="parameter_annotations"> </td> -</tr> -</tbody> -</table></div> -</div> -</div> -<hr> -<div class="refsect2"> -<a name="soup-message-headers-iter-next"></a><h3>soup_message_headers_iter_next ()</h3> -<pre class="programlisting"><span class="returnvalue">gboolean</span> -soup_message_headers_iter_next (<em class="parameter"><code><a class="link" href="SoupMessageHeaders.html#SoupMessageHeadersIter" title="SoupMessageHeadersIter"><span class="type">SoupMessageHeadersIter</span></a> *iter</code></em>, - <em class="parameter"><code>const <span class="type">char</span> **name</code></em>, - <em class="parameter"><code>const <span class="type">char</span> **value</code></em>);</pre> -<p>Yields the next name/value pair in the <a class="link" href="SoupMessageHeaders.html" title="SoupMessageHeaders"><code class="literal">SoupMessageHeaders</code></a> being -iterated by <em class="parameter"><code>iter</code></em> -. If <em class="parameter"><code>iter</code></em> - has already yielded the last header, -then <a class="link" href="SoupMessageHeaders.html#soup-message-headers-iter-next" title="soup_message_headers_iter_next ()"><code class="function">soup_message_headers_iter_next()</code></a> will return <code class="literal">FALSE</code> and <em class="parameter"><code>name</code></em> - -and <em class="parameter"><code>value</code></em> - will be unchanged.</p> -<div class="refsect3"> -<a name="soup-message-headers-iter-next.parameters"></a><h4>Parameters</h4> -<div class="informaltable"><table class="informaltable" width="100%" border="0"> -<colgroup> -<col width="150px" class="parameters_name"> -<col class="parameters_description"> -<col width="200px" class="parameters_annotations"> -</colgroup> -<tbody> -<tr> -<td class="parameter_name"><p>iter</p></td> -<td class="parameter_description"><p>a <a class="link" href="SoupMessageHeaders.html#SoupMessageHeadersIter" title="SoupMessageHeadersIter"><code class="literal">SoupMessageHeadersIter</code></a>. </p></td> -<td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter for input and for returning results. Default is transfer full."><span class="acronym">inout</span></acronym>][<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span></td> -</tr> -<tr> -<td class="parameter_name"><p>name</p></td> -<td class="parameter_description"><p>pointer to a variable to return -the header name in. </p></td> -<td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter for returning results. Default is transfer full."><span class="acronym">out</span></acronym>][<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span></td> -</tr> -<tr> -<td class="parameter_name"><p>value</p></td> -<td class="parameter_description"><p>pointer to a variable to return -the header value in. </p></td> -<td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter for returning results. Default is transfer full."><span class="acronym">out</span></acronym>][<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span></td> -</tr> -</tbody> -</table></div> -</div> -<div class="refsect3"> -<a name="soup-message-headers-iter-next.returns"></a><h4>Returns</h4> -<p> <code class="literal">TRUE</code> if another name and value were returned, <code class="literal">FALSE</code> -if the end of the headers has been reached.</p> -</div> -</div> -<hr> -<div class="refsect2"> -<a name="soup-message-headers-get-encoding"></a><h3>soup_message_headers_get_encoding ()</h3> -<pre class="programlisting"><a class="link" href="SoupMessageHeaders.html#SoupEncoding" title="enum SoupEncoding"><span class="returnvalue">SoupEncoding</span></a> -soup_message_headers_get_encoding (<em class="parameter"><code><a class="link" href="SoupMessageHeaders.html" title="SoupMessageHeaders"><span class="type">SoupMessageHeaders</span></a> *hdrs</code></em>);</pre> -<p>Gets the message body encoding that <em class="parameter"><code>hdrs</code></em> - declare. This may not -always correspond to the encoding used on the wire; eg, a HEAD -response may declare a Content-Length or Transfer-Encoding, but -it will never actually include a body.</p> -<div class="refsect3"> -<a name="soup-message-headers-get-encoding.parameters"></a><h4>Parameters</h4> -<div class="informaltable"><table class="informaltable" width="100%" border="0"> -<colgroup> -<col width="150px" class="parameters_name"> -<col class="parameters_description"> -<col width="200px" class="parameters_annotations"> -</colgroup> -<tbody><tr> -<td class="parameter_name"><p>hdrs</p></td> -<td class="parameter_description"><p>a <a class="link" href="SoupMessageHeaders.html" title="SoupMessageHeaders"><span class="type">SoupMessageHeaders</span></a></p></td> -<td class="parameter_annotations"> </td> -</tr></tbody> -</table></div> -</div> -<div class="refsect3"> -<a name="soup-message-headers-get-encoding.returns"></a><h4>Returns</h4> -<p> the encoding declared by <em class="parameter"><code>hdrs</code></em> -.</p> -</div> -</div> -<hr> -<div class="refsect2"> -<a name="soup-message-headers-set-encoding"></a><h3>soup_message_headers_set_encoding ()</h3> -<pre class="programlisting"><span class="returnvalue">void</span> -soup_message_headers_set_encoding (<em class="parameter"><code><a class="link" href="SoupMessageHeaders.html" title="SoupMessageHeaders"><span class="type">SoupMessageHeaders</span></a> *hdrs</code></em>, - <em class="parameter"><code><a class="link" href="SoupMessageHeaders.html#SoupEncoding" title="enum SoupEncoding"><span class="type">SoupEncoding</span></a> encoding</code></em>);</pre> -<p>Sets the message body encoding that <em class="parameter"><code>hdrs</code></em> - will declare. In particular, -you should use this if you are going to send a request or response in -chunked encoding.</p> -<div class="refsect3"> -<a name="soup-message-headers-set-encoding.parameters"></a><h4>Parameters</h4> -<div class="informaltable"><table class="informaltable" width="100%" border="0"> -<colgroup> -<col width="150px" class="parameters_name"> -<col class="parameters_description"> -<col width="200px" class="parameters_annotations"> -</colgroup> -<tbody> -<tr> -<td class="parameter_name"><p>hdrs</p></td> -<td class="parameter_description"><p>a <a class="link" href="SoupMessageHeaders.html" title="SoupMessageHeaders"><span class="type">SoupMessageHeaders</span></a></p></td> -<td class="parameter_annotations"> </td> -</tr> -<tr> -<td class="parameter_name"><p>encoding</p></td> -<td class="parameter_description"><p>a <a class="link" href="SoupMessageHeaders.html#SoupEncoding" title="enum SoupEncoding"><span class="type">SoupEncoding</span></a></p></td> -<td class="parameter_annotations"> </td> -</tr> -</tbody> -</table></div> -</div> -</div> -<hr> -<div class="refsect2"> -<a name="soup-message-headers-get-content-length"></a><h3>soup_message_headers_get_content_length ()</h3> -<pre class="programlisting"><span class="returnvalue">goffset</span> -soup_message_headers_get_content_length - (<em class="parameter"><code><a class="link" href="SoupMessageHeaders.html" title="SoupMessageHeaders"><span class="type">SoupMessageHeaders</span></a> *hdrs</code></em>);</pre> -<p>Gets the message body length that <em class="parameter"><code>hdrs</code></em> - declare. This will only -be non-0 if <a class="link" href="SoupMessageHeaders.html#soup-message-headers-get-encoding" title="soup_message_headers_get_encoding ()"><code class="function">soup_message_headers_get_encoding()</code></a> returns -<a class="link" href="SoupMessageHeaders.html#SOUP-ENCODING-CONTENT-LENGTH:CAPS"><code class="literal">SOUP_ENCODING_CONTENT_LENGTH</code></a>.</p> -<div class="refsect3"> -<a name="soup-message-headers-get-content-length.parameters"></a><h4>Parameters</h4> -<div class="informaltable"><table class="informaltable" width="100%" border="0"> -<colgroup> -<col width="150px" class="parameters_name"> -<col class="parameters_description"> -<col width="200px" class="parameters_annotations"> -</colgroup> -<tbody><tr> -<td class="parameter_name"><p>hdrs</p></td> -<td class="parameter_description"><p>a <a class="link" href="SoupMessageHeaders.html" title="SoupMessageHeaders"><span class="type">SoupMessageHeaders</span></a></p></td> -<td class="parameter_annotations"> </td> -</tr></tbody> -</table></div> -</div> -<div class="refsect3"> -<a name="soup-message-headers-get-content-length.returns"></a><h4>Returns</h4> -<p> the message body length declared by <em class="parameter"><code>hdrs</code></em> -.</p> -</div> -</div> -<hr> -<div class="refsect2"> -<a name="soup-message-headers-set-content-length"></a><h3>soup_message_headers_set_content_length ()</h3> -<pre class="programlisting"><span class="returnvalue">void</span> -soup_message_headers_set_content_length - (<em class="parameter"><code><a class="link" href="SoupMessageHeaders.html" title="SoupMessageHeaders"><span class="type">SoupMessageHeaders</span></a> *hdrs</code></em>, - <em class="parameter"><code><span class="type">goffset</span> content_length</code></em>);</pre> -<p>Sets the message body length that <em class="parameter"><code>hdrs</code></em> - will declare, and sets -<em class="parameter"><code>hdrs</code></em> -'s encoding to <a class="link" href="SoupMessageHeaders.html#SOUP-ENCODING-CONTENT-LENGTH:CAPS"><code class="literal">SOUP_ENCODING_CONTENT_LENGTH</code></a>.</p> -<p>You do not normally need to call this; if <em class="parameter"><code>hdrs</code></em> - is set to use -Content-Length encoding, libsoup will automatically set its -Content-Length header for you immediately before sending the -headers. One situation in which this method is useful is when -generating the response to a HEAD request; Calling -<a class="link" href="SoupMessageHeaders.html#soup-message-headers-set-content-length" title="soup_message_headers_set_content_length ()"><code class="function">soup_message_headers_set_content_length()</code></a> allows you to put the -correct content length into the response without needing to waste -memory by filling in a response body which won't actually be sent.</p> -<div class="refsect3"> -<a name="soup-message-headers-set-content-length.parameters"></a><h4>Parameters</h4> -<div class="informaltable"><table class="informaltable" width="100%" border="0"> -<colgroup> -<col width="150px" class="parameters_name"> -<col class="parameters_description"> -<col width="200px" class="parameters_annotations"> -</colgroup> -<tbody> -<tr> -<td class="parameter_name"><p>hdrs</p></td> -<td class="parameter_description"><p>a <a class="link" href="SoupMessageHeaders.html" title="SoupMessageHeaders"><span class="type">SoupMessageHeaders</span></a></p></td> -<td class="parameter_annotations"> </td> -</tr> -<tr> -<td class="parameter_name"><p>content_length</p></td> -<td class="parameter_description"><p>the message body length</p></td> -<td class="parameter_annotations"> </td> -</tr> -</tbody> -</table></div> -</div> -</div> -<hr> -<div class="refsect2"> -<a name="soup-message-headers-get-expectations"></a><h3>soup_message_headers_get_expectations ()</h3> -<pre class="programlisting"><a class="link" href="SoupMessageHeaders.html#SoupExpectation" title="enum SoupExpectation"><span class="returnvalue">SoupExpectation</span></a> -soup_message_headers_get_expectations (<em class="parameter"><code><a class="link" href="SoupMessageHeaders.html" title="SoupMessageHeaders"><span class="type">SoupMessageHeaders</span></a> *hdrs</code></em>);</pre> -<p>Gets the expectations declared by <em class="parameter"><code>hdrs</code></em> -'s "Expect" header. -Currently this will either be <a class="link" href="SoupMessageHeaders.html#SOUP-EXPECTATION-CONTINUE:CAPS"><code class="literal">SOUP_EXPECTATION_CONTINUE</code></a> or -<a class="link" href="SoupMessageHeaders.html#SOUP-EXPECTATION-UNRECOGNIZED:CAPS"><code class="literal">SOUP_EXPECTATION_UNRECOGNIZED</code></a>.</p> -<div class="refsect3"> -<a name="soup-message-headers-get-expectations.parameters"></a><h4>Parameters</h4> -<div class="informaltable"><table class="informaltable" width="100%" border="0"> -<colgroup> -<col width="150px" class="parameters_name"> -<col class="parameters_description"> -<col width="200px" class="parameters_annotations"> -</colgroup> -<tbody><tr> -<td class="parameter_name"><p>hdrs</p></td> -<td class="parameter_description"><p>a <a class="link" href="SoupMessageHeaders.html" title="SoupMessageHeaders"><span class="type">SoupMessageHeaders</span></a></p></td> -<td class="parameter_annotations"> </td> -</tr></tbody> -</table></div> -</div> -<div class="refsect3"> -<a name="soup-message-headers-get-expectations.returns"></a><h4>Returns</h4> -<p> the contents of <em class="parameter"><code>hdrs</code></em> -'s "Expect" header</p> -</div> -</div> -<hr> -<div class="refsect2"> -<a name="soup-message-headers-set-expectations"></a><h3>soup_message_headers_set_expectations ()</h3> -<pre class="programlisting"><span class="returnvalue">void</span> -soup_message_headers_set_expectations (<em class="parameter"><code><a class="link" href="SoupMessageHeaders.html" title="SoupMessageHeaders"><span class="type">SoupMessageHeaders</span></a> *hdrs</code></em>, - <em class="parameter"><code><a class="link" href="SoupMessageHeaders.html#SoupExpectation" title="enum SoupExpectation"><span class="type">SoupExpectation</span></a> expectations</code></em>);</pre> -<p>Sets <em class="parameter"><code>hdrs</code></em> -'s "Expect" header according to <em class="parameter"><code>expectations</code></em> -.</p> -<p>Currently <a class="link" href="SoupMessageHeaders.html#SOUP-EXPECTATION-CONTINUE:CAPS"><code class="literal">SOUP_EXPECTATION_CONTINUE</code></a> is the only known expectation -value. You should set this value on a request if you are sending a -large message body (eg, via POST or PUT), and want to give the -server a chance to reject the request after seeing just the headers -(eg, because it will require authentication before allowing you to -post, or because you're POSTing to a URL that doesn't exist). This -saves you from having to transmit the large request body when the -server is just going to ignore it anyway.</p> -<div class="refsect3"> -<a name="soup-message-headers-set-expectations.parameters"></a><h4>Parameters</h4> -<div class="informaltable"><table class="informaltable" width="100%" border="0"> -<colgroup> -<col width="150px" class="parameters_name"> -<col class="parameters_description"> -<col width="200px" class="parameters_annotations"> -</colgroup> -<tbody> -<tr> -<td class="parameter_name"><p>hdrs</p></td> -<td class="parameter_description"><p>a <a class="link" href="SoupMessageHeaders.html" title="SoupMessageHeaders"><span class="type">SoupMessageHeaders</span></a></p></td> -<td class="parameter_annotations"> </td> -</tr> -<tr> -<td class="parameter_name"><p>expectations</p></td> -<td class="parameter_description"><p>the expectations to set</p></td> -<td class="parameter_annotations"> </td> -</tr> -</tbody> -</table></div> -</div> -</div> -<hr> -<div class="refsect2"> -<a name="soup-message-headers-get-content-type"></a><h3>soup_message_headers_get_content_type ()</h3> -<pre class="programlisting">const <span class="returnvalue">char</span> * -soup_message_headers_get_content_type (<em class="parameter"><code><a class="link" href="SoupMessageHeaders.html" title="SoupMessageHeaders"><span class="type">SoupMessageHeaders</span></a> *hdrs</code></em>, - <em class="parameter"><code><span class="type">GHashTable</span> **params</code></em>);</pre> -<p>Looks up the "Content-Type" header in <em class="parameter"><code>hdrs</code></em> -, parses it, and returns -its value in *<em class="parameter"><code>content_type</code></em> - and *<em class="parameter"><code>params</code></em> -. <em class="parameter"><code>params</code></em> - can be <code class="literal">NULL</code> if you -are only interested in the content type itself.</p> -<div class="refsect3"> -<a name="soup-message-headers-get-content-type.parameters"></a><h4>Parameters</h4> -<div class="informaltable"><table class="informaltable" width="100%" border="0"> -<colgroup> -<col width="150px" class="parameters_name"> -<col class="parameters_description"> -<col width="200px" class="parameters_annotations"> -</colgroup> -<tbody> -<tr> -<td class="parameter_name"><p>hdrs</p></td> -<td class="parameter_description"><p>a <a class="link" href="SoupMessageHeaders.html" title="SoupMessageHeaders"><span class="type">SoupMessageHeaders</span></a></p></td> -<td class="parameter_annotations"> </td> -</tr> -<tr> -<td class="parameter_name"><p>params</p></td> -<td class="parameter_description"><p>return location for the Content-Type parameters (eg, "charset"), or -<code class="literal">NULL</code>. </p></td> -<td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter for returning results. Default is transfer full."><span class="acronym">out</span></acronym>][<acronym title="Generics and defining elements of containers and arrays."><span class="acronym">element-type</span></acronym> utf8 utf8][<acronym title="NULL is OK, both for passing and for returning."><span class="acronym">allow-none</span></acronym>][<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></td> -</tr> -</tbody> -</table></div> -</div> -<div class="refsect3"> -<a name="soup-message-headers-get-content-type.returns"></a><h4>Returns</h4> -<p>a string with the value of the -"Content-Type" header or <code class="literal">NULL</code> if <em class="parameter"><code>hdrs</code></em> -does not contain that -header or it cannot be parsed (in which case *<em class="parameter"><code>params</code></em> -will be -unchanged). </p> -<p><span class="annotation">[<acronym title="NULL may be passed as the value in, out, in-out; or as a return value."><span class="acronym">nullable</span></acronym>]</span></p> -</div> -<p class="since">Since: 2.26</p> -</div> -<hr> -<div class="refsect2"> -<a name="soup-message-headers-set-content-type"></a><h3>soup_message_headers_set_content_type ()</h3> -<pre class="programlisting"><span class="returnvalue">void</span> -soup_message_headers_set_content_type (<em class="parameter"><code><a class="link" href="SoupMessageHeaders.html" title="SoupMessageHeaders"><span class="type">SoupMessageHeaders</span></a> *hdrs</code></em>, - <em class="parameter"><code>const <span class="type">char</span> *content_type</code></em>, - <em class="parameter"><code><span class="type">GHashTable</span> *params</code></em>);</pre> -<p>Sets the "Content-Type" header in <em class="parameter"><code>hdrs</code></em> - to <em class="parameter"><code>content_type</code></em> -, -optionally with additional parameters specified in <em class="parameter"><code>params</code></em> -.</p> -<div class="refsect3"> -<a name="soup-message-headers-set-content-type.parameters"></a><h4>Parameters</h4> -<div class="informaltable"><table class="informaltable" width="100%" border="0"> -<colgroup> -<col width="150px" class="parameters_name"> -<col class="parameters_description"> -<col width="200px" class="parameters_annotations"> -</colgroup> -<tbody> -<tr> -<td class="parameter_name"><p>hdrs</p></td> -<td class="parameter_description"><p>a <a class="link" href="SoupMessageHeaders.html" title="SoupMessageHeaders"><span class="type">SoupMessageHeaders</span></a></p></td> -<td class="parameter_annotations"> </td> -</tr> -<tr> -<td class="parameter_name"><p>content_type</p></td> -<td class="parameter_description"><p>the MIME type</p></td> -<td class="parameter_annotations"> </td> -</tr> -<tr> -<td class="parameter_name"><p>params</p></td> -<td class="parameter_description"><p>additional -parameters, or <code class="literal">NULL</code>. </p></td> -<td class="parameter_annotations"><span class="annotation">[<acronym title="NULL is OK, both for passing and for returning."><span class="acronym">allow-none</span></acronym>][<acronym title="Generics and defining elements of containers and arrays."><span class="acronym">element-type</span></acronym> utf8 utf8]</span></td> -</tr> -</tbody> -</table></div> -</div> -<p class="since">Since: 2.26</p> -</div> -<hr> -<div class="refsect2"> -<a name="soup-message-headers-get-content-disposition"></a><h3>soup_message_headers_get_content_disposition ()</h3> -<pre class="programlisting"><span class="returnvalue">gboolean</span> -soup_message_headers_get_content_disposition - (<em class="parameter"><code><a class="link" href="SoupMessageHeaders.html" title="SoupMessageHeaders"><span class="type">SoupMessageHeaders</span></a> *hdrs</code></em>, - <em class="parameter"><code><span class="type">char</span> **disposition</code></em>, - <em class="parameter"><code><span class="type">GHashTable</span> **params</code></em>);</pre> -<p>Looks up the "Content-Disposition" header in <em class="parameter"><code>hdrs</code></em> -, parses it, and -returns its value in *<em class="parameter"><code>disposition</code></em> - and *<em class="parameter"><code>params</code></em> -. <em class="parameter"><code>params</code></em> - can be -<code class="literal">NULL</code> if you are only interested in the disposition-type.</p> -<p>In HTTP, the most common use of this header is to set a -disposition-type of "attachment", to suggest to the browser that a -response should be saved to disk rather than displayed in the -browser. If <em class="parameter"><code>params</code></em> - contains a "filename" parameter, this is a -suggestion of a filename to use. (If the parameter value in the -header contains an absolute or relative path, libsoup will truncate -it down to just the final path component, so you do not need to -test this yourself.)</p> -<p>Content-Disposition is also used in "multipart/form-data", however -this is handled automatically by <a class="link" href="SoupMultipart.html" title="SoupMultipart"><span class="type">SoupMultipart</span></a> and the associated -form methods.</p> -<div class="refsect3"> -<a name="soup-message-headers-get-content-disposition.parameters"></a><h4>Parameters</h4> -<div class="informaltable"><table class="informaltable" width="100%" border="0"> -<colgroup> -<col width="150px" class="parameters_name"> -<col class="parameters_description"> -<col width="200px" class="parameters_annotations"> -</colgroup> -<tbody> -<tr> -<td class="parameter_name"><p>hdrs</p></td> -<td class="parameter_description"><p>a <a class="link" href="SoupMessageHeaders.html" title="SoupMessageHeaders"><span class="type">SoupMessageHeaders</span></a></p></td> -<td class="parameter_annotations"> </td> -</tr> -<tr> -<td class="parameter_name"><p>disposition</p></td> -<td class="parameter_description"><p>return location for the -disposition-type, or <code class="literal">NULL</code>. </p></td> -<td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter for returning results. Default is transfer full."><span class="acronym">out</span></acronym>][<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></td> -</tr> -<tr> -<td class="parameter_name"><p>params</p></td> -<td class="parameter_description"><p>return -location for the Content-Disposition parameters, or <code class="literal">NULL</code>. </p></td> -<td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter for returning results. Default is transfer full."><span class="acronym">out</span></acronym>][<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>][<acronym title="Generics and defining elements of containers and arrays."><span class="acronym">element-type</span></acronym> utf8 utf8]</span></td> -</tr> -</tbody> -</table></div> -</div> -<div class="refsect3"> -<a name="soup-message-headers-get-content-disposition.returns"></a><h4>Returns</h4> -<p> <code class="literal">TRUE</code> if <em class="parameter"><code>hdrs</code></em> -contains a "Content-Disposition" -header, <code class="literal">FALSE</code> if not (in which case *<em class="parameter"><code>disposition</code></em> -and *<em class="parameter"><code>params</code></em> -will be unchanged).</p> -</div> -<p class="since">Since: 2.26</p> -</div> -<hr> -<div class="refsect2"> -<a name="soup-message-headers-set-content-disposition"></a><h3>soup_message_headers_set_content_disposition ()</h3> -<pre class="programlisting"><span class="returnvalue">void</span> -soup_message_headers_set_content_disposition - (<em class="parameter"><code><a class="link" href="SoupMessageHeaders.html" title="SoupMessageHeaders"><span class="type">SoupMessageHeaders</span></a> *hdrs</code></em>, - <em class="parameter"><code>const <span class="type">char</span> *disposition</code></em>, - <em class="parameter"><code><span class="type">GHashTable</span> *params</code></em>);</pre> -<p>Sets the "Content-Disposition" header in <em class="parameter"><code>hdrs</code></em> - to <em class="parameter"><code>disposition</code></em> -, -optionally with additional parameters specified in <em class="parameter"><code>params</code></em> -.</p> -<p>See <a class="link" href="SoupMessageHeaders.html#soup-message-headers-get-content-disposition" title="soup_message_headers_get_content_disposition ()"><code class="function">soup_message_headers_get_content_disposition()</code></a> for a discussion -of how Content-Disposition is used in HTTP.</p> -<div class="refsect3"> -<a name="soup-message-headers-set-content-disposition.parameters"></a><h4>Parameters</h4> -<div class="informaltable"><table class="informaltable" width="100%" border="0"> -<colgroup> -<col width="150px" class="parameters_name"> -<col class="parameters_description"> -<col width="200px" class="parameters_annotations"> -</colgroup> -<tbody> -<tr> -<td class="parameter_name"><p>hdrs</p></td> -<td class="parameter_description"><p>a <a class="link" href="SoupMessageHeaders.html" title="SoupMessageHeaders"><span class="type">SoupMessageHeaders</span></a></p></td> -<td class="parameter_annotations"> </td> -</tr> -<tr> -<td class="parameter_name"><p>disposition</p></td> -<td class="parameter_description"><p>the disposition-type</p></td> -<td class="parameter_annotations"> </td> -</tr> -<tr> -<td class="parameter_name"><p>params</p></td> -<td class="parameter_description"><p>additional -parameters, or <code class="literal">NULL</code>. </p></td> -<td class="parameter_annotations"><span class="annotation">[<acronym title="NULL is OK, both for passing and for returning."><span class="acronym">allow-none</span></acronym>][<acronym title="Generics and defining elements of containers and arrays."><span class="acronym">element-type</span></acronym> utf8 utf8]</span></td> -</tr> -</tbody> -</table></div> -</div> -<p class="since">Since: 2.26</p> -</div> -<hr> -<div class="refsect2"> -<a name="soup-message-headers-get-ranges"></a><h3>soup_message_headers_get_ranges ()</h3> -<pre class="programlisting"><span class="returnvalue">gboolean</span> -soup_message_headers_get_ranges (<em class="parameter"><code><a class="link" href="SoupMessageHeaders.html" title="SoupMessageHeaders"><span class="type">SoupMessageHeaders</span></a> *hdrs</code></em>, - <em class="parameter"><code><span class="type">goffset</span> total_length</code></em>, - <em class="parameter"><code><a class="link" href="SoupMessageHeaders.html#SoupRange" title="SoupRange"><span class="type">SoupRange</span></a> **ranges</code></em>, - <em class="parameter"><code><span class="type">int</span> *length</code></em>);</pre> -<p>Parses <em class="parameter"><code>hdrs</code></em> -'s Range header and returns an array of the requested -byte ranges. The returned array must be freed with -<a class="link" href="SoupMessageHeaders.html#soup-message-headers-free-ranges" title="soup_message_headers_free_ranges ()"><code class="function">soup_message_headers_free_ranges()</code></a>.</p> -<p>If <em class="parameter"><code>total_length</code></em> - is non-0, its value will be used to adjust the -returned ranges to have explicit start and end values, and the -returned ranges will be sorted and non-overlapping. If -<em class="parameter"><code>total_length</code></em> - is 0, then some ranges may have an end value of -1, -as described under <a class="link" href="SoupMessageHeaders.html#SoupRange" title="SoupRange"><span class="type">SoupRange</span></a>, and some of the ranges may be -redundant.</p> -<p>Beware that even if given a <em class="parameter"><code>total_length</code></em> -, this function does not -check that the ranges are satisfiable.</p> -<div class="note"><p> -<a class="link" href="SoupServer.html" title="SoupServer"><span class="type">SoupServer</span></a> has built-in handling for range requests. If your -server handler returns a <a class="link" href="libsoup-2.4-soup-status.html#SOUP-STATUS-OK:CAPS"><code class="literal">SOUP_STATUS_OK</code></a> response containing the -complete response body (rather than pausing the message and -returning some of the response body later), and there is a Range -header in the request, then libsoup will automatically convert the -response to a <a class="link" href="libsoup-2.4-soup-status.html#SOUP-STATUS-PARTIAL-CONTENT:CAPS"><code class="literal">SOUP_STATUS_PARTIAL_CONTENT</code></a> response containing only -the range(s) requested by the client. - -The only time you need to process the Range header yourself is if -either you need to stream the response body rather than returning -it all at once, or you do not already have the complete response -body available, and only want to generate the parts that were -actually requested by the client. -</p></div> -<div class="refsect3"> -<a name="soup-message-headers-get-ranges.parameters"></a><h4>Parameters</h4> -<div class="informaltable"><table class="informaltable" width="100%" border="0"> -<colgroup> -<col width="150px" class="parameters_name"> -<col class="parameters_description"> -<col width="200px" class="parameters_annotations"> -</colgroup> -<tbody> -<tr> -<td class="parameter_name"><p>hdrs</p></td> -<td class="parameter_description"><p>a <a class="link" href="SoupMessageHeaders.html" title="SoupMessageHeaders"><span class="type">SoupMessageHeaders</span></a></p></td> -<td class="parameter_annotations"> </td> -</tr> -<tr> -<td class="parameter_name"><p>total_length</p></td> -<td class="parameter_description"><p>the total_length of the response body</p></td> -<td class="parameter_annotations"> </td> -</tr> -<tr> -<td class="parameter_name"><p>ranges</p></td> -<td class="parameter_description"><p>return location for an array -of <a class="link" href="SoupMessageHeaders.html#SoupRange" title="SoupRange"><span class="type">SoupRange</span></a>. </p></td> -<td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter for returning results. Default is transfer full."><span class="acronym">out</span></acronym>][<acronym title="Parameter points to an array of items."><span class="acronym">array</span></acronym> length=length]</span></td> -</tr> -<tr> -<td class="parameter_name"><p>length</p></td> -<td class="parameter_description"><p>the length of the returned array</p></td> -<td class="parameter_annotations"> </td> -</tr> -</tbody> -</table></div> -</div> -<div class="refsect3"> -<a name="soup-message-headers-get-ranges.returns"></a><h4>Returns</h4> -<p> <code class="literal">TRUE</code> if <em class="parameter"><code>hdrs</code></em> -contained a syntactically-valid -"Range" header, <code class="literal">FALSE</code> otherwise (in which case <em class="parameter"><code>range</code></em> -and <em class="parameter"><code>length</code></em> -will not be set).</p> -</div> -<p class="since">Since: 2.26</p> -</div> -<hr> -<div class="refsect2"> -<a name="soup-message-headers-set-ranges"></a><h3>soup_message_headers_set_ranges ()</h3> -<pre class="programlisting"><span class="returnvalue">void</span> -soup_message_headers_set_ranges (<em class="parameter"><code><a class="link" href="SoupMessageHeaders.html" title="SoupMessageHeaders"><span class="type">SoupMessageHeaders</span></a> *hdrs</code></em>, - <em class="parameter"><code><a class="link" href="SoupMessageHeaders.html#SoupRange" title="SoupRange"><span class="type">SoupRange</span></a> *ranges</code></em>, - <em class="parameter"><code><span class="type">int</span> length</code></em>);</pre> -<p>Sets <em class="parameter"><code>hdrs</code></em> -'s Range header to request the indicated ranges. (If you -only want to request a single range, you can use -<a class="link" href="SoupMessageHeaders.html#soup-message-headers-set-range" title="soup_message_headers_set_range ()"><code class="function">soup_message_headers_set_range()</code></a>.)</p> -<div class="refsect3"> -<a name="soup-message-headers-set-ranges.parameters"></a><h4>Parameters</h4> -<div class="informaltable"><table class="informaltable" width="100%" border="0"> -<colgroup> -<col width="150px" class="parameters_name"> -<col class="parameters_description"> -<col width="200px" class="parameters_annotations"> -</colgroup> -<tbody> -<tr> -<td class="parameter_name"><p>hdrs</p></td> -<td class="parameter_description"><p>a <a class="link" href="SoupMessageHeaders.html" title="SoupMessageHeaders"><span class="type">SoupMessageHeaders</span></a></p></td> -<td class="parameter_annotations"> </td> -</tr> -<tr> -<td class="parameter_name"><p>ranges</p></td> -<td class="parameter_description"><p>an array of <a class="link" href="SoupMessageHeaders.html#SoupRange" title="SoupRange"><span class="type">SoupRange</span></a></p></td> -<td class="parameter_annotations"> </td> -</tr> -<tr> -<td class="parameter_name"><p>length</p></td> -<td class="parameter_description"><p>the length of <em class="parameter"><code>range</code></em> -</p></td> -<td class="parameter_annotations"> </td> -</tr> -</tbody> -</table></div> -</div> -<p class="since">Since: 2.26</p> -</div> -<hr> -<div class="refsect2"> -<a name="soup-message-headers-set-range"></a><h3>soup_message_headers_set_range ()</h3> -<pre class="programlisting"><span class="returnvalue">void</span> -soup_message_headers_set_range (<em class="parameter"><code><a class="link" href="SoupMessageHeaders.html" title="SoupMessageHeaders"><span class="type">SoupMessageHeaders</span></a> *hdrs</code></em>, - <em class="parameter"><code><span class="type">goffset</span> start</code></em>, - <em class="parameter"><code><span class="type">goffset</span> end</code></em>);</pre> -<p>Sets <em class="parameter"><code>hdrs</code></em> -'s Range header to request the indicated range. -<em class="parameter"><code>start</code></em> - and <em class="parameter"><code>end</code></em> - are interpreted as in a <a class="link" href="SoupMessageHeaders.html#SoupRange" title="SoupRange"><span class="type">SoupRange</span></a>.</p> -<p>If you need to request multiple ranges, use -<a class="link" href="SoupMessageHeaders.html#soup-message-headers-set-ranges" title="soup_message_headers_set_ranges ()"><code class="function">soup_message_headers_set_ranges()</code></a>.</p> -<div class="refsect3"> -<a name="soup-message-headers-set-range.parameters"></a><h4>Parameters</h4> -<div class="informaltable"><table class="informaltable" width="100%" border="0"> -<colgroup> -<col width="150px" class="parameters_name"> -<col class="parameters_description"> -<col width="200px" class="parameters_annotations"> -</colgroup> -<tbody> -<tr> -<td class="parameter_name"><p>hdrs</p></td> -<td class="parameter_description"><p>a <a class="link" href="SoupMessageHeaders.html" title="SoupMessageHeaders"><span class="type">SoupMessageHeaders</span></a></p></td> -<td class="parameter_annotations"> </td> -</tr> -<tr> -<td class="parameter_name"><p>start</p></td> -<td class="parameter_description"><p>the start of the range to request</p></td> -<td class="parameter_annotations"> </td> -</tr> -<tr> -<td class="parameter_name"><p>end</p></td> -<td class="parameter_description"><p>the end of the range to request</p></td> -<td class="parameter_annotations"> </td> -</tr> -</tbody> -</table></div> -</div> -<p class="since">Since: 2.26</p> -</div> -<hr> -<div class="refsect2"> -<a name="soup-message-headers-free-ranges"></a><h3>soup_message_headers_free_ranges ()</h3> -<pre class="programlisting"><span class="returnvalue">void</span> -soup_message_headers_free_ranges (<em class="parameter"><code><a class="link" href="SoupMessageHeaders.html" title="SoupMessageHeaders"><span class="type">SoupMessageHeaders</span></a> *hdrs</code></em>, - <em class="parameter"><code><a class="link" href="SoupMessageHeaders.html#SoupRange" title="SoupRange"><span class="type">SoupRange</span></a> *ranges</code></em>);</pre> -<p>Frees the array of ranges returned from <a class="link" href="SoupMessageHeaders.html#soup-message-headers-get-ranges" title="soup_message_headers_get_ranges ()"><code class="function">soup_message_headers_get_ranges()</code></a>.</p> -<div class="refsect3"> -<a name="soup-message-headers-free-ranges.parameters"></a><h4>Parameters</h4> -<div class="informaltable"><table class="informaltable" width="100%" border="0"> -<colgroup> -<col width="150px" class="parameters_name"> -<col class="parameters_description"> -<col width="200px" class="parameters_annotations"> -</colgroup> -<tbody> -<tr> -<td class="parameter_name"><p>hdrs</p></td> -<td class="parameter_description"><p>a <a class="link" href="SoupMessageHeaders.html" title="SoupMessageHeaders"><span class="type">SoupMessageHeaders</span></a></p></td> -<td class="parameter_annotations"> </td> -</tr> -<tr> -<td class="parameter_name"><p>ranges</p></td> -<td class="parameter_description"><p>an array of <a class="link" href="SoupMessageHeaders.html#SoupRange" title="SoupRange"><span class="type">SoupRange</span></a></p></td> -<td class="parameter_annotations"> </td> -</tr> -</tbody> -</table></div> -</div> -<p class="since">Since: 2.26</p> -</div> -<hr> -<div class="refsect2"> -<a name="soup-message-headers-get-content-range"></a><h3>soup_message_headers_get_content_range ()</h3> -<pre class="programlisting"><span class="returnvalue">gboolean</span> -soup_message_headers_get_content_range - (<em class="parameter"><code><a class="link" href="SoupMessageHeaders.html" title="SoupMessageHeaders"><span class="type">SoupMessageHeaders</span></a> *hdrs</code></em>, - <em class="parameter"><code><span class="type">goffset</span> *start</code></em>, - <em class="parameter"><code><span class="type">goffset</span> *end</code></em>, - <em class="parameter"><code><span class="type">goffset</span> *total_length</code></em>);</pre> -<p>Parses <em class="parameter"><code>hdrs</code></em> -'s Content-Range header and returns it in <em class="parameter"><code>start</code></em> -, -<em class="parameter"><code>end</code></em> -, and <em class="parameter"><code>total_length</code></em> -. If the total length field in the header -was specified as "*", then <em class="parameter"><code>total_length</code></em> - will be set to -1.</p> -<div class="refsect3"> -<a name="soup-message-headers-get-content-range.parameters"></a><h4>Parameters</h4> -<div class="informaltable"><table class="informaltable" width="100%" border="0"> -<colgroup> -<col width="150px" class="parameters_name"> -<col class="parameters_description"> -<col width="200px" class="parameters_annotations"> -</colgroup> -<tbody> -<tr> -<td class="parameter_name"><p>hdrs</p></td> -<td class="parameter_description"><p>a <a class="link" href="SoupMessageHeaders.html" title="SoupMessageHeaders"><span class="type">SoupMessageHeaders</span></a></p></td> -<td class="parameter_annotations"> </td> -</tr> -<tr> -<td class="parameter_name"><p>start</p></td> -<td class="parameter_description"><p>return value for the start of the range. </p></td> -<td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter for returning results. Default is transfer full."><span class="acronym">out</span></acronym>]</span></td> -</tr> -<tr> -<td class="parameter_name"><p>end</p></td> -<td class="parameter_description"><p>return value for the end of the range. </p></td> -<td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter for returning results. Default is transfer full."><span class="acronym">out</span></acronym>]</span></td> -</tr> -<tr> -<td class="parameter_name"><p>total_length</p></td> -<td class="parameter_description"><p>return value for the total length of the -resource, or <code class="literal">NULL</code> if you don't care. </p></td> -<td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter for returning results. Default is transfer full."><span class="acronym">out</span></acronym>][<acronym title="NULL may be passed instead of a pointer to a location."><span class="acronym">optional</span></acronym>]</span></td> -</tr> -</tbody> -</table></div> -</div> -<div class="refsect3"> -<a name="soup-message-headers-get-content-range.returns"></a><h4>Returns</h4> -<p> <code class="literal">TRUE</code> if <em class="parameter"><code>hdrs</code></em> -contained a "Content-Range" header -containing a byte range which could be parsed, <code class="literal">FALSE</code> otherwise.</p> -</div> -<p class="since">Since: 2.26</p> -</div> -<hr> -<div class="refsect2"> -<a name="soup-message-headers-set-content-range"></a><h3>soup_message_headers_set_content_range ()</h3> -<pre class="programlisting"><span class="returnvalue">void</span> -soup_message_headers_set_content_range - (<em class="parameter"><code><a class="link" href="SoupMessageHeaders.html" title="SoupMessageHeaders"><span class="type">SoupMessageHeaders</span></a> *hdrs</code></em>, - <em class="parameter"><code><span class="type">goffset</span> start</code></em>, - <em class="parameter"><code><span class="type">goffset</span> end</code></em>, - <em class="parameter"><code><span class="type">goffset</span> total_length</code></em>);</pre> -<p>Sets <em class="parameter"><code>hdrs</code></em> -'s Content-Range header according to the given values. -(Note that <em class="parameter"><code>total_length</code></em> - is the total length of the entire resource -that this is a range of, not simply <em class="parameter"><code>end</code></em> - - <em class="parameter"><code>start</code></em> - + 1.)</p> -<div class="note"><p> -<a class="link" href="SoupServer.html" title="SoupServer"><span class="type">SoupServer</span></a> has built-in handling for range requests, and you do -not normally need to call this function youself. See -<a class="link" href="SoupMessageHeaders.html#soup-message-headers-get-ranges" title="soup_message_headers_get_ranges ()"><code class="function">soup_message_headers_get_ranges()</code></a> for more details. -</p></div> -<div class="refsect3"> -<a name="soup-message-headers-set-content-range.parameters"></a><h4>Parameters</h4> -<div class="informaltable"><table class="informaltable" width="100%" border="0"> -<colgroup> -<col width="150px" class="parameters_name"> -<col class="parameters_description"> -<col width="200px" class="parameters_annotations"> -</colgroup> -<tbody> -<tr> -<td class="parameter_name"><p>hdrs</p></td> -<td class="parameter_description"><p>a <a class="link" href="SoupMessageHeaders.html" title="SoupMessageHeaders"><span class="type">SoupMessageHeaders</span></a></p></td> -<td class="parameter_annotations"> </td> -</tr> -<tr> -<td class="parameter_name"><p>start</p></td> -<td class="parameter_description"><p>the start of the range</p></td> -<td class="parameter_annotations"> </td> -</tr> -<tr> -<td class="parameter_name"><p>end</p></td> -<td class="parameter_description"><p>the end of the range</p></td> -<td class="parameter_annotations"> </td> -</tr> -<tr> -<td class="parameter_name"><p>total_length</p></td> -<td class="parameter_description"><p>the total length of the resource, or -1 if unknown</p></td> -<td class="parameter_annotations"> </td> -</tr> -</tbody> -</table></div> -</div> -<p class="since">Since: 2.26</p> -</div> -</div> -<div class="refsect1"> -<a name="SoupMessageHeaders.other_details"></a><h2>Types and Values</h2> -<div class="refsect2"> -<a name="SoupMessageHeaders"></a><h3>SoupMessageHeaders</h3> -<pre class="programlisting">typedef struct SoupMessageHeaders SoupMessageHeaders; -</pre> -<p>The HTTP message headers associated with a request or response.</p> -</div> -<hr> -<div class="refsect2"> -<a name="SoupMessageHeadersType"></a><h3>enum SoupMessageHeadersType</h3> -<p>Value passed to <a class="link" href="SoupMessageHeaders.html#soup-message-headers-new" title="soup_message_headers_new ()"><code class="function">soup_message_headers_new()</code></a> to set certain default -behaviors.</p> -<div class="refsect3"> -<a name="SoupMessageHeadersType.members"></a><h4>Members</h4> -<div class="informaltable"><table class="informaltable" width="100%" border="0"> -<colgroup> -<col width="300px" class="enum_members_name"> -<col class="enum_members_description"> -<col width="200px" class="enum_members_annotations"> -</colgroup> -<tbody> -<tr> -<td class="enum_member_name"><p><a name="SOUP-MESSAGE-HEADERS-REQUEST:CAPS"></a>SOUP_MESSAGE_HEADERS_REQUEST</p></td> -<td class="enum_member_description"> -<p>request headers</p> -</td> -<td class="enum_member_annotations"> </td> -</tr> -<tr> -<td class="enum_member_name"><p><a name="SOUP-MESSAGE-HEADERS-RESPONSE:CAPS"></a>SOUP_MESSAGE_HEADERS_RESPONSE</p></td> -<td class="enum_member_description"> -<p>response headers</p> -</td> -<td class="enum_member_annotations"> </td> -</tr> -<tr> -<td class="enum_member_name"><p><a name="SOUP-MESSAGE-HEADERS-MULTIPART:CAPS"></a>SOUP_MESSAGE_HEADERS_MULTIPART</p></td> -<td class="enum_member_description"> -<p>multipart body part headers</p> -</td> -<td class="enum_member_annotations"> </td> -</tr> -</tbody> -</table></div> -</div> -</div> -<hr> -<div class="refsect2"> -<a name="SoupMessageHeadersIter"></a><h3>SoupMessageHeadersIter</h3> -<pre class="programlisting">typedef struct { -} SoupMessageHeadersIter; -</pre> -<p>An opaque type used to iterate over a <a class="link" href="SoupMessageHeaders.html" title="SoupMessageHeaders"><code class="literal">SoupMessageHeaders</code></a> -structure.</p> -<p>After intializing the iterator with -<a class="link" href="SoupMessageHeaders.html#soup-message-headers-iter-init" title="soup_message_headers_iter_init ()"><code class="function">soup_message_headers_iter_init()</code></a>, call -<a class="link" href="SoupMessageHeaders.html#soup-message-headers-iter-next" title="soup_message_headers_iter_next ()"><code class="function">soup_message_headers_iter_next()</code></a> to fetch data from it.</p> -<p>You may not modify the headers while iterating over them.</p> -</div> -<hr> -<div class="refsect2"> -<a name="SoupEncoding"></a><h3>enum SoupEncoding</h3> -<p>How a message body is encoded for transport</p> -<div class="refsect3"> -<a name="SoupEncoding.members"></a><h4>Members</h4> -<div class="informaltable"><table class="informaltable" width="100%" border="0"> -<colgroup> -<col width="300px" class="enum_members_name"> -<col class="enum_members_description"> -<col width="200px" class="enum_members_annotations"> -</colgroup> -<tbody> -<tr> -<td class="enum_member_name"><p><a name="SOUP-ENCODING-UNRECOGNIZED:CAPS"></a>SOUP_ENCODING_UNRECOGNIZED</p></td> -<td class="enum_member_description"> -<p>unknown / error</p> -</td> -<td class="enum_member_annotations"> </td> -</tr> -<tr> -<td class="enum_member_name"><p><a name="SOUP-ENCODING-NONE:CAPS"></a>SOUP_ENCODING_NONE</p></td> -<td class="enum_member_description"> -<p>no body is present (which is not the same as a -0-length body, and only occurs in certain places)</p> -</td> -<td class="enum_member_annotations"> </td> -</tr> -<tr> -<td class="enum_member_name"><p><a name="SOUP-ENCODING-CONTENT-LENGTH:CAPS"></a>SOUP_ENCODING_CONTENT_LENGTH</p></td> -<td class="enum_member_description"> -<p>Content-Length encoding</p> -</td> -<td class="enum_member_annotations"> </td> -</tr> -<tr> -<td class="enum_member_name"><p><a name="SOUP-ENCODING-EOF:CAPS"></a>SOUP_ENCODING_EOF</p></td> -<td class="enum_member_description"> -<p>Response body ends when the connection is closed</p> -</td> -<td class="enum_member_annotations"> </td> -</tr> -<tr> -<td class="enum_member_name"><p><a name="SOUP-ENCODING-CHUNKED:CAPS"></a>SOUP_ENCODING_CHUNKED</p></td> -<td class="enum_member_description"> -<p>chunked encoding (currently only supported -for response)</p> -</td> -<td class="enum_member_annotations"> </td> -</tr> -<tr> -<td class="enum_member_name"><p><a name="SOUP-ENCODING-BYTERANGES:CAPS"></a>SOUP_ENCODING_BYTERANGES</p></td> -<td class="enum_member_description"> -<p>multipart/byteranges (Reserved for future -use: NOT CURRENTLY IMPLEMENTED)</p> -</td> -<td class="enum_member_annotations"> </td> -</tr> -</tbody> -</table></div> -</div> -</div> -<hr> -<div class="refsect2"> -<a name="SoupExpectation"></a><h3>enum SoupExpectation</h3> -<p>Represents the parsed value of the "Expect" header.</p> -<div class="refsect3"> -<a name="SoupExpectation.members"></a><h4>Members</h4> -<div class="informaltable"><table class="informaltable" width="100%" border="0"> -<colgroup> -<col width="300px" class="enum_members_name"> -<col class="enum_members_description"> -<col width="200px" class="enum_members_annotations"> -</colgroup> -<tbody> -<tr> -<td class="enum_member_name"><p><a name="SOUP-EXPECTATION-UNRECOGNIZED:CAPS"></a>SOUP_EXPECTATION_UNRECOGNIZED</p></td> -<td class="enum_member_description"> -<p>any unrecognized expectation</p> -</td> -<td class="enum_member_annotations"> </td> -</tr> -<tr> -<td class="enum_member_name"><p><a name="SOUP-EXPECTATION-CONTINUE:CAPS"></a>SOUP_EXPECTATION_CONTINUE</p></td> -<td class="enum_member_description"> -<p>"100-continue"</p> -</td> -<td class="enum_member_annotations"> </td> -</tr> -</tbody> -</table></div> -</div> -</div> -<hr> -<div class="refsect2"> -<a name="SoupRange"></a><h3>SoupRange</h3> -<pre class="programlisting">typedef struct { - goffset start; - goffset end; -} SoupRange; -</pre> -<p>Represents a byte range as used in the Range header.</p> -<p>If <em class="parameter"><code>end</code></em> - is non-negative, then <em class="parameter"><code>start</code></em> - and <em class="parameter"><code>end</code></em> - represent the bounds -of of the range, counting from 0. (Eg, the first 500 bytes would be -represented as <em class="parameter"><code>start</code></em> - = 0 and <em class="parameter"><code>end</code></em> - = 499.)</p> -<p>If <em class="parameter"><code>end</code></em> - is -1 and <em class="parameter"><code>start</code></em> - is non-negative, then this represents a -range starting at <em class="parameter"><code>start</code></em> - and ending with the last byte of the -requested resource body. (Eg, all but the first 500 bytes would be -<em class="parameter"><code>start</code></em> - = 500, and <em class="parameter"><code>end</code></em> - = -1.)</p> -<p>If <em class="parameter"><code>end</code></em> - is -1 and <em class="parameter"><code>start</code></em> - is negative, then it represents a "suffix -range", referring to the last -<em class="parameter"><code>start</code></em> - bytes of the resource body. -(Eg, the last 500 bytes would be <em class="parameter"><code>start</code></em> - = -500 and <em class="parameter"><code>end</code></em> - = -1.)</p> -<div class="refsect3"> -<a name="SoupRange.members"></a><h4>Members</h4> -<div class="informaltable"><table class="informaltable" width="100%" border="0"> -<colgroup> -<col width="300px" class="struct_members_name"> -<col class="struct_members_description"> -<col width="200px" class="struct_members_annotations"> -</colgroup> -<tbody> -<tr> -<td class="struct_member_name"><p><span class="type">goffset</span> <em class="structfield"><code><a name="SoupRange.start"></a>start</code></em>;</p></td> -<td class="struct_member_description"><p>the start of the range</p></td> -<td class="struct_member_annotations"> </td> -</tr> -<tr> -<td class="struct_member_name"><p><span class="type">goffset</span> <em class="structfield"><code><a name="SoupRange.end"></a>end</code></em>;</p></td> -<td class="struct_member_description"><p>the end of the range</p></td> -<td class="struct_member_annotations"> </td> -</tr> -</tbody> -</table></div> -</div> -<p class="since">Since: 2.26</p> -</div> -</div> -<div class="refsect1"> -<a name="SoupMessageHeaders.see-also"></a><h2>See Also</h2> -<p><a class="link" href="SoupMessage.html" title="SoupMessage"><span class="type">SoupMessage</span></a></p> -</div> -</div> -<div class="footer"> -<hr>Generated by GTK-Doc V1.28.1</div> -</body> -</html>
\ No newline at end of file |