Blob Blame History Raw
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>SoupURI: 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="libsoup-2.4-Top-Level-Domain-utils.html" title="Top Level Domain utils">
<link rel="next" href="libsoup-2.4-Version-Information.html" title="Version Information">
<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="#SoupURI.description" class="shortcut">Description</a></span><span id="nav_hierarchy">  <span class="dim">|</span> 
                  <a href="#SoupURI.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="libsoup-2.4-Top-Level-Domain-utils.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
<td><a accesskey="n" href="libsoup-2.4-Version-Information.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
</tr></table>
<div class="refentry">
<a name="SoupURI"></a><div class="titlepage"></div>
<div class="refnamediv"><table width="100%"><tr>
<td valign="top">
<h2><span class="refentrytitle"><a name="SoupURI.top_of_page"></a>SoupURI</span></h2>
<p>SoupURI — URIs</p>
</td>
<td class="gallery_image" valign="top" align="right"></td>
</tr></table></div>
<div class="refsect1">
<a name="SoupURI.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="SoupURI.html" title="SoupURI"><span class="returnvalue">SoupURI</span></a> *
</td>
<td class="function_name">
<a class="link" href="SoupURI.html#soup-uri-new-with-base" title="soup_uri_new_with_base ()">soup_uri_new_with_base</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<a class="link" href="SoupURI.html" title="SoupURI"><span class="returnvalue">SoupURI</span></a> *
</td>
<td class="function_name">
<a class="link" href="SoupURI.html#soup-uri-new" title="soup_uri_new ()">soup_uri_new</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<span class="returnvalue">char</span> *
</td>
<td class="function_name">
<a class="link" href="SoupURI.html#soup-uri-to-string" title="soup_uri_to_string ()">soup_uri_to_string</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<a class="link" href="SoupURI.html" title="SoupURI"><span class="returnvalue">SoupURI</span></a> *
</td>
<td class="function_name">
<a class="link" href="SoupURI.html#soup-uri-copy" title="soup_uri_copy ()">soup_uri_copy</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<a class="link" href="SoupURI.html" title="SoupURI"><span class="returnvalue">SoupURI</span></a> *
</td>
<td class="function_name">
<a class="link" href="SoupURI.html#soup-uri-copy-host" title="soup_uri_copy_host ()">soup_uri_copy_host</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="SoupURI.html#soup-uri-equal" title="soup_uri_equal ()">soup_uri_equal</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="SoupURI.html#soup-uri-host-equal" title="soup_uri_host_equal ()">soup_uri_host_equal</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<span class="returnvalue">guint</span>
</td>
<td class="function_name">
<a class="link" href="SoupURI.html#soup-uri-host-hash" title="soup_uri_host_hash ()">soup_uri_host_hash</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="SoupURI.html#soup-uri-free" title="soup_uri_free ()">soup_uri_free</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<span class="returnvalue">char</span> *
</td>
<td class="function_name">
<a class="link" href="SoupURI.html#soup-uri-encode" title="soup_uri_encode ()">soup_uri_encode</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<span class="returnvalue">char</span> *
</td>
<td class="function_name">
<a class="link" href="SoupURI.html#soup-uri-decode" title="soup_uri_decode ()">soup_uri_decode</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<span class="returnvalue">char</span> *
</td>
<td class="function_name">
<a class="link" href="SoupURI.html#soup-uri-normalize" title="soup_uri_normalize ()">soup_uri_normalize</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="SoupURI.html#soup-uri-uses-default-port" title="soup_uri_uses_default_port ()">soup_uri_uses_default_port</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="define_keyword">#define</td>
<td class="function_name">
<a class="link" href="SoupURI.html#SOUP-URI-IS-VALID:CAPS" title="SOUP_URI_IS_VALID()">SOUP_URI_IS_VALID</a><span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="define_keyword">#define</td>
<td class="function_name">
<a class="link" href="SoupURI.html#SOUP-URI-VALID-FOR-HTTP:CAPS" title="SOUP_URI_VALID_FOR_HTTP()">SOUP_URI_VALID_FOR_HTTP</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="SoupURI.html#soup-uri-set-scheme" title="soup_uri_set_scheme ()">soup_uri_set_scheme</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="SoupURI.html#soup-uri-get-scheme" title="soup_uri_get_scheme ()">soup_uri_get_scheme</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="SoupURI.html#soup-uri-set-user" title="soup_uri_set_user ()">soup_uri_set_user</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="SoupURI.html#soup-uri-get-user" title="soup_uri_get_user ()">soup_uri_get_user</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="SoupURI.html#soup-uri-set-password" title="soup_uri_set_password ()">soup_uri_set_password</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="SoupURI.html#soup-uri-get-password" title="soup_uri_get_password ()">soup_uri_get_password</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="SoupURI.html#soup-uri-set-host" title="soup_uri_set_host ()">soup_uri_set_host</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="SoupURI.html#soup-uri-get-host" title="soup_uri_get_host ()">soup_uri_get_host</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="SoupURI.html#soup-uri-set-port" title="soup_uri_set_port ()">soup_uri_set_port</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<span class="returnvalue">guint</span>
</td>
<td class="function_name">
<a class="link" href="SoupURI.html#soup-uri-get-port" title="soup_uri_get_port ()">soup_uri_get_port</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="SoupURI.html#soup-uri-set-path" title="soup_uri_set_path ()">soup_uri_set_path</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="SoupURI.html#soup-uri-get-path" title="soup_uri_get_path ()">soup_uri_get_path</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="SoupURI.html#soup-uri-set-query" title="soup_uri_set_query ()">soup_uri_set_query</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="SoupURI.html#soup-uri-set-query-from-form" title="soup_uri_set_query_from_form ()">soup_uri_set_query_from_form</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="SoupURI.html#soup-uri-set-query-from-fields" title="soup_uri_set_query_from_fields ()">soup_uri_set_query_from_fields</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="SoupURI.html#soup-uri-get-query" title="soup_uri_get_query ()">soup_uri_get_query</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="SoupURI.html#soup-uri-set-fragment" title="soup_uri_set_fragment ()">soup_uri_set_fragment</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="SoupURI.html#soup-uri-get-fragment" title="soup_uri_get_fragment ()">soup_uri_get_fragment</a> <span class="c_punctuation">()</span>
</td>
</tr>
</tbody>
</table></div>
</div>
<div class="refsect1">
<a name="SoupURI.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="datatype_keyword"> </td>
<td class="function_name"><a class="link" href="SoupURI.html#SoupURI-struct" title="SoupURI">SoupURI</a></td>
</tr>
<tr>
<td class="define_keyword">#define</td>
<td class="function_name"><a class="link" href="SoupURI.html#SOUP-URI-SCHEME-HTTP:CAPS" title="SOUP_URI_SCHEME_HTTP">SOUP_URI_SCHEME_HTTP</a></td>
</tr>
<tr>
<td class="define_keyword">#define</td>
<td class="function_name"><a class="link" href="SoupURI.html#SOUP-URI-SCHEME-HTTPS:CAPS" title="SOUP_URI_SCHEME_HTTPS">SOUP_URI_SCHEME_HTTPS</a></td>
</tr>
<tr>
<td class="define_keyword">#define</td>
<td class="function_name"><a class="link" href="SoupURI.html#SOUP-URI-SCHEME-DATA:CAPS" title="SOUP_URI_SCHEME_DATA">SOUP_URI_SCHEME_DATA</a></td>
</tr>
<tr>
<td class="define_keyword">#define</td>
<td class="function_name"><a class="link" href="SoupURI.html#SOUP-URI-SCHEME-FILE:CAPS" title="SOUP_URI_SCHEME_FILE">SOUP_URI_SCHEME_FILE</a></td>
</tr>
<tr>
<td class="define_keyword">#define</td>
<td class="function_name"><a class="link" href="SoupURI.html#SOUP-URI-SCHEME-FTP:CAPS" title="SOUP_URI_SCHEME_FTP">SOUP_URI_SCHEME_FTP</a></td>
</tr>
<tr>
<td class="define_keyword">#define</td>
<td class="function_name"><a class="link" href="SoupURI.html#SOUP-URI-SCHEME-RESOURCE:CAPS" title="SOUP_URI_SCHEME_RESOURCE">SOUP_URI_SCHEME_RESOURCE</a></td>
</tr>
<tr>
<td class="define_keyword">#define</td>
<td class="function_name"><a class="link" href="SoupURI.html#SOUP-URI-SCHEME-WS:CAPS" title="SOUP_URI_SCHEME_WS">SOUP_URI_SCHEME_WS</a></td>
</tr>
<tr>
<td class="define_keyword">#define</td>
<td class="function_name"><a class="link" href="SoupURI.html#SOUP-URI-SCHEME-WSS:CAPS" title="SOUP_URI_SCHEME_WSS">SOUP_URI_SCHEME_WSS</a></td>
</tr>
</tbody>
</table></div>
</div>
<div class="refsect1">
<a name="SoupURI.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> SoupURI
</pre>
</div>
<div class="refsect1">
<a name="SoupURI.includes"></a><h2>Includes</h2>
<pre class="synopsis">#include &lt;libsoup/soup.h&gt;
</pre>
</div>
<div class="refsect1">
<a name="SoupURI.description"></a><h2>Description</h2>
<p>A <a class="link" href="SoupURI.html" title="SoupURI"><span class="type">SoupURI</span></a> represents a (parsed) URI.</p>
<p>Many applications will not need to use <a class="link" href="SoupURI.html" title="SoupURI"><span class="type">SoupURI</span></a> directly at all; on
the client side, <a class="link" href="SoupMessage.html#soup-message-new" title="soup_message_new ()"><code class="function">soup_message_new()</code></a> takes a stringified URI, and on
the server side, the path and query components are provided for you
in the server callback.</p>
</div>
<div class="refsect1">
<a name="SoupURI.functions_details"></a><h2>Functions</h2>
<div class="refsect2">
<a name="soup-uri-new-with-base"></a><h3>soup_uri_new_with_base ()</h3>
<pre class="programlisting"><a class="link" href="SoupURI.html" title="SoupURI"><span class="returnvalue">SoupURI</span></a> *
soup_uri_new_with_base (<em class="parameter"><code><a class="link" href="SoupURI.html" title="SoupURI"><span class="type">SoupURI</span></a> *base</code></em>,
                        <em class="parameter"><code>const <span class="type">char</span> *uri_string</code></em>);</pre>
