[vala/staging] vapi: Add libsoup-3.0 binding



commit 96d4a48536adf7f8e04ed42b93bcc5d67551adfe
Author: Rico Tzschichholz <ricotz ubuntu com>
Date:   Mon Oct 25 09:13:51 2021 +0200

    vapi: Add libsoup-3.0 binding
    
    Required by webkit2gtk-5.0

 vapi/Makefile.am                   |    6 +
 vapi/libsoup-3.0.deps              |    1 +
 vapi/libsoup-3.0.vapi              | 1048 ++++++++++++++++++++++++++++++++++++
 vapi/metadata/Soup-3.0-custom.vala |    2 +
 vapi/metadata/Soup-3.0.metadata    |   29 +
 5 files changed, 1086 insertions(+)
---
diff --git a/vapi/Makefile.am b/vapi/Makefile.am
index 309f89a50..cabea6cc0 100644
--- a/vapi/Makefile.am
+++ b/vapi/Makefile.am
@@ -218,6 +218,8 @@ dist_vapi_DATA = \
        libsexy.vapi \
        libsoup-2.4.deps \
        libsoup-2.4.vapi \
+       libsoup-3.0.deps \
+       libsoup-3.0.vapi \
        libunwind-generic.vapi \
        libusb.vapi \
        libusb-1.0.deps \
@@ -394,6 +396,7 @@ GIR_BINDINGS = \
        libpeas-1.0 \
        libpeas-gtk-1.0 \
        libsoup-2.4 \
+       libsoup-3.0 \
        libwnck-3.0 \
        packagekit-glib2 \
        pango \
@@ -679,6 +682,9 @@ libsexy:
 libsoup-2.4:
        $(GENVAPI) --library $(srcdir)/libsoup-2.4 --metadatadir $(METADATADIR) 
$(METADATADIR)/Soup-2.4-custom.vala --pkg gio-2.0 $(GIRDIR)/Soup-2.4.gir
 
+libsoup-3.0:
+       $(GENVAPI) --library $(srcdir)/libsoup-3.0 --metadatadir $(METADATADIR) 
$(METADATADIR)/Soup-3.0-custom.vala --pkg gio-2.0 $(GIRDIR)/Soup-3.0.gir
+
 libwnck-1.0:
        $(GENVAPI) --library $(srcdir)/libwnck-1.0 $(PACKAGESDIR)/libwnck-1.0/libwnck-1.0.gi
 
