Alias for the #SoupAddress:family property. (The #SoupAddressFamily for this address.)
Alias for the #SoupAddress:name property. (The hostname for this address.)
An alias for the #SoupAddress:physical property. (The stringified IP address for this address.)
An alias for the #SoupAddress:port property. (The port for this address.)
Alias for the #SoupAddress:protocol property. (The URI scheme used with this address.)
An alias for the #SoupAddress:sockaddr property. (A pointer to the struct sockaddr for this address.)
Alias for the #SoupAuthDomain:add-path property. (Shortcut for calling soup_auth_domain_add_path().)
Alias for the #SoupAuthDomainBasic:auth-callback property. (The #SoupAuthDomainBasicAuthCallback.)
Alias for the #SoupAuthDomainBasic:auth-data property. (The data to pass to the #SoupAuthDomainBasicAuthCallback.)
Alias for the #SoupAuthDomainDigest:auth-callback property. (The #SoupAuthDomainDigestAuthCallback.)
Alias for the #SoupAuthDomainDigest:auth-callback property. (The #SoupAuthDomainDigestAuthCallback.)
Alias for the #SoupAuthDomain:filter property. (The #SoupAuthDomainFilter for the domain.)
Alias for the #SoupAuthDomain:filter-data property. (Data to pass to the #SoupAuthDomainFilter.)
Alias for the #SoupAuthDomain:generic-auth-callback property. (The #SoupAuthDomainGenericAuthCallback.)
Alias for the #SoupAuthDomain:generic-auth-data property. (The data to pass to the #SoupAuthDomainGenericAuthCallback.)
Alias for the #SoupAuthDomain:proxy property. (Whether or not this is a proxy auth domain.)
Alias for the #SoupAuthDomain:realm property. (The realm of this auth domain.)
Alias for the #SoupAuthDomain:remove-path property. (Shortcut for calling soup_auth_domain_remove_path().)
An alias for the #SoupAuth:host property. (The host being authenticated to.)
An alias for the #SoupAuth:is-authenticated property. (Whether or not the auth has been authenticated.)
An alias for the #SoupAuth:is-for-proxy property. (Whether or not the auth is for a proxy server.)
An alias for the #SoupAuth:realm property. (The authentication realm.)
An alias for the #SoupAuth:scheme-name property. (The authentication scheme name.)
Alias for the #SoupCookieJar:accept-policy property.
Alias for the #SoupCookieJarDB:filename property. (The cookie-storage filename.)
Alias for the #SoupCookieJar:read-only property. (Whether or not the cookie jar is read-only.)
Alias for the #SoupCookieJarText:filename property. (The cookie-storage filename.)
A constant corresponding to 1 day, for use with soup_cookie_new() and soup_cookie_set_max_age().
A constant corresponding to 1 hour, for use with soup_cookie_new() and soup_cookie_set_max_age().
A constant corresponding to 1 week, for use with soup_cookie_new() and soup_cookie_set_max_age().
A constant corresponding to 1 year, for use with soup_cookie_new() and soup_cookie_set_max_age().
A macro containing the value
A macro containing the value
Alias for the #SoupLogger:level property, qv.
Alias for the #SoupLogger:max-body-size property, qv.
Like soup_get_major_version(), but from the headers used at application compile time, rather than from the library linked against at application run time.
Alias for the #SoupMessage:first-party property. (The #SoupURI loaded in the application when the message was queued.)
Alias for the #SoupMessage:flags property. (The message's #SoupMessageFlags.)
Alias for the #SoupMessage:http-version property. (The message's #SoupHTTPVersion.)
Alias for the #SoupMessage:method property. (The message's HTTP method.)
Sets the priority of the #SoupMessage. See soup_message_set_priority() for further details.
Alias for the #SoupMessage:reason-phrase property. (The message's HTTP response reason phrase.)
Alias for the #SoupMessage:request-body property. (The message's HTTP request body.)
Alias for the #SoupMessage:request-body-data property. (The message's HTTP request body, as a #GBytes.)
Alias for the #SoupMessage:request-headers property. (The message's HTTP request headers.)
Alias for the #SoupMessage:response-body property. (The message's HTTP response body.)
Alias for the #SoupMessage:response-body-data property. (The message's HTTP response body, as a #GBytes.)
Alias for the #SoupMessage:response-headers property. (The message's HTTP response headers.)
Alias for the #SoupMessage:server-side property. (%TRUE if the message was created by #SoupServer.)
Alias for the #SoupMessage:status-code property. (The message's HTTP response status code.)
Alias for the #SoupMessage:tls-certificate property. (The TLS certificate associated with the message, if any.)
Alias for the #SoupMessage:tls-errors property. (The verification errors on #SoupMessage:tls-certificate.)
Alias for the #SoupMessage:uri property. (The message's #SoupURI.)
Like soup_get_micro_version(), but from the headers used at application compile time, rather than from the library linked against at application run time.
Like soup_get_minor_version(), but from the headers used at application compile time, rather than from the library linked against at application run time.
Alias for the #SoupRequest:session property, qv.
Alias for the #SoupRequest:uri property, qv.
Alias for the deprecated #SoupServer:async-context property, qv.
Alias for the #SoupServer:https-aliases property, qv.
Alias for the #SoupServer:http-aliases property, qv.
Alias for the #SoupServer:interface property, qv.
Alias for the deprecated #SoupServer:port property, qv.
Alias for the #SoupServer:raw-paths property. (If %TRUE, percent-encoding in the Request-URI path will not be automatically decoded.)
Alias for the #SoupServer:server-header property, qv.
Alias for the #SoupServer:ssl-cert-file property, qv.
Alias for the #SoupServer:ssl-key-file property, qv.
Alias for the #SoupServer:tls-certificate property, qv.
Alias for the #SoupSession:accept-language property, qv.
Alias for the #SoupSession:accept-language-auto property, qv.
Alias for the #SoupSession:async-context property, qv.
Alias for the #SoupSession:https-aliases property, qv.
Alias for the #SoupSession:http-aliases property, qv.
Alias for the #SoupSession:idle-timeout property, qv.
Alias for the #SoupSession:local-address property, qv.
Alias for the #SoupSession:max-conns property, qv.
Alias for the #SoupSession:max-conns-per-host property, qv.
Alias for the #SoupSession:proxy-resolver property, qv.
Alias for the #SoupSession:proxy-uri property, qv.
Alias for the #SoupSession:ssl-ca-file property, qv.
Alias for the #SoupSession:ssl-strict property, qv.
Alias for the #SoupSession:ssl-use-system-ca-file property, qv.
Alias for the #SoupSession:timeout property, qv.
Alias for the #SoupSession:tls-database property, qv.
Alias for the #SoupSession:tls-interaction property, qv.
Alias for the #SoupSession:user-agent property, qv.
Alias for the #SoupSession:use-ntlm property, qv.
Alias for the #SoupSession:use-thread-context property, qv.
Alias for the #SoupSocket:async-context property. (The socket's #GMainContext.)
Alias for the #SoupSocket:non-blocking property. (Whether or not the socket uses non-blocking I/O.)
Alias for the #SoupSocket:is-server property, qv.
Alias for the #SoupSocket:local-address property. (Address of local end of socket.)
Alias for the #SoupSocket:remote-address property. (Address of remote end of socket.)
Alias for the #SoupSocket:ssl-creds property. (SSL credential information.)
Alias for the #SoupSocket:ssl-fallback property.
Alias for the #SoupSocket:ssl-strict property.
Alias for the #SoupSocket:timeout property. (The timeout in seconds for blocking socket I/O operations.)
Alias for the #SoupSocket:tls-certificate property. Note that this property's value is only useful if the socket is for a TLS connection, and only reliable after some data has been transferred to or from it.
Alias for the #SoupSocket:tls-errors property. Note that this property's value is only useful if the socket is for a TLS connection, and only reliable after some data has been transferred to or from it.
Alias for the #SoupSocket:trusted-certificate property.
Alias for the #SoupSocket:use-thread-context property. (Use g_main_context_get_thread_default())
A macro that should be defined by the user prior to including libsoup.h. The definition should be one of the predefined libsoup version macros: %SOUP_VERSION_2_24, %SOUP_VERSION_2_26, ...
This macro defines the earliest version of libsoup that the package is required to be able to compile against.
If the compiler is configured to warn about the use of deprecated functions, then using functions that were deprecated in version %SOUP_VERSION_MIN_REQUIRED or earlier will cause warnings (but using functions deprecated in later releases will not).
Like SOUP_CHECK_VERSION, but the check for soup_check_version is at runtime instead of compile time. This is useful for compiling against older versions of libsoup, but using features from newer versions.
the major version to check
the minor version to check
the micro version to check
Parses header
and returns a #SoupCookie. (If header
contains
multiple cookies, only the first one will be parsed.)
If header
does not have "path" or "domain" attributes, they will
be defaulted from origin
. If origin
is %NULL, path will default
to "/", but domain will be left as %NULL. Note that this is not a
valid state for a #SoupCookie, and you will need to fill in some
appropriate string for the domain if you want to actually make use
of the cookie.
a cookie string (eg, the value of a Set-Cookie header)
origin of the cookie, or %NULL
Parses msg'
s Cookie request header and returns a #GSList of
#SoupCookies. As the "Cookie" header, unlike "Set-Cookie",
only contains cookie names and values, none of the other
#SoupCookie fields will be filled in. (Thus, you can't generally
pass a cookie returned from this method directly to
soup_cookies_to_response().)
Adds the name and value of each cookie in cookies
to msg'
s
"Cookie" request. (If msg
already has a "Cookie" request header,
these cookies will be appended to the cookies already present. Be
careful that you do not append the same cookies twice, eg, when
requeuing a message.)
Decodes form,
which is an urlencoded dataset as defined in the
HTML 4.01 spec.
data of type "application/x-www-form-urlencoded"
Decodes the "multipart/form-data" request in msg;
this is a
convenience method for the case when you have a single file upload
control in a form. (Or when you don't have any file upload
controls, but are still using "multipart/form-data" anyway.) Pass
the name of the file upload control in file_control_name,
and
soup_form_decode_multipart() will extract the uploaded file data
into filename,
content_type,
and file
. All of the other form
control data will be returned (as strings, as with
soup_form_decode()) in the returned #GHashTable.
You may pass %NULL for filename,
content_type
and/or file
if you do not
care about those fields. soup_form_decode_multipart() may also
return %NULL in those fields if the client did not provide that
information. You must free the returned filename and content-type
with g_free(), and the returned file data with soup_buffer_free().
If you have a form with more than one file upload control, you will need to decode it manually, using soup_multipart_new_from_message() and soup_multipart_get_part().
a #SoupMessage containing a "multipart/form-data" request body
the name of the HTML file upload control, or %NULL
Encodes form_data_set
into a value of type
"application/x-www-form-urlencoded", as defined in the HTML 4.01
spec. Unlike soup_form_encode_hash(), this preserves the ordering
of the form elements, which may be required in some situations.
Encodes form_data_set
into a value of type
"application/x-www-form-urlencoded", as defined in the HTML 4.01
spec.
Note that the HTML spec states that "The control names/values are listed in the order they appear in the document." Since this method takes a hash table, it cannot enforce that; if you care about the ordering of the form fields, use soup_form_encode_datalist().
a hash table containing name/value pairs (as strings)
Creates a new %SoupMessage and sets it up to send form_data_set
to
uri
via method,
as with soup_form_request_new().
the HTTP method, either "GET" or "POST"
the URI to send the form data to
the data to send to uri
Creates a new %SoupMessage and sets it up to send multipart
to
uri
via POST.
To send a
the URI to send the form data to
a "multipart/form-data" #SoupMultipart
Returns the major version number of the libsoup library. (e.g. in libsoup version 2.42.0 this is 2.)
This function is in the library, so it represents the libsoup library your code is running against. Contrast with the #SOUP_MAJOR_VERSION macro, which represents the major version of the libsoup headers you have included when compiling your code.
Returns the micro version number of the libsoup library. (e.g. in libsoup version 2.42.0 this is 0.)
This function is in the library, so it represents the libsoup library your code is running against. Contrast with the #SOUP_MICRO_VERSION macro, which represents the micro version of the libsoup headers you have included when compiling your code.
Returns the minor version number of the libsoup library. (e.g. in libsoup version 2.42.0 this is 42.)
This function is in the library, so it represents the libsoup library your code is running against. Contrast with the #SOUP_MINOR_VERSION macro, which represents the minor version of the libsoup headers you have included when compiling your code.
Parses header
to see if it contains the token token
(matched
case-insensitively). Note that this can't be used with lists
that have qvalues.
An HTTP header suitable for parsing with soup_header_parse_list()
a token
Frees param_list
.
a #GHashTable returned from soup_header_parse_param_list() or soup_header_parse_semi_param_list()
Appends something like name=``value<
/literal> to string,
taking care to quote value
if needed, and if so, to escape any
quotes or backslashes in value
.
Alternatively, if value
is a non-ASCII UTF-8 string, it will be
appended using RFC5987 syntax. Although in theory this is supposed
to work anywhere in HTTP that uses this style of parameter, in
reality, it can only be used portably with the Content-Disposition
"filename" parameter.
If value
is %NULL, this will just append name
to string
.
a #GString being used to construct an HTTP header value
a parameter name
a parameter value, or %NULL
Appends something like name=
"value"
string,
taking care to escape any quotes or backslashes in value
.
If value
is (non-ASCII) UTF-8, this will instead use RFC 5987
encoding, just like soup_header_g_string_append_param().
a #GString being used to construct an HTTP header value
a parameter name
a parameter value
Parses a header whose content is described by RFC2616 as "#something", where "something" does not itself contain commas, except as part of quoted-strings.
a header value
Parses a header which is a comma-delimited list of something like:
Tokens that don't have an associated value will still be added to the resulting hash table, but with a %NULL value.
This also handles RFC5987 encoding (which in HTTP is mostly used for giving UTF8-encoded filenames in the Content-Disposition header).
a header value
A strict version of soup_header_parse_param_list() that bails out if there are duplicate parameters. Note that this function will treat RFC5987-encoded parameters as duplicated if an ASCII version is also present. For header fields that might contain RFC5987-encoded parameters, use soup_header_parse_param_list() instead.
a header value
Parses a header whose content is a list of items with optional "qvalue"s (eg, Accept, Accept-Charset, Accept-Encoding, Accept-Language, TE).
If unacceptable
is not %NULL, then on return, it will contain the
items with qvalue 0. Either way, those items will be removed from
the main list.
a header value
Parses a header which is a semicolon-delimited list of something
like:
Tokens that don't have an associated value will still be added to the resulting hash table, but with a %NULL value.
This also handles RFC5987 encoding (which in HTTP is mostly used for giving UTF8-encoded filenames in the Content-Disposition header).
a header value
A strict version of soup_header_parse_semi_param_list() that bails out if there are duplicate parameters. Note that this function will treat RFC5987-encoded parameters as duplicated if an ASCII version is also present. For header fields that might contain RFC5987-encoded parameters, use soup_header_parse_semi_param_list() instead.
a header value
Parses the headers of an HTTP request or response in str
and
stores the results in dest
. Beware that dest
may be modified even
on failure.
This is a low-level method; normally you would use soup_headers_parse_request() or soup_headers_parse_response().
the header string (including the Request-Line or Status-Line, but not the trailing blank line)
length of str
#SoupMessageHeaders to store the header values in
Parses the headers of an HTTP request in str
and stores the
results in req_method,
req_path,
ver,
and req_headers
.
Beware that req_headers
may be modified even on failure.
the headers (up to, but not including, the trailing blank line)
length of str
#SoupMessageHeaders to store the header values in
Parses the headers of an HTTP response in str
and stores the
results in ver,
status_code,
reason_phrase,
and headers
.
Beware that headers
may be modified even on failure.
the headers (up to, but not including, the trailing blank line)
length of str
#SoupMessageHeaders to store the header values in
Parses the HTTP Status-Line string in status_line
into ver,
status_code,
and reason_phrase
. status_line
must be terminated by
either "\0" or "\r\n".
an HTTP Status-Line
Initializes iter
for iterating hdrs
.
a %SoupMessageHeaders
Looks up the stock HTTP description of status_code
. This is used
by soup_message_set_status() to get the correct text to go with a
given status code.
an HTTP status code
Turns %SOUP_STATUS_CANT_RESOLVE into %SOUP_STATUS_CANT_RESOLVE_PROXY and %SOUP_STATUS_CANT_CONNECT into %SOUP_STATUS_CANT_CONNECT_PROXY. Other status codes are passed through unchanged.
a status code
Compares v1
and v2
in a case-insensitive manner
an ASCII string
another ASCII string
Hashes key
in a case-insensitive manner.
ASCII string to hash
Looks whether the domain
passed as argument is a public domain
suffix (.org, .com, .co.uk, etc) or not.
Prior to libsoup 2.46, this function required that domain
be in
UTF-8 if it was an IDN. From 2.46 on, the name can be in either
UTF-8 or ASCII format.
a domain name
Finds the base domain for a given hostname
. The base domain is
composed by the top level domain (such as .org, .com, .co.uk, etc)
plus the second level domain, for example for myhost.mydomain.com
it will return mydomain.com.
Note that %NULL will be returned for private URLs (those not ending with any well known TLD) because choosing a base domain for them would be totally arbitrary.
Prior to libsoup 2.46, this function required that hostname
be in
UTF-8 if it was an IDN. From 2.46 on, the name can be in either
UTF-8 or ASCII format (and the return value will be in the same
format).
a hostname
Fully %-decodes part
.
In the past, this would return %NULL if part
contained invalid
percent-encoding, but now it just ignores the problem (as
soup_uri_new() already did).
a URI part
This %-encodes the given URI part and returns the escaped version in allocated memory, which the caller must free when it is done.
a URI part
additional reserved characters to escape (or %NULL)
%-decodes any "unreserved" characters (or characters in
unescape_extra)
in part,
and %-encodes any non-ASCII
characters, spaces, and non-printing characters in part
.
"Unreserved" characters are those that are not allowed to be used
for punctuation according to the URI spec. For example, letters are
unreserved, so soup_uri_normalize() will turn
In the past, this would return %NULL if part
contained invalid
percent-encoding, but now it just ignores the problem (as
soup_uri_new() already did).
a URI part
reserved characters to unescape (or %NULL)
Creates a new %GValueArray. (This is just a wrapper around g_value_array_new(), for naming consistency purposes.)
Inserts value
into hash
. (Unlike with g_hash_table_insert(), both
the key and the value are copied).
a value hash
the key
a value
Creates a #GHashTable whose keys are strings and whose values are #GValue.
Adds the necessary headers to msg
to request a WebSocket
handshake. The message body and non-WebSocket-related headers are
not modified.
Use soup_websocket_client_prepare_handshake_with_extensions() if you want to include "Sec-WebSocket-Extensions" header in the request.
This is a low-level function; if you use soup_session_websocket_connect_async() to create a WebSocket connection, it will call this for you.
a #SoupMessage
the "Origin" header to set
list of protocols to offer
Adds the necessary headers to msg
to request a WebSocket
handshake including supported WebSocket extensions.
The message body and non-WebSocket-related headers are
not modified.
This is a low-level function; if you use soup_session_websocket_connect_async() to create a WebSocket connection, it will call this for you.
a #SoupMessage
the "Origin" header to set
list of protocols to offer
list of supported extension types
Looks at the response status code and headers in msg
and
determines if they contain a valid WebSocket handshake response
(given the handshake request in msg'
s request headers).
If the response contains the "Sec-WebSocket-Extensions" header, the handshake will be considered invalid. You need to use soup_websocket_client_verify_handshake_with_extensions() to handle responses with extensions.
This is a low-level function; if you use soup_session_websocket_connect_async() to create a WebSocket connection, it will call this for you.
Looks at the response status code and headers in msg
and
determines if they contain a valid WebSocket handshake response
(given the handshake request in msg'
s request headers).
If supported_extensions
is non-%NULL, extensions included in the
response "Sec-WebSocket-Extensions" are verified too. Accepted
extensions are returned in accepted_extensions
parameter if non-%NULL.
This is a low-level function; if you use soup_session_websocket_connect_async() to create a WebSocket connection, it will call this for you.
#SoupMessage containing both client and server sides of a WebSocket handshake
list of supported extension types
Examines the method and request headers in msg
and determines
whether msg
contains a valid handshake request.
If origin
is non-%NULL, then only requests containing a matching
"Origin" header will be accepted. If protocols
is non-%NULL, then
only requests containing a compatible "Sec-WebSocket-Protocols"
header will be accepted.
Requests containing "Sec-WebSocket-Extensions" header will be accepted even if the header is not valid. To check a request with extensions you need to use soup_websocket_server_check_handshake_with_extensions() and provide the list of supported extension types.
Normally soup_websocket_server_process_handshake() will take care of this for you, and if you use soup_server_add_websocket_handler() to handle accepting WebSocket connections, it will call that for you. However, this function may be useful if you need to perform more complicated validation; eg, accepting multiple different Origins, or handling different protocols depending on the path.
#SoupMessage containing the client side of a WebSocket handshake
expected Origin header
allowed WebSocket protocols.
Examines the method and request headers in msg
and determines
whether msg
contains a valid handshake request.
If origin
is non-%NULL, then only requests containing a matching
"Origin" header will be accepted. If protocols
is non-%NULL, then
only requests containing a compatible "Sec-WebSocket-Protocols"
header will be accepted. If supported_extensions
is non-%NULL, then
only requests containing valid supported extensions in
"Sec-WebSocket-Extensions" header will be accepted.
Normally soup_websocket_server_process_handshake_with_extensioins() will take care of this for you, and if you use soup_server_add_websocket_handler() to handle accepting WebSocket connections, it will call that for you. However, this function may be useful if you need to perform more complicated validation; eg, accepting multiple different Origins, or handling different protocols depending on the path.
#SoupMessage containing the client side of a WebSocket handshake
expected Origin header
allowed WebSocket protocols.
list of supported extension types
Examines the method and request headers in msg
and (assuming msg
contains a valid handshake request), fills in the handshake
response.
If expected_origin
is non-%NULL, then only requests containing a matching
"Origin" header will be accepted. If protocols
is non-%NULL, then
only requests containing a compatible "Sec-WebSocket-Protocols"
header will be accepted.
Requests containing "Sec-WebSocket-Extensions" header will be accepted even if the header is not valid. To process a request with extensions you need to use soup_websocket_server_process_handshake_with_extensions() and provide the list of supported extension types.
This is a low-level function; if you use soup_server_add_websocket_handler() to handle accepting WebSocket connections, it will call this for you.
#SoupMessage containing the client side of a WebSocket handshake
expected Origin header
allowed WebSocket protocols.
Examines the method and request headers in msg
and (assuming msg
contains a valid handshake request), fills in the handshake
response.
If expected_origin
is non-%NULL, then only requests containing a matching
"Origin" header will be accepted. If protocols
is non-%NULL, then
only requests containing a compatible "Sec-WebSocket-Protocols"
header will be accepted. If supported_extensions
is non-%NULL, then
only requests containing valid supported extensions in
"Sec-WebSocket-Extensions" header will be accepted. The accepted extensions
will be returned in accepted_extensions
parameter if non-%NULL.
This is a low-level function; if you use soup_server_add_websocket_handler() to handle accepting WebSocket connections, it will call this for you.
#SoupMessage containing the client side of a WebSocket handshake
expected Origin header
allowed WebSocket protocols.
list of supported extension types
This creates an XML-RPC methodCall and returns it as a string. This is the low-level method that soup_xmlrpc_request_new() is built on.
params
is an array of #GValue representing the parameters to
method
. (It is not a #GValueArray, although if you have a
#GValueArray, you can just pass its
The correspondence between glib types and XML-RPC types is:
int: #int (%G_TYPE_INT) boolean: #gboolean (%G_TYPE_BOOLEAN) string: #char* (%G_TYPE_STRING) double: #double (%G_TYPE_DOUBLE) datetime.iso8601: #SoupDate (%SOUP_TYPE_DATE) base64: #GByteArray (%SOUP_TYPE_BYTE_ARRAY) struct: #GHashTable (%G_TYPE_HASH_TABLE) array: #GValueArray (%G_TYPE_VALUE_ARRAY)
For structs, use a #GHashTable that maps strings to #GValue; soup_value_hash_new() and related methods can help with this.
the name of the XML-RPC method
arguments to method
This creates a (successful) XML-RPC methodResponse and returns it as a string. To create a fault response, use soup_xmlrpc_build_fault().
The glib type to XML-RPC type mapping is as with soup_xmlrpc_build_method_call(), qv.
the return value
This creates an XML-RPC methodCall and returns it as a string. This is the low-level method that soup_xmlrpc_message_new() is built on.
params
is a #GVariant tuple representing the method parameters.
Serialization details:
error
.
This notably includes: object-paths, signatures, uint64, handles, maybes
and dictionaries with non-string keys.If params
is floating, it is consumed.
This creates a (successful) XML-RPC methodResponse and returns it as a string. To create a fault response, use soup_xmlrpc_build_fault(). This is the low-level method that soup_xmlrpc_message_set_response() is built on.
See soup_xmlrpc_build_request() for serialization details, but note
that since a method can only have a single return value, value
should not be a tuple here (unless the return value is an array).
If value
is floating, it is consumed.
Creates an XML-RPC methodCall and returns a #SoupMessage, ready to send, for that method call.
See soup_xmlrpc_build_request() for serialization details.
If params
is floating, it is consumed.
URI of the XML-RPC service
the name of the XML-RPC method to invoke at uri
a #GVariant tuple
Sets the status code and response body of msg
to indicate a
successful XML-RPC call, with a return value given by value
. To set a
fault response, use soup_xmlrpc_message_set_fault().
See soup_xmlrpc_build_request() for serialization details.
If value
is floating, it is consumed.
Parses method_call
to get the name and parameters, and returns the
parameter values in a #GValueArray; see also
soup_xmlrpc_extract_method_call(), which is more convenient if you
know in advance what the types of the parameters will be.
the XML-RPC methodCall string
the length of method_call,
or -1 if it is NUL-terminated
Parses method_response
and returns the return value in value
. If
method_response
is a fault, value
will be unchanged, and error
will be set to an error of type %SOUP_XMLRPC_FAULT, with the error
#code containing the fault code, and the error #message containing
the fault string. (If method_response
cannot be parsed at all,
soup_xmlrpc_parse_method_response() will return %FALSE, but error
will be unset.)
the XML-RPC methodResponse string
the length of method_response,
or -1 if it is NUL-terminated
Parses method_call
and return the method name. Method parameters can be
parsed later using soup_xmlrpc_params_parse().
the XML-RPC methodCall string
the length of method_call,
or -1 if it is NUL-terminated
Parses method_response
and returns the return value. If
method_response
is a fault, %NULL is returned, and error
will be set to an error in the %SOUP_XMLRPC_FAULT domain, with the error
code containing the fault code, and the error message containing
the fault string. If method_response
cannot be parsed, %NULL is returned,
and error
will be set to an error in the %SOUP_XMLRPC_ERROR domain.
See soup_xmlrpc_params_parse() for deserialization details.
the XML-RPC methodResponse string
the length of method_response,
or -1 if it is NUL-terminated
A valid #GVariant type string, or %NULL
Get the #SoupDate from special #GVariant created by soup_xmlrpc_variant_new_datetime() or by parsing a <dateTime.iso8601> node. See soup_xmlrpc_params_parse().
If variant
does not contain a datetime it will return an error but it is not
considered a programmer error because it generally means parameters received
are not in the expected type.
Construct a special #GVariant used to serialize a <dateTime.iso8601> node. See soup_xmlrpc_build_request().
The actual type of the returned #GVariant is unspecified and "v" or "*"
should be used in variant format strings. For example:
This can be passed to any #SoupAddress method that expects a port, to indicate that you don't care what port is used.