<p>Parses <em class="parameter"><code>uri_string</code></em>
 relative to <em class="parameter"><code>base</code></em>
.</p>
<div class="refsect3">
<a name="soup-uri-new-with-base.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>base</p></td>
<td class="parameter_description"><p>a base URI</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>uri_string</p></td>
<td class="parameter_description"><p>the URI</p></td>
<td class="parameter_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
<div class="refsect3">
<a name="soup-uri-new-with-base.returns"></a><h4>Returns</h4>
<p> a parsed <a class="link" href="SoupURI.html" title="SoupURI"><span class="type">SoupURI</span></a>.</p>
</div>
</div>
<hr>
<div class="refsect2">
<a name="soup-uri-new"></a><h3>soup_uri_new ()</h3>
<pre class="programlisting"><a class="link" href="SoupURI.html" title="SoupURI"><span class="returnvalue">SoupURI</span></a> *
soup_uri_new (<em class="parameter"><code>const <span class="type">char</span> *uri_string</code></em>);</pre>
<p>Parses an absolute URI.</p>
<p>You can also pass <code class="literal">NULL</code> for <em class="parameter"><code>uri_string</code></em>
 if you want to get back an
"empty" <a class="link" href="SoupURI.html" title="SoupURI"><span class="type">SoupURI</span></a> that you can fill in by hand. (You will need to
call at least <a class="link" href="SoupURI.html#soup-uri-set-scheme" title="soup_uri_set_scheme ()"><code class="function">soup_uri_set_scheme()</code></a> and <a class="link" href="SoupURI.html#soup-uri-set-path" title="soup_uri_set_path ()"><code class="function">soup_uri_set_path()</code></a>, since
those fields are required.)</p>
<div class="refsect3">
<a name="soup-uri-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>uri_string</p></td>
<td class="parameter_description"><p>a URI. </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>]</span></td>
</tr></tbody>
</table></div>
</div>
<div class="refsect3">
<a name="soup-uri-new.returns"></a><h4>Returns</h4>
<p>a <a class="link" href="SoupURI.html" title="SoupURI"><span class="type">SoupURI</span></a>, or <code class="literal">NULL</code> if the given string
was found to be invalid. </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>
</div>
<hr>
<div class="refsect2">
<a name="soup-uri-to-string"></a><h3>soup_uri_to_string ()</h3>
<pre class="programlisting"><span class="returnvalue">char</span> *
soup_uri_to_string (<em class="parameter"><code><a class="link" href="SoupURI.html" title="SoupURI"><span class="type">SoupURI</span></a> *uri</code></em>,
                    <em class="parameter"><code><span class="type">gboolean</span> just_path_and_query</code></em>);</pre>
<p>Returns a string representing <em class="parameter"><code>uri</code></em>
.</p>
<p>If <em class="parameter"><code>just_path_and_query</code></em>
 is <code class="literal">TRUE</code>, this concatenates the path and query
together. That is, it constructs the string that would be needed in
the Request-Line of an HTTP request for <em class="parameter"><code>uri</code></em>
.</p>
<p>Note that the output will never contain a password, even if <em class="parameter"><code>uri</code></em>

does.</p>
<div class="refsect3">
<a name="soup-uri-to-string.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>uri</p></td>
<td class="parameter_description"><p>a <a class="link" href="SoupURI.html" title="SoupURI"><span class="type">SoupURI</span></a></p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>just_path_and_query</p></td>
<td class="parameter_description"><p>if <code class="literal">TRUE</code>, output just the path and query portions</p></td>
<td class="parameter_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
<div class="refsect3">
<a name="soup-uri-to-string.returns"></a><h4>Returns</h4>
<p> a string representing <em class="parameter"><code>uri</code></em>
, which the caller must free.</p>
</div>
</div>
<hr>
<div class="refsect2">
<a name="soup-uri-copy"></a><h3>soup_uri_copy ()</h3>
<pre class="programlisting"><a class="link" href="SoupURI.html" title="SoupURI"><span class="returnvalue">SoupURI</span></a> *
soup_uri_copy (<em class="parameter"><code><a class="link" href="SoupURI.html" title="SoupURI"><span class="type">SoupURI</span></a> *uri</code></em>);</pre>
<p>Copies <em class="parameter"><code>uri</code></em>
</p>
<div class="refsect3">
<a name="soup-uri-copy.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>uri</p></td>
<td class="parameter_description"><p>a <a class="link" href="SoupURI.html" title="SoupURI"><span class="type">SoupURI</span></a></p></td>
<td class="parameter_annotations"> </td>
</tr></tbody>
</table></div>
</div>
<div class="refsect3">
<a name="soup-uri-copy.returns"></a><h4>Returns</h4>
<p> a copy of <em class="parameter"><code>uri</code></em>
, which must be freed with <a class="link" href="SoupURI.html#soup-uri-free" title="soup_uri_free ()"><code class="function">soup_uri_free()</code></a></p>
</div>
</div>
<hr>
<div class="refsect2">
<a name="soup-uri-copy-host"></a><h3>soup_uri_copy_host ()</h3>
<pre class="programlisting"><a class="link" href="SoupURI.html" title="SoupURI"><span class="returnvalue">SoupURI</span></a> *
soup_uri_copy_host (<em class="parameter"><code><a class="link" href="SoupURI.html" title="SoupURI"><span class="type">SoupURI</span></a> *uri</code></em>);</pre>
<p>Makes a copy of <em class="parameter"><code>uri</code></em>
, considering only the protocol, host, and port</p>
<div class="refsect3">
<a name="soup-uri-copy-host.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>uri</p></td>
<td class="parameter_description"><p>a <a class="link" href="SoupURI.html" title="SoupURI"><span class="type">SoupURI</span></a></p></td>
<td class="parameter_annotations"> </td>
</tr></tbody>
</table></div>
</div>
<div class="refsect3">
<a name="soup-uri-copy-host.returns"></a><h4>Returns</h4>
<p> the new <a class="link" href="SoupURI.html" title="SoupURI"><span class="type">SoupURI</span></a></p>
</div>
<p class="since">Since: 2.28</p>
</div>
<hr>
<div class="refsect2">
<a name="soup-uri-equal"></a><h3>soup_uri_equal ()</h3>
<pre class="programlisting"><span class="returnvalue">gboolean</span>
soup_uri_equal (<em class="parameter"><code><a class="link" href="SoupURI.html" title="SoupURI"><span class="type">SoupURI</span></a> *uri1</code></em>,
                <em class="parameter"><code><a class="link" href="SoupURI.html" title="SoupURI"><span class="type">SoupURI</span></a> *uri2</code></em>);</pre>