diff --git a/vapi/libsoup-3.0.deps b/vapi/libsoup-3.0.deps
new file mode 100644
index 000000000..cd10dfde4
--- /dev/null
+++ b/vapi/libsoup-3.0.deps
@@ -0,0 +1 @@
+gio-2.0
diff --git a/vapi/libsoup-3.0.vapi b/vapi/libsoup-3.0.vapi
new file mode 100644
index 000000000..e71e95398
--- /dev/null
+++ b/vapi/libsoup-3.0.vapi
@@ -0,0 +1,1048 @@
+/* libsoup-3.0.vapi generated by vapigen, do not modify. */
+
+[CCode (cprefix = "Soup", gir_namespace = "Soup", gir_version = "3.0", lower_case_cprefix = "soup_")]
+namespace Soup {
+       namespace Form {
+               [CCode (cheader_filename = "libsoup/soup.h")]
+               public static GLib.HashTable<weak string,weak string> decode (string encoded_form);
+               [CCode (cheader_filename = "libsoup/soup.h")]
+               public static GLib.HashTable<weak string,weak string>? decode_multipart (Soup.Multipart 
multipart, string? file_control_name, out string filename, out string content_type, out GLib.Bytes file);
+               [CCode (cheader_filename = "libsoup/soup.h")]
+               public static string encode (...);
+               [CCode (cheader_filename = "libsoup/soup.h")]
+               public static string encode_datalist (GLib.Datalist<string> form_data_set);
+               [CCode (cheader_filename = "libsoup/soup.h")]
+               public static string encode_hash (GLib.HashTable<string,string> form_data_set);
+               [CCode (cheader_filename = "libsoup/soup.h")]
+               public static string encode_valist (string first_field, va_list args);
+       }
+       [CCode (cheader_filename = "libsoup/soup.h", type_id = "soup_auth_get_type ()")]
+       public abstract class Auth : GLib.Object {
+               [CCode (has_construct_function = false)]
+               protected Auth ();
+               public virtual void authenticate (string username, string password);
+               public virtual bool can_authenticate ();
+               public void cancel ();
+               public unowned string get_authority ();
+               public virtual string get_authorization (Soup.Message msg);
+               public string get_info ();
+               public virtual GLib.SList<string> get_protection_space (GLib.Uri source_uri);
+               public unowned string get_realm ();
+               public unowned string get_scheme_name ();
+               public virtual bool is_ready (Soup.Message msg);
+               public static Soup.Auth? @new (GLib.Type type, Soup.Message msg, string auth_header);
+               public virtual bool update (Soup.Message msg, GLib.HashTable<void*,void*> auth_header);
+               [NoAccessorMethod]
+               public string authority { owned get; set; }
+               [NoAccessorMethod]
+               public virtual bool is_authenticated { get; }
+               [NoAccessorMethod]
+               public bool is_cancelled { get; }
+               [NoAccessorMethod]
+               public bool is_for_proxy { get; set; }
+               [NoAccessorMethod]
+               public string realm { owned get; set; }
+               public string scheme_name { get; }
+       }
+       [CCode (cheader_filename = "libsoup/soup.h", type_id = "soup_auth_basic_get_type ()")]
+       public sealed class AuthBasic : Soup.Auth {
+               [CCode (has_construct_function = false)]
+               protected AuthBasic ();
+       }
+       [CCode (cheader_filename = "libsoup/soup.h", type_id = "soup_auth_digest_get_type ()")]
+       public sealed class AuthDigest : Soup.Auth {
+               [CCode (has_construct_function = false)]
+               protected AuthDigest ();
+       }
+       [CCode (cheader_filename = "libsoup/soup.h", type_id = "soup_auth_domain_get_type ()")]
+       public abstract class AuthDomain : GLib.Object {
+               [CCode (has_construct_function = false)]
+               protected AuthDomain ();
+               [NoWrapper]
+               public virtual string accepts (Soup.ServerMessage msg, string header);
+               [CCode (cname = "soup_auth_domain_accepts")]
+               public string? accepts_authorization (Soup.ServerMessage msg);
+               public void add_path (string path);
+               public virtual string challenge (Soup.ServerMessage msg);
+               public virtual bool check_password (Soup.ServerMessage msg, string username, string password);
+               public bool covers (Soup.ServerMessage msg);
+               public unowned string get_realm ();
+               public void remove_path (string path);
+               public void set_filter (owned Soup.AuthDomainFilter filter);
+               public void set_generic_auth_callback (owned Soup.AuthDomainGenericAuthCallback 
auth_callback);
+               public bool try_generic_auth_callback (Soup.ServerMessage msg, string username);
+               [NoAccessorMethod]
+               public Soup.AuthDomainFilter filter { get; set; }
+               [NoAccessorMethod]
+               public void* filter_data { get; set; }
+               [NoAccessorMethod]
+               public Soup.AuthDomainGenericAuthCallback generic_auth_callback { get; set; }
+               [NoAccessorMethod]
+               public void* generic_auth_data { get; set; }
+               [NoAccessorMethod]
+               public bool proxy { get; construct; }
+               public string realm { get; construct; }
+       }
+       [CCode (cheader_filename = "libsoup/soup.h", type_id = "soup_auth_domain_basic_get_type ()")]
+       public sealed class AuthDomainBasic : Soup.AuthDomain {
+               [CCode (has_construct_function = false, type = "SoupAuthDomain*")]
+               public AuthDomainBasic (string optname1, ...);
+               public void set_auth_callback (owned Soup.AuthDomainBasicAuthCallback callback);
+               [NoAccessorMethod]
+               public Soup.AuthDomainBasicAuthCallback auth_callback { get; set; }
+               [NoAccessorMethod]
+               public void* auth_data { get; set; }
+       }
+       [CCode (cheader_filename = "libsoup/soup.h", type_id = "soup_auth_domain_digest_get_type ()")]
+       public sealed class AuthDomainDigest : Soup.AuthDomain {
+               [CCode (has_construct_function = false, type = "SoupAuthDomain*")]
+               public AuthDomainDigest (string optname1, ...);
+               public static string encode_password (string username, string realm, string password);
+               public void set_auth_callback (owned Soup.AuthDomainDigestAuthCallback callback);
+               [NoAccessorMethod]
+               public Soup.AuthDomainDigestAuthCallback auth_callback { get; set; }
+               [NoAccessorMethod]
+               public void* auth_data { get; set; }
+       }
+       [CCode (cheader_filename = "libsoup/soup.h", type_id = "soup_auth_manager_get_type ()")]
+       public sealed class AuthManager : GLib.Object, Soup.SessionFeature {
+               [CCode (has_construct_function = false)]
+               protected AuthManager ();
+               public void clear_cached_credentials ();
+               public void use_auth (GLib.Uri uri, Soup.Auth auth);
+               public signal void authenticate (Soup.Message msg, Soup.Auth auth, bool retrying);
+       }
+       [CCode (cheader_filename = "libsoup/soup.h", type_id = "soup_auth_ntlm_get_type ()")]
+       public sealed class AuthNTLM : Soup.Auth {
+               [CCode (has_construct_function = false)]
+               protected AuthNTLM ();
+       }
+       [CCode (cheader_filename = "libsoup/soup.h", type_id = "soup_auth_negotiate_get_type ()")]
+       public sealed class AuthNegotiate : Soup.Auth {
+               [CCode (has_construct_function = false)]
+               protected AuthNegotiate ();
+               public static bool supported ();
+       }
+       [CCode (cheader_filename = "libsoup/soup.h", type_id = "soup_cache_get_type ()")]
+       public class Cache : GLib.Object, Soup.SessionFeature {
+               [CCode (has_construct_function = false)]
+               public Cache (string? cache_dir, Soup.CacheType cache_type);
+               public void clear ();
+               public void dump ();
+               public void flush ();
+               [NoWrapper]
+               public virtual Soup.Cacheability get_cacheability (Soup.Message msg);
+               public uint get_max_size ();
+               public void load ();
+               public void set_max_size (uint max_size);
+               [NoAccessorMethod]
+               public string cache_dir { owned get; construct; }
+               [NoAccessorMethod]
+               public Soup.CacheType cache_type { get; construct; }
+       }
+       [CCode (cheader_filename = "libsoup/soup.h", has_type_id = false)]
+       [Compact]
+       public class ClientMessageIO {
+       }
+       [CCode (cheader_filename = "libsoup/soup.h", has_type_id = false)]
+       [Compact]
+       public class Connection {
+       }
+       [CCode (cheader_filename = "libsoup/soup.h", type_id = "soup_content_decoder_get_type ()")]
+       public sealed class ContentDecoder : GLib.Object, Soup.SessionFeature {
+               [CCode (has_construct_function = false)]
+               protected ContentDecoder ();
+       }
+       [CCode (cheader_filename = "libsoup/soup.h", type_id = "soup_content_sniffer_get_type ()")]
+       public sealed class ContentSniffer : GLib.Object, Soup.SessionFeature {
+               [CCode (has_construct_function = false)]
+               public ContentSniffer ();
+               public string sniff (Soup.Message msg, GLib.Bytes buffer, out GLib.HashTable<string,string>? 
@params);
+       }
+       [CCode (cheader_filename = "libsoup/soup.h", copy_function = "g_boxed_copy", free_function = 
"g_boxed_free", type_id = "soup_cookie_get_type ()")]
+       [Compact]
+       public class Cookie {
+               [CCode (has_construct_function = false)]
+               public Cookie (string name, string value, string domain, string path, int max_age);
+               public bool applies_to_uri (GLib.Uri uri);
+               public Soup.Cookie copy ();
+               public bool domain_matches (string host);
+               public bool equal (Soup.Cookie cookie2);
+               public void free ();
+               public unowned string get_domain ();
+               public unowned GLib.DateTime? get_expires ();
+               public bool get_http_only ();
+               public unowned string get_name ();
+               public unowned string get_path ();
+               public Soup.SameSitePolicy get_same_site_policy ();
+               public bool get_secure ();
+               public unowned string get_value ();
+               public static Soup.Cookie? parse (string header, GLib.Uri? origin);
+               public void set_domain (string domain);
+               public void set_expires (GLib.DateTime expires);
+               public void set_http_only (bool http_only);
+               public void set_max_age (int max_age);
+               public void set_name (string name);
+               public void set_path (string path);
+               public void set_same_site_policy (Soup.SameSitePolicy policy);
+               public void set_secure (bool secure);
+               public void set_value (string value);
+               public string to_cookie_header ();
+               public string to_set_cookie_header ();
+       }
+       [CCode (cheader_filename = "libsoup/soup.h", type_id = "soup_cookie_jar_get_type ()")]
+       public class CookieJar : GLib.Object, Soup.SessionFeature {
+               [CCode (has_construct_function = false)]
+               public CookieJar ();
+               public void add_cookie (owned Soup.Cookie cookie);
+               public void add_cookie_full (owned Soup.Cookie cookie, GLib.Uri? uri, GLib.Uri? first_party);
+               public void add_cookie_with_first_party (GLib.Uri first_party, owned Soup.Cookie cookie);
+               public GLib.SList<Soup.Cookie> all_cookies ();
+               public void delete_cookie (Soup.Cookie cookie);
+               public Soup.CookieJarAcceptPolicy get_accept_policy ();
+               public GLib.SList<Soup.Cookie> get_cookie_list (GLib.Uri uri, bool for_http);
+               public GLib.SList<Soup.Cookie> get_cookie_list_with_same_site_info (GLib.Uri uri, GLib.Uri? 
top_level, GLib.Uri? site_for_cookies, bool for_http, bool is_safe_method, bool is_top_level_navigation);
+               public string? get_cookies (GLib.Uri uri, bool for_http);
+               public virtual bool is_persistent ();
+               [NoWrapper]
+               public virtual void save ();
+               public void set_accept_policy (Soup.CookieJarAcceptPolicy policy);
+               public void set_cookie (GLib.Uri uri, string cookie);
+               public void set_cookie_with_first_party (GLib.Uri uri, GLib.Uri first_party, string cookie);
+               public Soup.CookieJarAcceptPolicy accept_policy { get; set; }
+               [NoAccessorMethod]
+               public bool read_only { get; construct; }
+               public virtual signal void changed (Soup.Cookie old_cookie, Soup.Cookie new_cookie);
+       }
+       [CCode (cheader_filename = "libsoup/soup.h", type_id = "soup_cookie_jar_db_get_type ()")]
+       public sealed class CookieJarDB : Soup.CookieJar, Soup.SessionFeature {
+               [CCode (has_construct_function = false, type = "SoupCookieJar*")]
+               public CookieJarDB (string filename, bool read_only);
+               [NoAccessorMethod]
+               public string filename { owned get; construct; }
+       }
+       [CCode (cheader_filename = "libsoup/soup.h", type_id = "soup_cookie_jar_text_get_type ()")]
+       public sealed class CookieJarText : Soup.CookieJar, Soup.SessionFeature {
+               [CCode (has_construct_function = false, type = "SoupCookieJar*")]
+               public CookieJarText (string filename, bool read_only);
+               [NoAccessorMethod]
+               public string filename { owned get; construct; }
+       }
+       [CCode (cheader_filename = "libsoup/soup.h", type_id = "soup_hsts_enforcer_get_type ()")]
+       public class HSTSEnforcer : GLib.Object, Soup.SessionFeature {
+               [CCode (has_construct_function = false)]
+               public HSTSEnforcer ();
+               public GLib.List<string> get_domains (bool session_policies);
+               public GLib.List<Soup.HSTSPolicy> get_policies (bool session_policies);
+               public virtual bool has_valid_policy (string domain);
+               public virtual bool is_persistent ();
+               public void set_policy (Soup.HSTSPolicy policy);
+               public void set_session_policy (string domain, bool include_subdomains);
+               public virtual signal void changed (Soup.HSTSPolicy old_policy, Soup.HSTSPolicy new_policy);
+       }
+       [CCode (cheader_filename = "libsoup/soup.h", type_id = "soup_hsts_enforcer_db_get_type ()")]
+       public sealed class HSTSEnforcerDB : Soup.HSTSEnforcer, Soup.SessionFeature {
+               [CCode (has_construct_function = false, type = "SoupHSTSEnforcer*")]
+               public HSTSEnforcerDB (string filename);
+               [NoAccessorMethod]
+               public string filename { owned get; construct; }
+       }
+       [CCode (cheader_filename = "libsoup/soup.h", copy_function = "g_boxed_copy", free_function = 
"g_boxed_free", type_id = "soup_hsts_policy_get_type ()")]
+       [Compact]
+       public class HSTSPolicy {
+               [CCode (has_construct_function = false)]
+               public HSTSPolicy (string domain, ulong max_age, bool include_subdomains);
+               public Soup.HSTSPolicy copy ();
+               public bool equal (Soup.HSTSPolicy policy2);
+               [DestroysInstance]
+               public void free ();
+               [CCode (has_construct_function = false)]
+               public HSTSPolicy.from_response (Soup.Message msg);
+               [CCode (has_construct_function = false)]
+               public HSTSPolicy.full (string domain, ulong max_age, GLib.DateTime expires, bool 
include_subdomains);
+               public unowned string get_domain ();
+               public GLib.DateTime get_expires ();
+               public ulong get_max_age ();
+               public bool includes_subdomains ();
+               public bool is_expired ();
+               public bool is_session_policy ();
+               [CCode (has_construct_function = false)]
+               public HSTSPolicy.session_policy (string domain, bool include_subdomains);
+       }
+       [CCode (cheader_filename = "libsoup/soup.h", type_id = "soup_logger_get_type ()")]
+       public sealed class Logger : GLib.Object, Soup.SessionFeature {
+               [CCode (has_construct_function = false)]
+               public Logger (Soup.LoggerLogLevel level);
+               public int get_max_body_size ();
+               public void set_max_body_size (int max_body_size);
+               public void set_printer (owned Soup.LoggerPrinter printer);
+               public void set_request_filter (owned Soup.LoggerFilter request_filter);
+               public void set_response_filter (owned Soup.LoggerFilter response_filter);
+               [NoAccessorMethod]
+               public Soup.LoggerLogLevel level { get; set; }
+               public int max_body_size { get; set; }
+       }
+       [CCode (cheader_filename = "libsoup/soup.h", type_id = "soup_message_get_type ()")]
+       public sealed class Message : GLib.Object {
+               [CCode (has_construct_function = false)]
+               public Message (string method, string uri_string);
+               public void add_flags (Soup.MessageFlags flags);
+               public uint add_header_handler (string @signal, string header, GLib.Callback callback, void* 
user_data);
+               public uint add_status_code_handler (string @signal, uint status_code, GLib.Callback 
callback, void* user_data);
+               public void disable_feature (GLib.Type feature_type);
+               [CCode (has_construct_function = false)]
+               public Message.from_encoded_form (string method, string uri_string, owned string 
encoded_form);
+               [CCode (has_construct_function = false)]
+               public Message.from_multipart (string uri_string, Soup.Multipart multipart);
+               [CCode (has_construct_function = false)]
+               public Message.from_uri (string method, GLib.Uri uri);
+               public uint64 get_connection_id ();
+               public unowned GLib.Uri get_first_party ();
+               public Soup.MessageFlags get_flags ();
+               public Soup.HTTPVersion get_http_version ();
+               public bool get_is_options_ping ();
+               public bool get_is_top_level_navigation ();
+               public unowned string get_method ();
+               public unowned Soup.MessageMetrics? get_metrics ();
+               public Soup.MessagePriority get_priority ();
+               public unowned string get_reason_phrase ();
+               public unowned GLib.SocketAddress? get_remote_address ();
+               public unowned Soup.MessageHeaders get_request_headers ();
+               public unowned Soup.MessageHeaders get_response_headers ();
+               public unowned GLib.Uri get_site_for_cookies ();
+               public Soup.Status get_status ();
+               public unowned string get_tls_ciphersuite_name ();
+               public unowned GLib.TlsCertificate? get_tls_peer_certificate ();
+               public GLib.TlsCertificateFlags get_tls_peer_certificate_errors ();
+               public GLib.TlsProtocolVersion get_tls_protocol_version ();
+               public unowned GLib.Uri get_uri ();
+               public bool is_feature_disabled (GLib.Type feature_type);
+               public bool is_keepalive ();
+               [CCode (has_construct_function = false)]
+               public Message.options_ping (GLib.Uri base_uri);
+               public bool query_flags (Soup.MessageFlags flags);
+               public void remove_flags (Soup.MessageFlags flags);
+               public void set_first_party (GLib.Uri first_party);
+               public void set_flags (Soup.MessageFlags flags);
+               public void set_is_options_ping (bool is_options_ping);
+               public void set_is_top_level_navigation (bool is_top_level_navigation);
+               public void set_method (string method);
+               public void set_priority (Soup.MessagePriority priority);
+               public void set_request_body (string? content_type, GLib.InputStream? stream, ssize_t 
content_length);
+               public void set_request_body_from_bytes (string? content_type, GLib.Bytes? bytes);
+               public void set_site_for_cookies (GLib.Uri? site_for_cookies);
+               public void set_tls_client_certificate (GLib.TlsCertificate? certificate);
+               public void set_uri (GLib.Uri uri);
+               public void tls_client_certificate_password_request_complete ();
+               public GLib.Uri first_party { get; set; }
+               public Soup.MessageFlags flags { get; set; }
+               public Soup.HTTPVersion http_version { get; }
+               public bool is_options_ping { get; set; }
+               public bool is_top_level_navigation { get; set; }
+               public string method { get; set; }
+               public Soup.MessagePriority priority { get; set; }
+               public string reason_phrase { get; }
+               public GLib.SocketAddress remote_address { get; }
+               public Soup.MessageHeaders request_headers { get; }
+               public Soup.MessageHeaders response_headers { get; }
+               public GLib.Uri site_for_cookies { get; set; }
+               [NoAccessorMethod]
+               public uint status_code { get; }
+               public string tls_ciphersuite_name { get; }
+               public GLib.TlsCertificate tls_peer_certificate { get; }
+               public GLib.TlsCertificateFlags tls_peer_certificate_errors { get; }
+               public GLib.TlsProtocolVersion tls_protocol_version { get; }
+               public GLib.Uri uri { get; set; }
+               public signal bool accept_certificate (GLib.TlsCertificate tls_peer_certificate, 
GLib.TlsCertificateFlags tls_peer_errors);
+               public signal bool authenticate (Soup.Auth auth, bool retrying);
+               public signal void content_sniffed (string type, GLib.HashTable<string,string> @params);
+               public signal void finished ();
+               public signal void got_body ();
+               public signal void got_headers ();
+               public signal void got_informational ();
+               public signal void hsts_enforced ();
+               public signal void network_event (GLib.SocketClientEvent event, GLib.IOStream connection);
+               public signal bool request_certificate (GLib.TlsClientConnection tls_connection);
+               public signal bool request_certificate_password (GLib.TlsPassword tls_password);
+               public signal void restarted ();
+               public signal void starting ();
+               public signal void wrote_body ();
+               public signal void wrote_body_data (uint chunk_size);
+               public signal void wrote_headers ();
+       }
+       [CCode (cheader_filename = "libsoup/soup.h", ref_function = "soup_message_body_ref", type_id = 
"soup_message_body_get_type ()", unref_function = "soup_message_body_unref")]
+       [Compact]
+       public class MessageBody {
+               [CCode (array_length_cname = "length", array_length_type = "gint64")]
+               public weak uint8[] data;
+               public int64 length;
+               [CCode (has_construct_function = false)]
+               public MessageBody ();
+               [Version (deprecated = true, deprecated_since = "2.32", replacement = 
"MessageBody.append_take")]
+               public void append (Soup.MemoryUse use, [CCode (array_length_cname = "length", 
array_length_pos = 2.1, array_length_type = "gsize")] uint8[] data);
+               public void append_bytes (GLib.Bytes buffer);
+               public void append_take ([CCode (array_length_cname = "length", array_length_pos = 1.1, 
array_length_type = "gsize")] owned uint8[] data);
+               public void complete ();
+               public GLib.Bytes flatten ();
+               public bool get_accumulate ();
+               public GLib.Bytes? get_chunk (int64 offset);
+               public void got_chunk (GLib.Bytes chunk);
+               public Soup.MessageBody @ref ();
+               public void set_accumulate (bool accumulate);
+               public void truncate ();
+               public void unref ();
+               public void wrote_chunk (GLib.Bytes chunk);
+       }
+       [CCode (cheader_filename = "libsoup/soup.h", ref_function = "soup_message_headers_ref", type_id = 
"soup_message_headers_get_type ()", unref_function = "soup_message_headers_unref")]
+       [Compact]
+       public class MessageHeaders {
+               [CCode (has_construct_function = false)]
+               public MessageHeaders (Soup.MessageHeadersType type);
+               public void append (string name, string value);
+               public void clean_connection_headers ();
+               public void clear ();
+               public void @foreach (Soup.MessageHeadersForeachFunc func);
+               public void free_ranges (Soup.Range ranges);
+               public bool get_content_disposition (out string disposition, out 
GLib.HashTable<string,string> @params);
+               public int64 get_content_length ();
+               public bool get_content_range (out int64 start, out int64 end, out int64 total_length);
+               public unowned string? get_content_type (out GLib.HashTable<string,string> @params);
+               public Soup.Encoding get_encoding ();
+               public Soup.Expectation get_expectations ();
+               public Soup.MessageHeadersType get_headers_type ();
+               public unowned string? get_list (string name);
+               public unowned string? get_one (string name);
+               public bool get_ranges (int64 total_length, [CCode (array_length_cname = "length", 
array_length_pos = 2.1)] out Soup.Range[] ranges);
+               public bool header_contains (string name, string token);
+               public bool header_equals (string name, string value);
+               public Soup.MessageHeaders @ref ();
+               public void remove (string name);
+               public void replace (string name, string value);
+               public void set_content_disposition (string disposition, GLib.HashTable<string,string>? 
@params);
+               public void set_content_length (int64 content_length);
+               public void set_content_range (int64 start, int64 end, int64 total_length);
+               public void set_content_type (string content_type, GLib.HashTable<string,string>? @params);
+               public void set_encoding (Soup.Encoding encoding);
+               public void set_expectations (Soup.Expectation expectations);
+               public void set_range (int64 start, int64 end);
+               public void set_ranges (Soup.Range ranges, int length);
+               public void unref ();
+       }
+       [CCode (cheader_filename = "libsoup/soup.h", copy_function = "g_boxed_copy", free_function = 
"g_boxed_free", type_id = "soup_message_metrics_get_type ()")]
+       [Compact]
+       public class MessageMetrics {
+               public Soup.MessageMetrics copy ();
+               public void free ();
+               public uint64 get_connect_end ();
+               public uint64 get_connect_start ();
+               public uint64 get_dns_end ();
+               public uint64 get_dns_start ();
+               public uint64 get_fetch_start ();
+               public uint64 get_request_body_bytes_sent ();
+               public uint64 get_request_body_size ();
+               public uint64 get_request_header_bytes_sent ();
+               public uint64 get_request_start ();
+               public uint64 get_response_body_bytes_received ();
+               public uint64 get_response_body_size ();
+               public uint64 get_response_end ();
+               public uint64 get_response_header_bytes_received ();
+               public uint64 get_response_start ();
+               public uint64 get_tls_start ();
+       }
+       [CCode (cheader_filename = "libsoup/soup.h", has_type_id = false)]
+       [Compact]
+       public class MessageQueue {
+       }
+       [CCode (cheader_filename = "libsoup/soup.h", has_type_id = false)]
+       [Compact]
+       public class MessageQueueItem {
+       }
+       [CCode (cheader_filename = "libsoup/soup.h", copy_function = "g_boxed_copy", free_function = 
"g_boxed_free", type_id = "soup_multipart_get_type ()")]
+       [Compact]
+       public class Multipart {
+               [CCode (has_construct_function = false)]
+               public Multipart (string mime_type);
+               public void append_form_file (string control_name, string filename, string content_type, 
GLib.Bytes body);
+               public void append_form_string (string control_name, string data);
+               public void append_part (Soup.MessageHeaders headers, GLib.Bytes body);
+               public void free ();
+               [CCode (has_construct_function = false)]
+               public Multipart.from_message (Soup.MessageHeaders headers, GLib.Bytes body);
+               public int get_length ();
+               public bool get_part (int part, out unowned Soup.MessageHeaders headers, out unowned 
GLib.Bytes body);
+               public void to_message (Soup.MessageHeaders dest_headers, out GLib.Bytes dest_body);
+       }
+       [CCode (cheader_filename = "libsoup/soup.h", type_id = "soup_multipart_input_stream_get_type ()")]
+       public sealed class MultipartInputStream : GLib.FilterInputStream, GLib.PollableInputStream {
+               [CCode (has_construct_function = false)]
+               public MultipartInputStream (Soup.Message msg, GLib.InputStream base_stream);
+               public unowned Soup.MessageHeaders? get_headers ();
+               public GLib.InputStream? next_part (GLib.Cancellable? cancellable = null) throws GLib.Error;
+               public async GLib.InputStream? next_part_async (int io_priority, GLib.Cancellable? 
cancellable) throws GLib.Error;
+               [NoAccessorMethod]
+               public Soup.Message message { owned get; construct; }
+       }
+       [CCode (cheader_filename = "libsoup/soup.h", type_id = "soup_server_get_type ()")]
+       public class Server : GLib.Object {
+               [CCode (has_construct_function = false)]
+               public Server (string optname1, ...);
+               public bool accept_iostream (GLib.IOStream stream, GLib.SocketAddress? local_addr, 
GLib.SocketAddress? remote_addr) throws GLib.Error;
+               public void add_auth_domain (Soup.AuthDomain auth_domain);
+               public void add_early_handler (string? path, owned Soup.ServerCallback callback);
+               public void add_handler (string? path, owned Soup.ServerCallback callback);
+               public void add_websocket_extension (GLib.Type extension_type);
+               public void add_websocket_handler (string? path, string? origin, [CCode (array_length = 
false, array_null_terminated = true)] string[]? protocols, owned Soup.ServerWebsocketCallback callback);
+               public void disconnect ();
+               public GLib.SList<weak GLib.Socket> get_listeners ();
+               public GLib.TlsAuthenticationMode get_tls_auth_mode ();
+               public unowned GLib.TlsCertificate? get_tls_certificate ();
+               public unowned GLib.TlsDatabase? get_tls_database ();
+               public GLib.SList<GLib.Uri> get_uris ();
+               public bool is_https ();
+               public bool listen (GLib.SocketAddress address, Soup.ServerListenOptions options) throws 
GLib.Error;
+               public bool listen_all (uint port, Soup.ServerListenOptions options) throws GLib.Error;
+               public bool listen_local (uint port, Soup.ServerListenOptions options) throws GLib.Error;
+               public bool listen_socket (GLib.Socket socket, Soup.ServerListenOptions options) throws 
GLib.Error;
+               public void pause_message (Soup.ServerMessage msg);
+               public void remove_auth_domain (Soup.AuthDomain auth_domain);
+               public void remove_handler (string path);
+               public void remove_websocket_extension (GLib.Type extension_type);
+               public void set_tls_auth_mode (GLib.TlsAuthenticationMode mode);
+               public void set_tls_certificate (GLib.TlsCertificate certificate);
+               public void set_tls_database (GLib.TlsDatabase tls_database);
+               public void unpause_message (Soup.ServerMessage msg);
+               [NoAccessorMethod]
+               public bool raw_paths { get; construct; }
+               [NoAccessorMethod]
+               public string server_header { owned get; set construct; }
+               public GLib.TlsAuthenticationMode tls_auth_mode { get; set construct; }
+               public GLib.TlsCertificate tls_certificate { get; set construct; }
+               public GLib.TlsDatabase tls_database { get; set construct; }
+               public virtual signal void request_aborted (Soup.ServerMessage msg);
+               public virtual signal void request_finished (Soup.ServerMessage msg);
+               public virtual signal void request_read (Soup.ServerMessage msg);
+               public virtual signal void request_started (Soup.ServerMessage msg);
+       }
+       [CCode (cheader_filename = "libsoup/soup.h", type_id = "soup_server_message_get_type ()")]
+       public sealed class ServerMessage : GLib.Object {
+               [CCode (has_construct_function = false)]
+               protected ServerMessage ();
+               public Soup.HTTPVersion get_http_version ();
+               public unowned GLib.SocketAddress? get_local_address ();
+               public unowned string get_method ();
+               public unowned string get_reason_phrase ();
+               public unowned GLib.SocketAddress? get_remote_address ();
+               public unowned string? get_remote_host ();
+               public unowned Soup.MessageBody get_request_body ();
+               public unowned Soup.MessageHeaders get_request_headers ();
+               public unowned Soup.MessageBody get_response_body ();
+               public unowned Soup.MessageHeaders get_response_headers ();
+               public unowned GLib.Socket? get_socket ();
+               public uint get_status ();
+               public unowned GLib.Uri get_uri ();
+               public bool is_options_ping ();
+               public void set_http_version (Soup.HTTPVersion version);
+               public void set_redirect (uint status_code, string redirect_uri);
+               public void set_response (string? content_type, Soup.MemoryUse resp_use, [CCode 
(array_length_cname = "resp_length", array_length_pos = 3.1, array_length_type = "gsize")] uint8[]? 
resp_body);
+               public void set_status (uint status_code, string? reason_phrase);
+               public GLib.IOStream steal_connection ();
+               public signal bool accept_certificate (GLib.TlsCertificate tls_peer_certificate, 
GLib.TlsCertificateFlags tls_peer_errors);
+               public signal void disconnected ();
+               public signal void finished ();
+               public signal void got_body ();
+               public signal void got_chunk (GLib.Bytes chunk);
+               public signal void got_headers ();
+               public signal void wrote_body ();
+               public signal void wrote_body_data (uint chunk_size);
+               public signal void wrote_chunk ();
+               public signal void wrote_headers ();
+               public signal void wrote_informational ();
+       }
+       [CCode (cheader_filename = "libsoup/soup.h", type_id = "soup_session_get_type ()")]
+       public class Session : GLib.Object {
+               [CCode (has_construct_function = false)]
+               public Session ();
+               public void abort ();
+               public void add_feature (Soup.SessionFeature feature);
+               public void add_feature_by_type (GLib.Type feature_type);
+               public unowned string? get_accept_language ();
+               public bool get_accept_language_auto ();
+               public unowned Soup.Message? get_async_result_message (GLib.AsyncResult result);
+               public unowned Soup.SessionFeature? get_feature (GLib.Type feature_type);
+               public unowned Soup.SessionFeature? get_feature_for_message (GLib.Type feature_type, 
Soup.Message msg);
+               public uint get_idle_timeout ();
+               public unowned GLib.InetSocketAddress? get_local_address ();
+               public uint get_max_conns ();
+               public uint get_max_conns_per_host ();
+               public unowned GLib.ProxyResolver? get_proxy_resolver ();
+               public unowned GLib.SocketConnectable? get_remote_connectable ();
+               public uint get_timeout ();
+               public unowned GLib.TlsDatabase? get_tls_database ();
+               public unowned GLib.TlsInteraction? get_tls_interaction ();
+               public unowned string? get_user_agent ();
+               public bool has_feature (GLib.Type feature_type);
+               public async bool preconnect_async (Soup.Message msg, int io_priority, GLib.Cancellable? 
cancellable) throws GLib.Error;
+               public void remove_feature (Soup.SessionFeature feature);
+               public void remove_feature_by_type (GLib.Type feature_type);
+               public GLib.InputStream send (Soup.Message msg, GLib.Cancellable? cancellable = null) throws 
GLib.Error;
+               public GLib.Bytes send_and_read (Soup.Message msg, GLib.Cancellable? cancellable = null) 
throws GLib.Error;
+               public async GLib.Bytes send_and_read_async (Soup.Message msg, int io_priority, 
GLib.Cancellable? cancellable) throws GLib.Error;
+               public async GLib.InputStream send_async (Soup.Message msg, int io_priority, 
GLib.Cancellable? cancellable) throws GLib.Error;
+               public void set_accept_language (string accept_language);
+               public void set_accept_language_auto (bool accept_language_auto);
+               public void set_idle_timeout (uint timeout);
+               public void set_proxy_resolver (GLib.ProxyResolver? proxy_resolver);
+               public void set_timeout (uint timeout);
+               public void set_tls_database (GLib.TlsDatabase? tls_database);
+               public void set_tls_interaction (GLib.TlsInteraction? tls_interaction);
+               public void set_user_agent (string user_agent);
+               public async Soup.WebsocketConnection websocket_connect_async (Soup.Message msg, string? 
origin, [CCode (array_length = false, array_null_terminated = true)] string[]? protocols, int io_priority, 
GLib.Cancellable? cancellable) throws GLib.Error;
+               [CCode (has_construct_function = false)]
+               public Session.with_options (string optname1, ...);
+               public string accept_language { get; set; }
+               public bool accept_language_auto { get; set; }
+               public uint idle_timeout { get; set; }
+               public GLib.InetSocketAddress local_address { get; construct; }
+               public int max_conns { get; construct; }
+               public int max_conns_per_host { get; construct; }
+               public GLib.ProxyResolver proxy_resolver { get; set; }
+               public GLib.SocketConnectable remote_connectable { get; construct; }
+               public uint timeout { get; set; }
+               public GLib.TlsDatabase tls_database { get; set; }
+               public GLib.TlsInteraction tls_interaction { get; set; }
+               public string user_agent { get; set; }
+               public virtual signal void request_queued (Soup.Message msg);
+               public virtual signal void request_unqueued (Soup.Message msg);
+       }
+       [CCode (cheader_filename = "libsoup/soup.h", has_type_id = false)]
+       [Compact]
+       public class Socket {
+       }
+       [CCode (cheader_filename = "libsoup/soup.h", type_id = "soup_websocket_connection_get_type ()")]
+       public sealed class WebsocketConnection : GLib.Object {
+               [CCode (has_construct_function = false)]
+               public WebsocketConnection (GLib.IOStream stream, GLib.Uri uri, Soup.WebsocketConnectionType 
type, string? origin, string? protocol, owned GLib.List<Soup.WebsocketExtension> extensions);
+               public void close (ushort code, string? data);
+               public ushort get_close_code ();
+               public unowned string get_close_data ();
+               public Soup.WebsocketConnectionType get_connection_type ();
+               public unowned GLib.List<Soup.WebsocketExtension> get_extensions ();
+               public unowned GLib.IOStream get_io_stream ();
+               public uint get_keepalive_interval ();
+               public uint64 get_max_incoming_payload_size ();
+               public unowned string? get_origin ();
+               public unowned string? get_protocol ();
+               public Soup.WebsocketState get_state ();
+               public unowned GLib.Uri get_uri ();
+               public void send_binary ([CCode (array_length_cname = "length", array_length_pos = 1.1, 
array_length_type = "gsize")] uint8[]? data);
+               public void send_message (Soup.WebsocketDataType type, GLib.Bytes message);
+               public void send_text (string text);
+               public void set_keepalive_interval (uint interval);
+               public void set_max_incoming_payload_size (uint64 max_incoming_payload_size);
+               public Soup.WebsocketConnectionType connection_type { get; construct; }
+               public void* extensions { get; construct; }
+               public GLib.IOStream io_stream { get; construct; }
+               public uint keepalive_interval { get; set construct; }
+               public uint64 max_incoming_payload_size { get; set construct; }
+               public string origin { get; construct; }
+               public string protocol { get; construct; }
+               public Soup.WebsocketState state { get; }
+               public GLib.Uri uri { get; construct; }
+               public signal void closed ();
+               public signal void closing ();
+               public signal void error (GLib.Error error);
+               public signal void message (int type, GLib.Bytes message);
+               public signal void pong (GLib.Bytes message);
+       }
+       [CCode (cheader_filename = "libsoup/soup.h", type_id = "soup_websocket_extension_get_type ()")]
+       public abstract class WebsocketExtension : GLib.Object {
+               [CCode (has_construct_function = false)]
+               protected WebsocketExtension ();
+               public virtual bool configure (Soup.WebsocketConnectionType connection_type, 
GLib.HashTable<void*,void*>? @params) throws GLib.Error;
+               public virtual string? get_request_params ();
+               public virtual string? get_response_params ();
+               public virtual GLib.Bytes process_incoming_message (ref uint8 header, owned GLib.Bytes 
payload) throws GLib.Error;
+               public virtual GLib.Bytes process_outgoing_message (ref uint8 header, owned GLib.Bytes 
payload) throws GLib.Error;
+       }
+       [CCode (cheader_filename = "libsoup/soup.h", type_id = "soup_websocket_extension_deflate_get_type 
()")]
+       public sealed class WebsocketExtensionDeflate : Soup.WebsocketExtension {
+               [CCode (has_construct_function = false)]
+               protected WebsocketExtensionDeflate ();
+       }
+       [CCode (cheader_filename = "libsoup/soup.h", type_id = "soup_websocket_extension_manager_get_type 
()")]
+       public sealed class WebsocketExtensionManager : GLib.Object, Soup.SessionFeature {
+               [CCode (has_construct_function = false)]
+               protected WebsocketExtensionManager ();
+       }
+       [CCode (cheader_filename = "libsoup/soup.h", type_cname = "SoupSessionFeatureInterface", type_id = 
"soup_session_feature_get_type ()")]
+       public interface SessionFeature : GLib.Object {
+       }
+       [CCode (cheader_filename = "libsoup/soup.h", has_type_id = false)]
+       public struct MessageHeadersIter {
+               public void init (Soup.MessageHeaders hdrs);
+               public static bool next (ref Soup.MessageHeadersIter iter, out unowned string name, out 
unowned string value);
+       }
+       [CCode (cheader_filename = "libsoup/soup.h", has_type_id = false)]
+       public struct Range {
+               public int64 start;
+               public int64 end;
+       }
+       [CCode (cheader_filename = "libsoup/soup.h", cprefix = "SOUP_CACHE_RESPONSE_", type_id = 
"soup_cache_response_get_type ()")]
+       public enum CacheResponse {
+               FRESH,
+               NEEDS_VALIDATION,
+               STALE
+       }
+       [CCode (cheader_filename = "libsoup/soup.h", cprefix = "SOUP_CACHE_", type_id = 
"soup_cache_type_get_type ()")]
+       public enum CacheType {
+               SINGLE_USER,
+               SHARED
+       }
+       [CCode (cheader_filename = "libsoup/soup.h", cprefix = "SOUP_CACHE_", type_id = 
"soup_cacheability_get_type ()")]
+       [Flags]
+       public enum Cacheability {
+               CACHEABLE,
+               UNCACHEABLE,
+               INVALIDATES,
+               VALIDATES
+       }
+       [CCode (cheader_filename = "libsoup/soup.h", cprefix = "SOUP_COOKIE_JAR_ACCEPT_", type_id = 
"soup_cookie_jar_accept_policy_get_type ()")]
+       public enum CookieJarAcceptPolicy {
+               ALWAYS,
+               NEVER,
+               NO_THIRD_PARTY,
+               GRANDFATHERED_THIRD_PARTY
+       }
+       [CCode (cheader_filename = "libsoup/soup.h", cprefix = "SOUP_DATE_", type_id = 
"soup_date_format_get_type ()")]
+       public enum DateFormat {
+               HTTP,
+               COOKIE
+       }
+       [CCode (cheader_filename = "libsoup/soup.h", cprefix = "SOUP_ENCODING_", type_id = 
"soup_encoding_get_type ()")]
+       public enum Encoding {
+               UNRECOGNIZED,
+               NONE,
+               CONTENT_LENGTH,
+               EOF,
+               CHUNKED,
+               BYTERANGES
+       }
+       [CCode (cheader_filename = "libsoup/soup.h", cprefix = "SOUP_EXPECTATION_", type_id = 
"soup_expectation_get_type ()")]
+       [Flags]
+       public enum Expectation {
+               UNRECOGNIZED,
+               CONTINUE
+       }
+       [CCode (cheader_filename = "libsoup/soup.h", cprefix = "SOUP_HTTP_", type_id = 
"soup_http_version_get_type ()")]
+       public enum HTTPVersion {
+               @1_0,
+               @1_1,
+               @2_0
+       }
+       [CCode (cheader_filename = "libsoup/soup.h", cprefix = "SOUP_LOGGER_LOG_", type_id = 
"soup_logger_log_level_get_type ()")]
+       public enum LoggerLogLevel {
+               NONE,
+               MINIMAL,
+               HEADERS,
+               BODY
+       }
+       [CCode (cheader_filename = "libsoup/soup.h", cprefix = "SOUP_MEMORY_", type_id = 
"soup_memory_use_get_type ()")]
+       public enum MemoryUse {
+               STATIC,
+               TAKE,
+               COPY
+       }
+       [CCode (cheader_filename = "libsoup/soup.h", cprefix = "SOUP_MESSAGE_", type_id = 
"soup_message_flags_get_type ()")]
+       [Flags]
+       public enum MessageFlags {
+               NO_REDIRECT,
+               NEW_CONNECTION,
+               IDEMPOTENT,
+               DO_NOT_USE_AUTH_CACHE,
+               COLLECT_METRICS
+       }
+       [CCode (cheader_filename = "libsoup/soup.h", cprefix = "SOUP_MESSAGE_HEADERS_", type_id = 
"soup_message_headers_type_get_type ()")]
+       public enum MessageHeadersType {
+               REQUEST,
+               RESPONSE,
+               MULTIPART
+       }
+       [CCode (cheader_filename = "libsoup/soup.h", cprefix = "SOUP_MESSAGE_PRIORITY_", type_id = 
"soup_message_priority_get_type ()")]
+       public enum MessagePriority {
+               VERY_LOW,
+               LOW,
+               NORMAL,
+               HIGH,
+               VERY_HIGH
+       }
+       [CCode (cheader_filename = "libsoup/soup.h", cprefix = "SOUP_SAME_SITE_POLICY_", type_id = 
"soup_same_site_policy_get_type ()")]
+       public enum SameSitePolicy {
+               NONE,
+               LAX,
+               STRICT
+       }
+       [CCode (cheader_filename = "libsoup/soup.h", cprefix = "SOUP_SERVER_LISTEN_", type_id = 
"soup_server_listen_options_get_type ()")]
+       [Flags]
+       public enum ServerListenOptions {
+               HTTPS,
+               IPV4_ONLY,
+               IPV6_ONLY
+       }
+       [CCode (cheader_filename = "libsoup/soup.h", cprefix = "SOUP_STATUS_", type_id = 
"soup_status_get_type ()")]
+       public enum Status {
+               NONE,
+               CONTINUE,
+               SWITCHING_PROTOCOLS,
+               PROCESSING,
+               OK,
+               CREATED,
+               ACCEPTED,
+               NON_AUTHORITATIVE,
+               NO_CONTENT,
+               RESET_CONTENT,
+               PARTIAL_CONTENT,
+               MULTI_STATUS,
+               MULTIPLE_CHOICES,
+               MOVED_PERMANENTLY,
+               FOUND,
+               MOVED_TEMPORARILY,
+               SEE_OTHER,
+               NOT_MODIFIED,
+               USE_PROXY,
+               NOT_APPEARING_IN_THIS_PROTOCOL,
+               TEMPORARY_REDIRECT,
+               PERMANENT_REDIRECT,
+               BAD_REQUEST,
+               UNAUTHORIZED,
+               PAYMENT_REQUIRED,
+               FORBIDDEN,
+               NOT_FOUND,
+               METHOD_NOT_ALLOWED,
+               NOT_ACCEPTABLE,
+               PROXY_AUTHENTICATION_REQUIRED,
+               PROXY_UNAUTHORIZED,
+               REQUEST_TIMEOUT,
+               CONFLICT,
+               GONE,
+               LENGTH_REQUIRED,
+               PRECONDITION_FAILED,
+               REQUEST_ENTITY_TOO_LARGE,
+               REQUEST_URI_TOO_LONG,
+               UNSUPPORTED_MEDIA_TYPE,
+               REQUESTED_RANGE_NOT_SATISFIABLE,
+               INVALID_RANGE,
+               EXPECTATION_FAILED,
+               MISDIRECTED_REQUEST,
+               UNPROCESSABLE_ENTITY,
+               LOCKED,
+               FAILED_DEPENDENCY,
+               INTERNAL_SERVER_ERROR,
+               NOT_IMPLEMENTED,
+               BAD_GATEWAY,
+               SERVICE_UNAVAILABLE,
+               GATEWAY_TIMEOUT,
+               HTTP_VERSION_NOT_SUPPORTED,
+               INSUFFICIENT_STORAGE,
+               NOT_EXTENDED;
+               public static unowned string get_phrase (uint status_code);
+       }
+       [CCode (cheader_filename = "libsoup/soup.h", cprefix = "SOUP_URI_", type_id = 
"soup_uri_component_get_type ()")]
+       public enum URIComponent {
+               NONE,
+               SCHEME,
+               USER,
+               PASSWORD,
+               AUTH_PARAMS,
+               HOST,
+               PORT,
+               PATH,
+               QUERY,
+               FRAGMENT
+       }
+       [CCode (cheader_filename = "libsoup/soup.h", cprefix = "SOUP_WEBSOCKET_CLOSE_", type_id = 
"soup_websocket_close_code_get_type ()")]
+       public enum WebsocketCloseCode {
+               NORMAL,
+               GOING_AWAY,
+               PROTOCOL_ERROR,
+               UNSUPPORTED_DATA,
+               NO_STATUS,
+               ABNORMAL,
+               BAD_DATA,
+               POLICY_VIOLATION,
+               TOO_BIG,
+               NO_EXTENSION,
+               SERVER_ERROR,
+               TLS_HANDSHAKE
+       }
+       [CCode (cheader_filename = "libsoup/soup.h", cprefix = "SOUP_WEBSOCKET_CONNECTION_", type_id = 
"soup_websocket_connection_type_get_type ()")]
+       public enum WebsocketConnectionType {
+               UNKNOWN,
+               CLIENT,
+               SERVER
+       }
+       [CCode (cheader_filename = "libsoup/soup.h", cprefix = "SOUP_WEBSOCKET_DATA_", type_id = 
"soup_websocket_data_type_get_type ()")]
+       public enum WebsocketDataType {
+               TEXT,
+               BINARY
+       }
+       [CCode (cheader_filename = "libsoup/soup.h", cprefix = "SOUP_WEBSOCKET_STATE_", type_id = 
"soup_websocket_state_get_type ()")]
+       public enum WebsocketState {
+               OPEN,
+               CLOSING,
+               CLOSED
+       }
+       [CCode (cheader_filename = "libsoup/soup.h", cprefix = "SOUP_SESSION_ERROR_")]
+       public errordomain SessionError {
+               PARSING,
+               ENCODING,
+               TOO_MANY_REDIRECTS,
+               TOO_MANY_RESTARTS,
+               REDIRECT_NO_LOCATION,
+               REDIRECT_BAD_URI,
+               MESSAGE_ALREADY_IN_QUEUE;
+               public static GLib.Quark quark ();
+       }
+       [CCode (cheader_filename = "libsoup/soup.h", cprefix = "SOUP_TLD_ERROR_")]
+       public errordomain TLDError {
+               INVALID_HOSTNAME,
+               IS_IP_ADDRESS,
+               NOT_ENOUGH_DOMAINS,
+               NO_BASE_DOMAIN,
+               NO_PSL_DATA;
+               public static GLib.Quark quark ();
+       }
+       [CCode (cheader_filename = "libsoup/soup.h", cprefix = "SOUP_WEBSOCKET_ERROR_")]
+       public errordomain WebsocketError {
+               FAILED,
+               NOT_WEBSOCKET,
+               BAD_HANDSHAKE,
+               BAD_ORIGIN;
+               public static GLib.Quark quark ();
+       }
+       [CCode (cheader_filename = "libsoup/soup.h", instance_pos = 4.9)]
+       public delegate bool AuthDomainBasicAuthCallback (Soup.AuthDomainBasic domain, Soup.ServerMessage 
msg, string username, string password);
+       [CCode (cheader_filename = "libsoup/soup.h", instance_pos = 3.9)]
+       public delegate string? AuthDomainDigestAuthCallback (Soup.AuthDomainDigest domain, 
Soup.ServerMessage msg, string username);
+       [CCode (cheader_filename = "libsoup/soup.h", instance_pos = 2.9)]
+       public delegate bool AuthDomainFilter (Soup.AuthDomain domain, Soup.ServerMessage msg);
+       [CCode (cheader_filename = "libsoup/soup.h", instance_pos = 3.9)]
+       public delegate bool AuthDomainGenericAuthCallback (Soup.AuthDomain domain, Soup.ServerMessage msg, 
string username);
+       [CCode (cheader_filename = "libsoup/soup.h", instance_pos = 2.9)]
+       public delegate Soup.LoggerLogLevel LoggerFilter (Soup.Logger logger, Soup.Message msg);
+       [CCode (cheader_filename = "libsoup/soup.h", instance_pos = 4.9)]
+       public delegate void LoggerPrinter (Soup.Logger logger, Soup.LoggerLogLevel level, char direction, 
string data);
+       [CCode (cheader_filename = "libsoup/soup.h", instance_pos = 2.9)]
+       public delegate void MessageHeadersForeachFunc (string name, string value);
+       [CCode (cheader_filename = "libsoup/soup.h", instance_pos = 4.9)]
+       public delegate void ServerCallback (Soup.Server server, Soup.ServerMessage msg, string path, 
GLib.HashTable<string,string>? query);
+       [CCode (cheader_filename = "libsoup/soup.h", instance_pos = 4.9)]
+       public delegate void ServerWebsocketCallback (Soup.Server server, Soup.ServerMessage msg, string 
path, Soup.WebsocketConnection connection);
+       [CCode (cheader_filename = "libsoup/soup.h", cname = "SOUP_COOKIE_MAX_AGE_ONE_DAY")]
+       public const int COOKIE_MAX_AGE_ONE_DAY;
+       [CCode (cheader_filename = "libsoup/soup.h", cname = "SOUP_COOKIE_MAX_AGE_ONE_HOUR")]
+       public const int COOKIE_MAX_AGE_ONE_HOUR;
+       [CCode (cheader_filename = "libsoup/soup.h", cname = "SOUP_COOKIE_MAX_AGE_ONE_WEEK")]
+       public const int COOKIE_MAX_AGE_ONE_WEEK;
+       [CCode (cheader_filename = "libsoup/soup.h", cname = "SOUP_COOKIE_MAX_AGE_ONE_YEAR")]
+       public const int COOKIE_MAX_AGE_ONE_YEAR;
+       [CCode (cheader_filename = "libsoup/soup.h", cname = "SOUP_FORM_MIME_TYPE_MULTIPART")]
+       public const string FORM_MIME_TYPE_MULTIPART;
+       [CCode (cheader_filename = "libsoup/soup.h", cname = "SOUP_FORM_MIME_TYPE_URLENCODED")]
+       public const string FORM_MIME_TYPE_URLENCODED;
+       [CCode (cheader_filename = "libsoup/soup.h", cname = "SOUP_HSTS_POLICY_MAX_AGE_PAST")]
+       public const int HSTS_POLICY_MAX_AGE_PAST;
+       [CCode (cheader_filename = "libsoup/soup.h", cname = "SOUP_HTTP_URI_FLAGS")]
+       public const int HTTP_URI_FLAGS;
+       [CCode (cheader_filename = "libsoup/soup.h", cname = "SOUP_MAJOR_VERSION")]
+       public const int MAJOR_VERSION;
+       [CCode (cheader_filename = "libsoup/soup.h", cname = "SOUP_MICRO_VERSION")]
+       public const int MICRO_VERSION;
+       [CCode (cheader_filename = "libsoup/soup.h", cname = "SOUP_MINOR_VERSION")]
+       public const int MINOR_VERSION;
+       [CCode (cheader_filename = "libsoup/soup.h", cname = "SOUP_VERSION_MIN_REQUIRED")]
+       public const int VERSION_MIN_REQUIRED;
+       [CCode (cheader_filename = "libsoup/soup.h")]
+       public static bool check_version (uint major, uint minor, uint micro);
+       [CCode (cheader_filename = "libsoup/soup.h")]
+       [Version (replacement = "Cookie.parse")]
+       public static Soup.Cookie? cookie_parse (string header, GLib.Uri? origin);
+       [CCode (cheader_filename = "libsoup/soup.h")]
+       public static GLib.SList<Soup.Cookie> cookies_from_request (Soup.Message msg);
+       [CCode (cheader_filename = "libsoup/soup.h")]
+       public static GLib.SList<Soup.Cookie> cookies_from_response (Soup.Message msg);
+       [CCode (cheader_filename = "libsoup/soup.h")]
+       public static string cookies_to_cookie_header (GLib.SList<Soup.Cookie> cookies);
+       [CCode (cheader_filename = "libsoup/soup.h")]
+       public static void cookies_to_request (GLib.SList<Soup.Cookie> cookies, Soup.Message msg);
+       [CCode (cheader_filename = "libsoup/soup.h")]
+       public static void cookies_to_response (GLib.SList<Soup.Cookie> cookies, Soup.Message msg);
+       [CCode (cheader_filename = "libsoup/soup.h")]
+       public static GLib.DateTime? date_time_new_from_http_string (string date_string);
+       [CCode (cheader_filename = "libsoup/soup.h")]
+       public static string date_time_to_string (GLib.DateTime date, Soup.DateFormat format);
+       [CCode (cheader_filename = "libsoup/soup.h")]
+       public static uint get_major_version ();
+       [CCode (cheader_filename = "libsoup/soup.h")]
+       public static uint get_micro_version ();
+       [CCode (cheader_filename = "libsoup/soup.h")]
+       public static uint get_minor_version ();
+       [CCode (cheader_filename = "libsoup/soup.h")]
+       public static bool header_contains (string header, string token);
+       [CCode (cheader_filename = "libsoup/soup.h")]
+       public static void header_free_param_list (GLib.HashTable<string,string> param_list);
+       [CCode (cheader_filename = "libsoup/soup.h")]
+       public static void header_g_string_append_param (GLib.StringBuilder string, string name, string 
value);
+       [CCode (cheader_filename = "libsoup/soup.h")]
+       public static void header_g_string_append_param_quoted (GLib.StringBuilder string, string name, 
string value);
+       [CCode (cheader_filename = "libsoup/soup.h")]
+       public static GLib.SList<string> header_parse_list (string header);
+       [CCode (cheader_filename = "libsoup/soup.h")]
+       public static GLib.HashTable<string,string> header_parse_param_list (string header);
+       [CCode (cheader_filename = "libsoup/soup.h")]
+       public static GLib.HashTable<string,string>? header_parse_param_list_strict (string header);
+       [CCode (cheader_filename = "libsoup/soup.h")]
+       public static GLib.SList<string> header_parse_quality_list (string header, out GLib.SList<string> 
unacceptable);
+       [CCode (cheader_filename = "libsoup/soup.h")]
+       public static GLib.HashTable<string,string> header_parse_semi_param_list (string header);
+       [CCode (cheader_filename = "libsoup/soup.h")]
+       public static GLib.HashTable<string,string>? header_parse_semi_param_list_strict (string header);
+       [CCode (cheader_filename = "libsoup/soup.h")]
+       public static bool headers_parse (string str, int len, Soup.MessageHeaders dest);
+       [CCode (cheader_filename = "libsoup/soup.h")]
+       public static uint headers_parse_request (string str, int len, Soup.MessageHeaders req_headers, out 
string req_method, out string req_path, out Soup.HTTPVersion ver);
+       [CCode (cheader_filename = "libsoup/soup.h")]
+       public static bool headers_parse_response (string str, int len, Soup.MessageHeaders headers, out 
Soup.HTTPVersion ver, out uint status_code, out string reason_phrase);
+       [CCode (cheader_filename = "libsoup/soup.h")]
+       public static bool headers_parse_status_line (string status_line, out Soup.HTTPVersion ver, out uint 
status_code, out string reason_phrase);
+       [CCode (cheader_filename = "libsoup/soup.h")]
+       [Version (replacement = "MessageHeadersIter.init")]
+       public static void message_headers_iter_init (out Soup.MessageHeadersIter iter, Soup.MessageHeaders 
hdrs);
+       [CCode (cheader_filename = "libsoup/soup.h")]
+       [Version (replacement = "SessionError.quark")]
+       public static GLib.Quark session_error_quark ();
+       [CCode (cheader_filename = "libsoup/soup.h")]
+       [Version (replacement = "Status.get_phrase")]
+       public static unowned string status_get_phrase (uint status_code);
+       [CCode (cheader_filename = "libsoup/soup.h")]
+       public static bool tld_domain_is_public_suffix (string domain);
+       [CCode (cheader_filename = "libsoup/soup.h")]
+       [Version (replacement = "TLDError.quark")]
+       public static GLib.Quark tld_error_quark ();
+       [CCode (cheader_filename = "libsoup/soup.h")]
+       public static unowned string tld_get_base_domain (string hostname) throws GLib.Error;
+       [CCode (cheader_filename = "libsoup/soup.h")]
+       public static GLib.Bytes uri_decode_data_uri (string uri, out string? content_type);
+       [CCode (cheader_filename = "libsoup/soup.h")]
+       public static bool uri_equal (GLib.Uri uri1, GLib.Uri uri2);
+       [CCode (cheader_filename = "libsoup/soup.h")]
+       public static void websocket_client_prepare_handshake (Soup.Message msg, string? origin, [CCode 
(array_length = false, array_null_terminated = true)] string[]? protocols, GLib.GenericArray<GLib.TypeClass>? 
supported_extensions);
+       [CCode (cheader_filename = "libsoup/soup.h")]
+       public static bool websocket_client_verify_handshake (Soup.Message msg, 
GLib.GenericArray<GLib.TypeClass>? supported_extensions, out GLib.List<Soup.WebsocketExtension> 
accepted_extensions) throws GLib.Error;
+       [CCode (cheader_filename = "libsoup/soup.h")]
+       [Version (replacement = "WebsocketError.quark")]
+       public static GLib.Quark websocket_error_quark ();
+       [CCode (cheader_filename = "libsoup/soup.h")]
+       public static bool websocket_server_check_handshake (Soup.ServerMessage msg, string? origin, [CCode 
(array_length = false, array_null_terminated = true)] string[]? protocols, GLib.GenericArray<GLib.TypeClass>? 
supported_extensions) throws GLib.Error;
+       [CCode (cheader_filename = "libsoup/soup.h")]
+       public static bool websocket_server_process_handshake (Soup.ServerMessage msg, string? 
expected_origin, [CCode (array_length = false, array_null_terminated = true)] string[]? protocols, 
GLib.GenericArray<GLib.TypeClass>? supported_extensions, out GLib.List<Soup.WebsocketExtension> 
accepted_extensions);
+}
diff --git a/vapi/metadata/Soup-3.0-custom.vala b/vapi/metadata/Soup-3.0-custom.vala
new file mode 100644
index 000000000..d739fed0d
--- /dev/null
+++ b/vapi/metadata/Soup-3.0-custom.vala
@@ -0,0 +1,2 @@
+namespace Soup {
+}
diff --git a/vapi/metadata/Soup-3.0.metadata b/vapi/metadata/Soup-3.0.metadata
new file mode 100644
index 000000000..66d7b3ffd
--- /dev/null
+++ b/vapi/metadata/Soup-3.0.metadata
@@ -0,0 +1,29 @@
+// Behave like Soup.Form is a class with methods
+form_* parent="Soup.Form" name="form_(.+)"
+form_* skip=false
+form_encode_datalist.form_data_set type_arguments="string"
+
+// Enum prefix differs from type name
+HTTPVersion.http_* name="http_(.+)"
+
+// Conflicts with signal method
+AuthDomain.accepts#method name="accepts_authorization"
+
+Message
+    // Vala can use these C style methods
+    .add_header_handler skip=false
+    .add_header_handler.callback closure=-1
+    .add_status_code_handler skip=false
+    .add_status_code_handler.callback closure=-1
+
+// Constructor overrides
+Server.new skip=false
+Session.new_with_options skip=false
+AuthDomainBasic.new skip=false
+AuthDomainDigest.new skip=false
+// Factory method
+Auth.new symbol_type="function"
+
+
+// Simplify memory management
+MessageBody.append deprecated_since="2.32" replacement="MessageBody.append_take"


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]