<p>Tests whether or not <em class="parameter"><code>uri1</code></em>
 and <em class="parameter"><code>uri2</code></em>
 are equal in all parts</p>
<div class="refsect3">
<a name="soup-uri-equal.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>uri1</p></td>
<td class="parameter_description"><p>a <a class="link" href="SoupURI.html" title="SoupURI"><span class="type">SoupURI</span></a></p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>uri2</p></td>
<td class="parameter_description"><p>another <a class="link" href="SoupURI.html" title="SoupURI"><span class="type">SoupURI</span></a></p></td>
<td class="parameter_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
<div class="refsect3">
<a name="soup-uri-equal.returns"></a><h4>Returns</h4>
<p> <code class="literal">TRUE</code> or <code class="literal">FALSE</code></p>
</div>
</div>
<hr>
<div class="refsect2">
<a name="soup-uri-host-equal"></a><h3>soup_uri_host_equal ()</h3>
<pre class="programlisting"><span class="returnvalue">gboolean</span>
soup_uri_host_equal (<em class="parameter"><code><span class="type">gconstpointer</span> v1</code></em>,
                     <em class="parameter"><code><span class="type">gconstpointer</span> v2</code></em>);</pre>
<p>Compares <em class="parameter"><code>v1</code></em>
 and <em class="parameter"><code>v2</code></em>
, considering only the scheme, host, and port.</p>
<div class="refsect3">
<a name="soup-uri-host-equal.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>v1</p></td>
<td class="parameter_description"><p>a <a class="link" href="SoupURI.html" title="SoupURI"><span class="type">SoupURI</span></a> with a non-<code class="literal">NULL</code> <em class="parameter"><code>host</code></em>
member. </p></td>
<td class="parameter_annotations"><span class="annotation">[<acronym title="Override the parsed C type with given type."><span class="acronym">type</span></acronym> Soup.URI]</span></td>
</tr>
<tr>
<td class="parameter_name"><p>v2</p></td>
<td class="parameter_description"><p>a <a class="link" href="SoupURI.html" title="SoupURI"><span class="type">SoupURI</span></a> with a non-<code class="literal">NULL</code> <em class="parameter"><code>host</code></em>
member. </p></td>
<td class="parameter_annotations"><span class="annotation">[<acronym title="Override the parsed C type with given type."><span class="acronym">type</span></acronym> Soup.URI]</span></td>
</tr>
</tbody>
</table></div>
</div>
<div class="refsect3">
<a name="soup-uri-host-equal.returns"></a><h4>Returns</h4>
<p> whether or not the URIs are equal in scheme, host,
and port.</p>
</div>
<p class="since">Since: 2.28</p>
</div>
<hr>
<div class="refsect2">
<a name="soup-uri-host-hash"></a><h3>soup_uri_host_hash ()</h3>
<pre class="programlisting"><span class="returnvalue">guint</span>
soup_uri_host_hash (<em class="parameter"><code><span class="type">gconstpointer</span> key</code></em>);</pre>
<p>Hashes <em class="parameter"><code>key</code></em>
, considering only the scheme, host, and port.</p>
<div class="refsect3">
<a name="soup-uri-host-hash.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>key</p></td>
<td class="parameter_description"><p>a <a class="link" href="SoupURI.html" title="SoupURI"><span class="type">SoupURI</span></a> with a non-<code class="literal">NULL</code> <em class="parameter"><code>host</code></em>
member. </p></td>
<td class="parameter_annotations"><span class="annotation">[<acronym title="Override the parsed C type with given type."><span class="acronym">type</span></acronym> Soup.URI]</span></td>
</tr></tbody>
</table></div>
</div>
<div class="refsect3">
<a name="soup-uri-host-hash.returns"></a><h4>Returns</h4>
<p> a hash</p>
</div>
<p class="since">Since: 2.28</p>
</div>
<hr>
<div class="refsect2">
<a name="soup-uri-free"></a><h3>soup_uri_free ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span>
soup_uri_free (<em class="parameter"><code><a class="link" href="SoupURI.html" title="SoupURI"><span class="type">SoupURI</span></a> *uri</code></em>);</pre>
<p>Frees <em class="parameter"><code>uri</code></em>
.</p>
<div class="refsect3">
<a name="soup-uri-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>uri</p></td>
<td class="parameter_description"><p>a <a class="link" href="SoupURI.html" title="SoupURI"><span class="type">SoupURI</span></a></p></td>
<td class="parameter_annotations"> </td>
</tr></tbody>
</table></div>
</div>
</div>
<hr>
<div class="refsect2">
<a name="soup-uri-encode"></a><h3>soup_uri_encode ()</h3>
<pre class="programlisting"><span class="returnvalue">char</span> *
soup_uri_encode (<em class="parameter"><code>const <span class="type">char</span> *part</code></em>,
                 <em class="parameter"><code>const <span class="type">char</span> *escape_extra</code></em>);</pre>
<p>This %-encodes the given URI part and returns the escaped
version in allocated memory, which the caller must free when it is
done.</p>
<div class="refsect3">
<a name="soup-uri-encode.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>part</p></td>
<td class="parameter_description"><p>a URI part</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>escape_extra</p></td>
<td class="parameter_description"><p>additional reserved characters to
escape (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>]</span></td>
</tr>
</tbody>
</table></div>
</div>
<div class="refsect3">
<a name="soup-uri-encode.returns"></a><h4>Returns</h4>
<p> the encoded URI part</p>
</div>
</div>
<hr>
<div class="refsect2">
<a name="soup-uri-decode"></a><h3>soup_uri_decode ()</h3>
<pre class="programlisting"><span class="returnvalue">char</span> *
soup_uri_decode (<em class="parameter"><code>const <span class="type">char</span> *part</code></em>);</pre>
<p>Fully %-decodes <em class="parameter"><code>part</code></em>
.</p>
<p>In the past, this would return <code class="literal">NULL</code> if <em class="parameter"><code>part</code></em>
 contained invalid
percent-encoding, but now it just ignores the problem (as
<a class="link" href="SoupURI.html#soup-uri-new" title="soup_uri_new ()"><code class="function">soup_uri_new()</code></a> already did).</p>
<div class="refsect3">
<a name="soup-uri-decode.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>part</p></td>
<td class="parameter_description"><p>a URI part</p></td>
<td class="parameter_annotations"> </td>
</tr></tbody>
</table></div>
</div>
<div class="refsect3">
<a name="soup-uri-decode.returns"></a><h4>Returns</h4>
<p> the decoded URI part.</p>
</div>
</div>
<hr>
<div class="refsect2">
<a name="soup-uri-normalize"></a><h3>soup_uri_normalize ()</h3>
<pre class="programlisting"><span class="returnvalue">char</span> *
soup_uri_normalize (<em class="parameter"><code>const <span class="type">char</span> *part</code></em>,
                    <em class="parameter"><code>const <span class="type">char</span> *unescape_extra</code></em>);</pre>
<p>%-decodes any "unreserved" characters (or characters in
<em class="parameter"><code>unescape_extra</code></em>
) in <em class="parameter"><code>part</code></em>
, and %-encodes any non-ASCII
characters, spaces, and non-printing characters in <em class="parameter"><code>part</code></em>
.</p>
<p>"Unreserved" characters are those that are not allowed to be used
for punctuation according to the URI spec. For example, letters are
unreserved, so <a class="link" href="SoupURI.html#soup-uri-normalize" title="soup_uri_normalize ()"><code class="function">soup_uri_normalize()</code></a> will turn
<code class="literal">http://example.com/foo/b%61r</code> into
<code class="literal">http://example.com/foo/bar</code>, which is guaranteed
to mean the same thing. However, "/" is "reserved", so
<code class="literal">http://example.com/foo%2Fbar</code> would not
be changed, because it might mean something different to the
server.</p>
<p>In the past, this would return <code class="literal">NULL</code> if <em class="parameter"><code>part</code></em>
 contained invalid
percent-encoding, but now it just ignores the problem (as
<a class="link" href="SoupURI.html#soup-uri-new" title="soup_uri_new ()"><code class="function">soup_uri_new()</code></a> already did).</p>
<div class="refsect3">
<a name="soup-uri-normalize.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>part</p></td>
<td class="parameter_description"><p>a URI part</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>unescape_extra</p></td>
<td class="parameter_description"><p>reserved characters to unescape (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>]</span></td>
</tr>
</tbody>
</table></div>
</div>
<div class="refsect3">
<a name="soup-uri-normalize.returns"></a><h4>Returns</h4>
<p> the normalized URI part</p>
</div>
</div>
<hr>
<div class="refsect2">
<a name="soup-uri-uses-default-port"></a><h3>soup_uri_uses_default_port ()</h3>
<pre class="programlisting"><span class="returnvalue">gboolean</span>
soup_uri_uses_default_port (<em class="parameter"><code><a class="link" href="SoupURI.html" title="SoupURI"><span class="type">SoupURI</span></a> *uri</code></em>);</pre>
<p>Tests if <em class="parameter"><code>uri</code></em>
 uses the default port for its scheme. (Eg, 80 for
http.) (This only works for http, https and ftp; libsoup does not know
the default ports of other protocols.)</p>
<div class="refsect3">
<a name="soup-uri-uses-default-port.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>uri</p></td>
<td class="parameter_description"><p>a <a class="link" href="SoupURI.html" title="SoupURI"><span class="type">SoupURI</span></a></p></td>
<td class="parameter_annotations"> </td>
</tr></tbody>
</table></div>
</div>
<div class="refsect3">
<a name="soup-uri-uses-default-port.returns"></a><h4>Returns</h4>
<p> <code class="literal">TRUE</code> or <code class="literal">FALSE</code></p>
</div>
</div>
<hr>
<div class="refsect2">
<a name="SOUP-URI-IS-VALID:CAPS"></a><h3>SOUP_URI_IS_VALID()</h3>
<pre class="programlisting">#define   SOUP_URI_IS_VALID(uri)       ((uri) &amp;&amp; (uri)-&gt;scheme &amp;&amp; (uri)-&gt;path)
</pre>
<p>Tests whether <em class="parameter"><code>uri</code></em>
 is a valid <a class="link" href="SoupURI.html" title="SoupURI"><span class="type">SoupURI</span></a>; that is, that it is non-<code class="literal">NULL</code>
and its <em class="parameter"><code>scheme</code></em>
 and <em class="parameter"><code>path</code></em>
 members are also non-<code class="literal">NULL</code>.</p>
<p>This macro does not check whether http and https URIs have a non-<code class="literal">NULL</code>
<em class="parameter"><code>host</code></em>
 member.</p>
<div class="refsect3">
<a name="SOUP-URI-IS-VALID.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>uri</p></td>
<td class="parameter_description"><p>a <a class="link" href="SoupURI.html" title="SoupURI"><span class="type">SoupURI</span></a></p></td>
<td class="parameter_annotations"> </td>
</tr></tbody>
</table></div>
</div>
<div class="refsect3">
<a name="SOUP-URI-IS-VALID.returns"></a><h4>Returns</h4>
<p> <code class="literal">TRUE</code> if <em class="parameter"><code>uri</code></em>
is valid for use.</p>
</div>
<p class="since">Since: 2.38</p>
</div>
<hr>
<div class="refsect2">
<a name="SOUP-URI-VALID-FOR-HTTP:CAPS"></a><h3>SOUP_URI_VALID_FOR_HTTP()</h3>
<pre class="programlisting">#define   SOUP_URI_VALID_FOR_HTTP(uri) ((uri) &amp;&amp; ((uri)-&gt;scheme == SOUP_URI_SCHEME_HTTP || (uri)-&gt;scheme == SOUP_URI_SCHEME_HTTPS) &amp;&amp; (uri)-&gt;host &amp;&amp; (uri)-&gt;path)
</pre>
<p>Tests if <em class="parameter"><code>uri</code></em>
 is a valid <a class="link" href="SoupURI.html" title="SoupURI"><span class="type">SoupURI</span></a> for HTTP communication; that is, if
it can be used to construct a <a class="link" href="SoupMessage.html" title="SoupMessage"><span class="type">SoupMessage</span></a>.</p>
<div class="refsect3">
<a name="SOUP-URI-VALID-FOR-HTTP.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>uri</p></td>
<td class="parameter_description"><p>a <a class="link" href="SoupURI.html" title="SoupURI"><span class="type">SoupURI</span></a></p></td>
<td class="parameter_annotations"> </td>
</tr></tbody>
</table></div>
</div>
<div class="refsect3">
<a name="SOUP-URI-VALID-FOR-HTTP.returns"></a><h4>Returns</h4>
<p> <code class="literal">TRUE</code> if <em class="parameter"><code>uri</code></em>
is a valid "http" or "https" URI.</p>
</div>
<p class="since">Since: 2.24</p>
</div>
<hr>
<div class="refsect2">
<a name="soup-uri-set-scheme"></a><h3>soup_uri_set_scheme ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span>
soup_uri_set_scheme (<em class="parameter"><code><a class="link" href="SoupURI.html" title="SoupURI"><span class="type">SoupURI</span></a> *uri</code></em>,
                     <em class="parameter"><code>const <span class="type">char</span> *scheme</code></em>);</pre>
<p>Sets <em class="parameter"><code>uri</code></em>
's scheme to <em class="parameter"><code>scheme</code></em>
. This will also set <em class="parameter"><code>uri</code></em>
's port to
the default port for <em class="parameter"><code>scheme</code></em>
, if known.</p>
<div class="refsect3">
<a name="soup-uri-set-scheme.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>uri</p></td>
<td class="parameter_description"><p>a <a class="link" href="SoupURI.html" title="SoupURI"><span class="type">SoupURI</span></a></p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>scheme</p></td>
<td class="parameter_description"><p>the URI scheme</p></td>
<td class="parameter_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
</div>
<hr>
<div class="refsect2">
<a name="soup-uri-get-scheme"></a><h3>soup_uri_get_scheme ()</h3>
<pre class="programlisting">const <span class="returnvalue">char</span> *
soup_uri_get_scheme (<em class="parameter"><code><a class="link" href="SoupURI.html" title="SoupURI"><span class="type">SoupURI</span></a> *uri</code></em>);</pre>
<p>Gets <em class="parameter"><code>uri</code></em>
's scheme.</p>
<div class="refsect3">
<a name="soup-uri-get-scheme.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>uri</p></td>
<td class="parameter_description"><p>a <a class="link" href="SoupURI.html" title="SoupURI"><span class="type">SoupURI</span></a></p></td>
<td class="parameter_annotations"> </td>
</tr></tbody>
</table></div>
</div>
<div class="refsect3">
<a name="soup-uri-get-scheme.returns"></a><h4>Returns</h4>
<p> <em class="parameter"><code>uri</code></em>
's scheme.</p>
</div>
<p class="since">Since: 2.32</p>
</div>
<hr>
<div class="refsect2">
<a name="soup-uri-set-user"></a><h3>soup_uri_set_user ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span>
soup_uri_set_user (<em class="parameter"><code><a class="link" href="SoupURI.html" title="SoupURI"><span class="type">SoupURI</span></a> *uri</code></em>,
                   <em class="parameter"><code>const <span class="type">char</span> *user</code></em>);</pre>
<p>Sets <em class="parameter"><code>uri</code></em>
's user to <em class="parameter"><code>user</code></em>
.</p>
<div class="refsect3">
<a name="soup-uri-set-user.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>uri</p></td>
<td class="parameter_description"><p>a <a class="link" href="SoupURI.html" title="SoupURI"><span class="type">SoupURI</span></a></p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>user</p></td>
<td class="parameter_description"><p>the username, 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>]</span></td>
</tr>
</tbody>
</table></div>
</div>
</div>
<hr>
<div class="refsect2">
<a name="soup-uri-get-user"></a><h3>soup_uri_get_user ()</h3>
<pre class="programlisting">const <span class="returnvalue">char</span> *
soup_uri_get_user (<em class="parameter"><code><a class="link" href="SoupURI.html" title="SoupURI"><span class="type">SoupURI</span></a> *uri</code></em>);</pre>
<p>Gets <em class="parameter"><code>uri</code></em>
's user.</p>
<div class="refsect3">
<a name="soup-uri-get-user.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>uri</p></td>
<td class="parameter_description"><p>a <a class="link" href="SoupURI.html" title="SoupURI"><span class="type">SoupURI</span></a></p></td>
<td class="parameter_annotations"> </td>
</tr></tbody>
</table></div>
</div>
<div class="refsect3">
<a name="soup-uri-get-user.returns"></a><h4>Returns</h4>
<p> <em class="parameter"><code>uri</code></em>
's user.</p>
</div>
<p class="since">Since: 2.32</p>
</div>
<hr>
<div class="refsect2">
<a name="soup-uri-set-password"></a><h3>soup_uri_set_password ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span>
soup_uri_set_password (<em class="parameter"><code><a class="link" href="SoupURI.html" title="SoupURI"><span class="type">SoupURI</span></a> *uri</code></em>,
                       <em class="parameter"><code>const <span class="type">char</span> *password</code></em>);</pre>
<p>Sets <em class="parameter"><code>uri</code></em>
's password to <em class="parameter"><code>password</code></em>
.</p>
<div class="refsect3">
<a name="soup-uri-set-password.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>uri</p></td>
<td class="parameter_description"><p>a <a class="link" href="SoupURI.html" title="SoupURI"><span class="type">SoupURI</span></a></p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>password</p></td>
<td class="parameter_description"><p>the password, 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>]</span></td>
</tr>
</tbody>
</table></div>
</div>
</div>
<hr>
<div class="refsect2">
<a name="soup-uri-get-password"></a><h3>soup_uri_get_password ()</h3>
<pre class="programlisting">const <span class="returnvalue">char</span> *
soup_uri_get_password (<em class="parameter"><code><a class="link" href="SoupURI.html" title="SoupURI"><span class="type">SoupURI</span></a> *uri</code></em>);</pre>
<p>Gets <em class="parameter"><code>uri</code></em>
's password.</p>
<div class="refsect3">
<a name="soup-uri-get-password.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>uri</p></td>
<td class="parameter_description"><p>a <a class="link" href="SoupURI.html" title="SoupURI"><span class="type">SoupURI</span></a></p></td>
<td class="parameter_annotations"> </td>
</tr></tbody>
</table></div>
</div>
<div class="refsect3">
<a name="soup-uri-get-password.returns"></a><h4>Returns</h4>
<p> <em class="parameter"><code>uri</code></em>
's password.</p>
</div>
<p class="since">Since: 2.32</p>
</div>
<hr>
<div class="refsect2">
<a name="soup-uri-set-host"></a><h3>soup_uri_set_host ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span>
soup_uri_set_host (<em class="parameter"><code><a class="link" href="SoupURI.html" title="SoupURI"><span class="type">SoupURI</span></a> *uri</code></em>,
                   <em class="parameter"><code>const <span class="type">char</span> *host</code></em>);</pre>
<p>Sets <em class="parameter"><code>uri</code></em>
's host to <em class="parameter"><code>host</code></em>
.</p>
<p>If <em class="parameter"><code>host</code></em>
 is an IPv6 IP address, it should not include the brackets
required by the URI syntax; they will be added automatically when
converting <em class="parameter"><code>uri</code></em>
 to a string.</p>
<p>http and https URIs should not have a <code class="literal">NULL</code> <em class="parameter"><code>host</code></em>
.</p>
<div class="refsect3">
<a name="soup-uri-set-host.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>uri</p></td>
<td class="parameter_description"><p>a <a class="link" href="SoupURI.html" title="SoupURI"><span class="type">SoupURI</span></a></p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>host</p></td>
<td class="parameter_description"><p>the hostname or IP address, 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>]</span></td>
</tr>
</tbody>
</table></div>
</div>
</div>
<hr>
<div class="refsect2">
<a name="soup-uri-get-host"></a><h3>soup_uri_get_host ()</h3>
<pre class="programlisting">const <span class="returnvalue">char</span> *
soup_uri_get_host (<em class="parameter"><code><a class="link" href="SoupURI.html" title="SoupURI"><span class="type">SoupURI</span></a> *uri</code></em>);</pre>
<p>Gets <em class="parameter"><code>uri</code></em>
's host.</p>
<div class="refsect3">
<a name="soup-uri-get-host.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>uri</p></td>
<td class="parameter_description"><p>a <a class="link" href="SoupURI.html" title="SoupURI"><span class="type">SoupURI</span></a></p></td>
<td class="parameter_annotations"> </td>
</tr></tbody>
</table></div>
</div>
<div class="refsect3">
<a name="soup-uri-get-host.returns"></a><h4>Returns</h4>
<p> <em class="parameter"><code>uri</code></em>
's host.</p>
</div>
<p class="since">Since: 2.32</p>
</div>
<hr>
<div class="refsect2">
<a name="soup-uri-set-port"></a><h3>soup_uri_set_port ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span>
soup_uri_set_port (<em class="parameter"><code><a class="link" href="SoupURI.html" title="SoupURI"><span class="type">SoupURI</span></a> *uri</code></em>,
                   <em class="parameter"><code><span class="type">guint</span> port</code></em>);</pre>
<p>Sets <em class="parameter"><code>uri</code></em>
's port to <em class="parameter"><code>port</code></em>
. If <em class="parameter"><code>port</code></em>
 is 0, <em class="parameter"><code>uri</code></em>
 will not have an
explicitly-specified port.</p>
<div class="refsect3">
<a name="soup-uri-set-port.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>uri</p></td>
<td class="parameter_description"><p>a <a class="link" href="SoupURI.html" title="SoupURI"><span class="type">SoupURI</span></a></p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>port</p></td>
<td class="parameter_description"><p>the port, or 0</p></td>
<td class="parameter_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
</div>
<hr>
<div class="refsect2">
<a name="soup-uri-get-port"></a><h3>soup_uri_get_port ()</h3>
<pre class="programlisting"><span class="returnvalue">guint</span>
soup_uri_get_port (<em class="parameter"><code><a class="link" href="SoupURI.html" title="SoupURI"><span class="type">SoupURI</span></a> *uri</code></em>);</pre>
<p>Gets <em class="parameter"><code>uri</code></em>
's port.</p>
<div class="refsect3">
<a name="soup-uri-get-port.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>uri</p></td>
<td class="parameter_description"><p>a <a class="link" href="SoupURI.html" title="SoupURI"><span class="type">SoupURI</span></a></p></td>
<td class="parameter_annotations"> </td>
</tr></tbody>
</table></div>
</div>
<div class="refsect3">
<a name="soup-uri-get-port.returns"></a><h4>Returns</h4>
<p> <em class="parameter"><code>uri</code></em>
's port.</p>
</div>
<p class="since">Since: 2.32</p>
</div>
<hr>
<div class="refsect2">
<a name="soup-uri-set-path"></a><h3>soup_uri_set_path ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span>
soup_uri_set_path (<em class="parameter"><code><a class="link" href="SoupURI.html" title="SoupURI"><span class="type">SoupURI</span></a> *uri</code></em>,
                   <em class="parameter"><code>const <span class="type">char</span> *path</code></em>);</pre>
<p>Sets <em class="parameter"><code>uri</code></em>
's path to <em class="parameter"><code>path</code></em>
.</p>
<div class="refsect3">
<a name="soup-uri-set-path.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>uri</p></td>
<td class="parameter_description"><p>a <a class="link" href="SoupURI.html" title="SoupURI"><span class="type">SoupURI</span></a></p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>path</p></td>
<td class="parameter_description"><p>the non-<code class="literal">NULL</code> path</p></td>
<td class="parameter_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
</div>
<hr>
<div class="refsect2">
<a name="soup-uri-get-path"></a><h3>soup_uri_get_path ()</h3>
<pre class="programlisting">const <span class="returnvalue">char</span> *
soup_uri_get_path (<em class="parameter"><code><a class="link" href="SoupURI.html" title="SoupURI"><span class="type">SoupURI</span></a> *uri</code></em>);</pre>
<p>Gets <em class="parameter"><code>uri</code></em>
's path.</p>
<div class="refsect3">
<a name="soup-uri-get-path.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>uri</p></td>
<td class="parameter_description"><p>a <a class="link" href="SoupURI.html" title="SoupURI"><span class="type">SoupURI</span></a></p></td>
<td class="parameter_annotations"> </td>
</tr></tbody>
</table></div>
</div>
<div class="refsect3">
<a name="soup-uri-get-path.returns"></a><h4>Returns</h4>
<p> <em class="parameter"><code>uri</code></em>
's path.</p>
</div>
<p class="since">Since: 2.32</p>
</div>
<hr>
<div class="refsect2">
<a name="soup-uri-set-query"></a><h3>soup_uri_set_query ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span>
soup_uri_set_query (<em class="parameter"><code><a class="link" href="SoupURI.html" title="SoupURI"><span class="type">SoupURI</span></a> *uri</code></em>,
                    <em class="parameter"><code>const <span class="type">char</span> *query</code></em>);</pre>
<p>Sets <em class="parameter"><code>uri</code></em>
's query to <em class="parameter"><code>query</code></em>
.</p>
<div class="refsect3">
<a name="soup-uri-set-query.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>uri</p></td>
<td class="parameter_description"><p>a <a class="link" href="SoupURI.html" title="SoupURI"><span class="type">SoupURI</span></a></p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>query</p></td>
<td class="parameter_description"><p>the query. </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>]</span></td>
</tr>
</tbody>
</table></div>
</div>
</div>
<hr>
<div class="refsect2">
<a name="soup-uri-set-query-from-form"></a><h3>soup_uri_set_query_from_form ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span>
soup_uri_set_query_from_form (<em class="parameter"><code><a class="link" href="SoupURI.html" title="SoupURI"><span class="type">SoupURI</span></a> *uri</code></em>,
                              <em class="parameter"><code><span class="type">GHashTable</span> *form</code></em>);</pre>
<p>Sets <em class="parameter"><code>uri</code></em>
's query to the result of encoding <em class="parameter"><code>form</code></em>
 according to the
HTML form rules. See <a class="link" href="libsoup-2.4-HTML-Form-Support.html#soup-form-encode-hash" title="soup_form_encode_hash ()"><code class="function">soup_form_encode_hash()</code></a> for more information.</p>
<div class="refsect3">
<a name="soup-uri-set-query-from-form.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>uri</p></td>
<td class="parameter_description"><p>a <a class="link" href="SoupURI.html" title="SoupURI"><span class="type">SoupURI</span></a></p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>form</p></td>
<td class="parameter_description"><p>a <span class="type">GHashTable</span> containing HTML form
information. </p></td>
<td class="parameter_annotations"><span class="annotation">[<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>
<hr>
<div class="refsect2">
<a name="soup-uri-set-query-from-fields"></a><h3>soup_uri_set_query_from_fields ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span>
soup_uri_set_query_from_fields (<em class="parameter"><code><a class="link" href="SoupURI.html" title="SoupURI"><span class="type">SoupURI</span></a> *uri</code></em>,
                                <em class="parameter"><code>const <span class="type">char</span> *first_field</code></em>,
                                <em class="parameter"><code>...</code></em>);</pre>
<p>Sets <em class="parameter"><code>uri</code></em>
's query to the result of encoding the given form fields
and values according to the * HTML form rules. See
<a class="link" href="libsoup-2.4-HTML-Form-Support.html#soup-form-encode" title="soup_form_encode ()"><code class="function">soup_form_encode()</code></a> for more information.</p>
<div class="refsect3">
<a name="soup-uri-set-query-from-fields.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>uri</p></td>
<td class="parameter_description"><p>a <a class="link" href="SoupURI.html" title="SoupURI"><span class="type">SoupURI</span></a></p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>first_field</p></td>
<td class="parameter_description"><p>name of the first form field to encode into query</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>...</p></td>
<td class="parameter_description"><p>value of <em class="parameter"><code>first_field</code></em>
, followed by additional field names
and values, terminated by <code class="literal">NULL</code>.</p></td>
<td class="parameter_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
</div>
<hr>
<div class="refsect2">
<a name="soup-uri-get-query"></a><h3>soup_uri_get_query ()</h3>
<pre class="programlisting">const <span class="returnvalue">char</span> *
soup_uri_get_query (<em class="parameter"><code><a class="link" href="SoupURI.html" title="SoupURI"><span class="type">SoupURI</span></a> *uri</code></em>);</pre>
<p>Gets <em class="parameter"><code>uri</code></em>
's query.</p>
<div class="refsect3">
<a name="soup-uri-get-query.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>uri</p></td>
<td class="parameter_description"><p>a <a class="link" href="SoupURI.html" title="SoupURI"><span class="type">SoupURI</span></a></p></td>
<td class="parameter_annotations"> </td>
</tr></tbody>
</table></div>
</div>
<div class="refsect3">
<a name="soup-uri-get-query.returns"></a><h4>Returns</h4>
<p> <em class="parameter"><code>uri</code></em>
's query.</p>
</div>
<p class="since">Since: 2.32</p>
</div>
<hr>
<div class="refsect2">
<a name="soup-uri-set-fragment"></a><h3>soup_uri_set_fragment ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span>
soup_uri_set_fragment (<em class="parameter"><code><a class="link" href="SoupURI.html" title="SoupURI"><span class="type">SoupURI</span></a> *uri</code></em>,
                       <em class="parameter"><code>const <span class="type">char</span> *fragment</code></em>);</pre>
<p>Sets <em class="parameter"><code>uri</code></em>
's fragment to <em class="parameter"><code>fragment</code></em>
.</p>
<div class="refsect3">
<a name="soup-uri-set-fragment.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>uri</p></td>
<td class="parameter_description"><p>a <a class="link" href="SoupURI.html" title="SoupURI"><span class="type">SoupURI</span></a></p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>fragment</p></td>
<td class="parameter_description"><p>the fragment. </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>]</span></td>
</tr>
</tbody>
</table></div>
</div>
</div>
<hr>
<div class="refsect2">
<a name="soup-uri-get-fragment"></a><h3>soup_uri_get_fragment ()</h3>
<pre class="programlisting">const <span class="returnvalue">char</span> *
soup_uri_get_fragment (<em class="parameter"><code><a class="link" href="SoupURI.html" title="SoupURI"><span class="type">SoupURI</span></a> *uri</code></em>);</pre>
<p>Gets <em class="parameter"><code>uri</code></em>
's fragment.</p>
<div class="refsect3">
<a name="soup-uri-get-fragment.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>uri</p></td>
<td class="parameter_description"><p>a <a class="link" href="SoupURI.html" title="SoupURI"><span class="type">SoupURI</span></a></p></td>
<td class="parameter_annotations"> </td>
</tr></tbody>
</table></div>
</div>
<div class="refsect3">
<a name="soup-uri-get-fragment.returns"></a><h4>Returns</h4>
<p> <em class="parameter"><code>uri</code></em>
's fragment.</p>
</div>
<p class="since">Since: 2.32</p>
</div>
</div>
<div class="refsect1">
<a name="SoupURI.other_details"></a><h2>Types and Values</h2>
<div class="refsect2">
<a name="SoupURI-struct"></a><h3>SoupURI</h3>
<pre class="programlisting">typedef struct {
	const char *scheme;

	char       *user;
	char       *password;

	char       *host;
	guint       port;

	char       *path;
	char       *query;

	char       *fragment;
} SoupURI;
</pre>
<p>A <a class="link" href="SoupURI.html" title="SoupURI"><span class="type">SoupURI</span></a> represents a (parsed) URI. <a class="link" href="SoupURI.html" title="SoupURI"><span class="type">SoupURI</span></a> supports RFC 3986
(URI Generic Syntax), and can parse any valid URI. However, libsoup
only uses "http" and "https" URIs internally; You can use
<a class="link" href="SoupURI.html#SOUP-URI-VALID-FOR-HTTP:CAPS" title="SOUP_URI_VALID_FOR_HTTP()"><code class="function">SOUP_URI_VALID_FOR_HTTP()</code></a> to test if a <a class="link" href="SoupURI.html" title="SoupURI"><span class="type">SoupURI</span></a> is a valid HTTP
URI.</p>
<p><em class="parameter"><code>scheme</code></em>
 will always be set in any URI. It is an interned string and
is always all lowercase. (If you parse a URI with a non-lowercase
scheme, it will be converted to lowercase.) The macros
<a class="link" href="SoupURI.html#SOUP-URI-SCHEME-HTTP:CAPS" title="SOUP_URI_SCHEME_HTTP"><code class="literal">SOUP_URI_SCHEME_HTTP</code></a> and <a class="link" href="SoupURI.html#SOUP-URI-SCHEME-HTTPS:CAPS" title="SOUP_URI_SCHEME_HTTPS"><code class="literal">SOUP_URI_SCHEME_HTTPS</code></a> provide the
interned values for "http" and "https" and can be compared against
URI <em class="parameter"><code>scheme</code></em>
 values.</p>
<p><em class="parameter"><code>user</code></em>
 and <em class="parameter"><code>password</code></em>
 are parsed as defined in the older URI specs
(ie, separated by a colon; RFC 3986 only talks about a single
"userinfo" field). Note that <em class="parameter"><code>password</code></em>
 is not included in the
output of <a class="link" href="SoupURI.html#soup-uri-to-string" title="soup_uri_to_string ()"><code class="function">soup_uri_to_string()</code></a>. libsoup does not normally use these
fields; authentication is handled via <a class="link" href="SoupSession.html" title="SoupSession"><span class="type">SoupSession</span></a> signals.</p>
<p><em class="parameter"><code>host</code></em>
 contains the hostname, and <em class="parameter"><code>port</code></em>
 the port specified in the
URI. If the URI doesn't contain a hostname, <em class="parameter"><code>host</code></em>
 will be <code class="literal">NULL</code>,
and if it doesn't specify a port, <em class="parameter"><code>port</code></em>
 may be 0. However, for
"http" and "https" URIs, <em class="parameter"><code>host</code></em>
 is guaranteed to be non-<code class="literal">NULL</code>
(trying to parse an http URI with no <em class="parameter"><code>host</code></em>
 will return <code class="literal">NULL</code>), and
<em class="parameter"><code>port</code></em>
 will always be non-0 (because libsoup knows the default value
to use when it is not specified in the URI).</p>
<p><em class="parameter"><code>path</code></em>
 is always non-<code class="literal">NULL</code>. For http/https URIs, <em class="parameter"><code>path</code></em>
 will never be
an empty string either; if the input URI has no path, the parsed
<a class="link" href="SoupURI.html" title="SoupURI"><span class="type">SoupURI</span></a> will have a <em class="parameter"><code>path</code></em>
 of "/".</p>
<p><em class="parameter"><code>query</code></em>
 and <em class="parameter"><code>fragment</code></em>
 are optional for all URI types.
<a class="link" href="libsoup-2.4-HTML-Form-Support.html#soup-form-decode" title="soup_form_decode ()"><code class="function">soup_form_decode()</code></a> may be useful for parsing <em class="parameter"><code>query</code></em>
.</p>
<p>Note that <em class="parameter"><code>path</code></em>
, <em class="parameter"><code>query</code></em>
, and <em class="parameter"><code>fragment</code></em>
 may contain
%-encoded characters. <a class="link" href="SoupURI.html#soup-uri-new" title="soup_uri_new ()"><code class="function">soup_uri_new()</code></a> calls
<a class="link" href="SoupURI.html#soup-uri-normalize" title="soup_uri_normalize ()"><code class="function">soup_uri_normalize()</code></a> on them, but not <a class="link" href="SoupURI.html#soup-uri-decode" title="soup_uri_decode ()"><code class="function">soup_uri_decode()</code></a>. This is
necessary to ensure that <a class="link" href="SoupURI.html#soup-uri-to-string" title="soup_uri_to_string ()"><code class="function">soup_uri_to_string()</code></a> will generate a URI
that has exactly the same meaning as the original. (In theory,
<a class="link" href="SoupURI.html" title="SoupURI"><span class="type">SoupURI</span></a> should leave <em class="parameter"><code>user</code></em>
, <em class="parameter"><code>password</code></em>
, and <em class="parameter"><code>host</code></em>
 partially-encoded
as well, but this would be more annoying than useful.)</p>
<div class="refsect3">
<a name="SoupURI.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>const <span class="type">char</span> *<em class="structfield"><code><a name="SoupURI-struct.scheme"></a>scheme</code></em>;</p></td>
<td class="struct_member_description"><p>the URI scheme (eg, "http")</p></td>
<td class="struct_member_annotations"> </td>
</tr>
<tr>
<td class="struct_member_name"><p><span class="type">char</span> *<em class="structfield"><code><a name="SoupURI-struct.user"></a>user</code></em>;</p></td>
<td class="struct_member_description"><p>a username, or <code class="literal">NULL</code></p></td>
<td class="struct_member_annotations"> </td>
</tr>
<tr>
<td class="struct_member_name"><p><span class="type">char</span> *<em class="structfield"><code><a name="SoupURI-struct.password"></a>password</code></em>;</p></td>
<td class="struct_member_description"><p>a password, or <code class="literal">NULL</code></p></td>
<td class="struct_member_annotations"> </td>
</tr>
<tr>
<td class="struct_member_name"><p><span class="type">char</span> *<em class="structfield"><code><a name="SoupURI-struct.host"></a>host</code></em>;</p></td>
<td class="struct_member_description"><p>the hostname or IP address, or <code class="literal">NULL</code></p></td>
<td class="struct_member_annotations"> </td>
</tr>
<tr>
<td class="struct_member_name"><p><span class="type">guint</span> <em class="structfield"><code><a name="SoupURI-struct.port"></a>port</code></em>;</p></td>
<td class="struct_member_description"><p>the port number on <em class="parameter"><code>host</code></em>
</p></td>
<td class="struct_member_annotations"> </td>
</tr>
<tr>
<td class="struct_member_name"><p><span class="type">char</span> *<em class="structfield"><code><a name="SoupURI-struct.path"></a>path</code></em>;</p></td>
<td class="struct_member_description"><p>the path on <em class="parameter"><code>host</code></em>
</p></td>
<td class="struct_member_annotations"> </td>
</tr>
<tr>
<td class="struct_member_name"><p><span class="type">char</span> *<em class="structfield"><code><a name="SoupURI-struct.query"></a>query</code></em>;</p></td>
<td class="struct_member_description"><p>a query for <em class="parameter"><code>path</code></em>
, or <code class="literal">NULL</code></p></td>
<td class="struct_member_annotations"> </td>
</tr>
<tr>
<td class="struct_member_name"><p><span class="type">char</span> *<em class="structfield"><code><a name="SoupURI-struct.fragment"></a>fragment</code></em>;</p></td>
<td class="struct_member_description"><p>a fragment identifier within <em class="parameter"><code>path</code></em>
, or <code class="literal">NULL</code></p></td>
<td class="struct_member_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
</div>
<hr>
<div class="refsect2">
<a name="SOUP-URI-SCHEME-HTTP:CAPS"></a><h3>SOUP_URI_SCHEME_HTTP</h3>
<pre class="programlisting">#define SOUP_URI_SCHEME_HTTP     _SOUP_ATOMIC_INTERN_STRING (_SOUP_URI_SCHEME_HTTP, "http")
</pre>
<p>"http" as an interned string; you can compare this directly to a
<a class="link" href="SoupURI.html" title="SoupURI"><span class="type">SoupURI</span></a>'s <code class="literal">scheme</code> field using
<code class="literal">==</code>.</p>
</div>
<hr>
<div class="refsect2">
<a name="SOUP-URI-SCHEME-HTTPS:CAPS"></a><h3>SOUP_URI_SCHEME_HTTPS</h3>
<pre class="programlisting">#define SOUP_URI_SCHEME_HTTPS    _SOUP_ATOMIC_INTERN_STRING (_SOUP_URI_SCHEME_HTTPS, "https")
</pre>
<p>"https" as an interned string; you can compare this directly to a
<a class="link" href="SoupURI.html" title="SoupURI"><span class="type">SoupURI</span></a>'s <code class="literal">scheme</code> field using
<code class="literal">==</code>.</p>
</div>
<hr>
<div class="refsect2">
<a name="SOUP-URI-SCHEME-DATA:CAPS"></a><h3>SOUP_URI_SCHEME_DATA</h3>
<pre class="programlisting">#define SOUP_URI_SCHEME_DATA     _SOUP_ATOMIC_INTERN_STRING (_SOUP_URI_SCHEME_DATA, "data")
</pre>
<p>"data" as an interned string; you can compare this directly to a
<a class="link" href="SoupURI.html" title="SoupURI"><span class="type">SoupURI</span></a>'s <code class="literal">scheme</code> field using
<code class="literal">==</code>.</p>
<p class="since">Since: 2.30</p>
</div>
<hr>
<div class="refsect2">
<a name="SOUP-URI-SCHEME-FILE:CAPS"></a><h3>SOUP_URI_SCHEME_FILE</h3>
<pre class="programlisting">#define SOUP_URI_SCHEME_FILE     _SOUP_ATOMIC_INTERN_STRING (_SOUP_URI_SCHEME_FILE, "file")
</pre>
<p>"file" as an interned string; you can compare this directly to a
<a class="link" href="SoupURI.html" title="SoupURI"><span class="type">SoupURI</span></a>'s <code class="literal">scheme</code> field using
<code class="literal">==</code>.</p>
<p class="since">Since: 2.30</p>
</div>
<hr>
<div class="refsect2">
<a name="SOUP-URI-SCHEME-FTP:CAPS"></a><h3>SOUP_URI_SCHEME_FTP</h3>
<pre class="programlisting">#define SOUP_URI_SCHEME_FTP      _SOUP_ATOMIC_INTERN_STRING (_SOUP_URI_SCHEME_FTP, "ftp")
</pre>
<p>"ftp" as an interned string; you can compare this directly to a
<a class="link" href="SoupURI.html" title="SoupURI"><span class="type">SoupURI</span></a>'s <code class="literal">scheme</code> field using
<code class="literal">==</code>.</p>
<p class="since">Since: 2.30</p>
</div>
<hr>
<div class="refsect2">
<a name="SOUP-URI-SCHEME-RESOURCE:CAPS"></a><h3>SOUP_URI_SCHEME_RESOURCE</h3>
<pre class="programlisting">#define SOUP_URI_SCHEME_RESOURCE _SOUP_ATOMIC_INTERN_STRING (_SOUP_URI_SCHEME_RESOURCE, "resource")
</pre>
<p>"data" as an interned string; you can compare this directly to a
<a class="link" href="SoupURI.html" title="SoupURI"><span class="type">SoupURI</span></a>'s <code class="literal">scheme</code> field using
<code class="literal">==</code>.</p>
<p class="since">Since: 2.42</p>
</div>
<hr>
<div class="refsect2">
<a name="SOUP-URI-SCHEME-WS:CAPS"></a><h3>SOUP_URI_SCHEME_WS</h3>
<pre class="programlisting">#define SOUP_URI_SCHEME_WS       _SOUP_ATOMIC_INTERN_STRING (_SOUP_URI_SCHEME_WS, "ws")
</pre>
<p>"ws" (WebSocket) as an interned string; you can compare this
directly to a <a class="link" href="SoupURI.html" title="SoupURI"><span class="type">SoupURI</span></a>'s <code class="literal">scheme</code> field using
<code class="literal">==</code>.</p>
<p class="since">Since: 2.50</p>
</div>
<hr>
<div class="refsect2">
<a name="SOUP-URI-SCHEME-WSS:CAPS"></a><h3>SOUP_URI_SCHEME_WSS</h3>
<pre class="programlisting">#define SOUP_URI_SCHEME_WSS      _SOUP_ATOMIC_INTERN_STRING (_SOUP_URI_SCHEME_WSS, "wss")
</pre>
<p>"wss" (WebSocket over TLS) as an interned string; you can compare
this directly to a <a class="link" href="SoupURI.html" title="SoupURI"><span class="type">SoupURI</span></a>'s <code class="literal">scheme</code> field using
<code class="literal">==</code>.</p>
<p class="since">Since: 2.50</p>
</div>
</div>
</div>
<div class="footer">
<hr>Generated by GTK-Doc V1.28.1</div>
</body>
</html>