Various Rust wrappers for GNOME calendar libraries
0
fork

Configure Feed

Select the types of activity you want to include in your feed.

FFI interface for libsoup 3.0 working

+22356
+13
Cargo.lock
··· 347 347 checksum = "67b1b7a3b5fe4f1376887184045fcf45c69e92af734b7aaddc05fb777b6fbd03" 348 348 349 349 [[package]] 350 + name = "soup-sys" 351 + version = "0.0.1" 352 + dependencies = [ 353 + "gio-sys", 354 + "glib-sys", 355 + "gobject-sys", 356 + "libc", 357 + "shell-words", 358 + "system-deps", 359 + "tempfile", 360 + ] 361 + 362 + [[package]] 350 363 name = "syn" 351 364 version = "2.0.114" 352 365 source = "registry+https://github.com/rust-lang/crates.io-index"
+4
Cargo.toml
··· 3 3 members = [ 4 4 "ical-glib", 5 5 "ical-glib/sys", 6 + "soup/sys", 6 7 ] 7 8 8 9 [workspace.package] 9 10 version = "0.1.0" 10 11 repository = "https://tangled.org/juanlu.space/cal-libs-rs" 11 12 edition = "2024" 13 + 14 + [workspace.dependencies] 15 + soup-sys = { path = "soup/sys" }
+7
soup/Cargo.toml
··· 1 + [package] 2 + name = "soup" 3 + version.workspace = true 4 + repository.workspace = true 5 + edition.workspace = true 6 + 7 + [dependencies]
soup/Gir.toml

This is a binary file and will not be displayed.

+47
soup/gir-files/0001_fix-types.patch
··· 1 + --- Soup-3.0.gir.orig 2026-01-14 10:18:56.731715169 +0100 2 + +++ Soup-3.0.gir 2026-01-14 10:16:45.761868599 +0100 3 + @@ -2307,7 +2307,7 @@ 4 + </parameters> 5 + </function-macro> 6 + <constant name="COOKIE_MAX_AGE_ONE_DAY" 7 + - value="0" 8 + + value="86400" 9 + c:type="SOUP_COOKIE_MAX_AGE_ONE_DAY"> 10 + <doc xml:space="preserve" 11 + filename="libsoup/cookies/soup-cookie.c" 12 + @@ -2329,7 +2329,7 @@ 13 + <type name="gint" c:type="gint"/> 14 + </constant> 15 + <constant name="COOKIE_MAX_AGE_ONE_WEEK" 16 + - value="0" 17 + + value="604800" 18 + c:type="SOUP_COOKIE_MAX_AGE_ONE_WEEK"> 19 + <doc xml:space="preserve" 20 + filename="libsoup/cookies/soup-cookie.c" 21 + @@ -2340,7 +2340,7 @@ 22 + <type name="gint" c:type="gint"/> 23 + </constant> 24 + <constant name="COOKIE_MAX_AGE_ONE_YEAR" 25 + - value="0" 26 + + value="31556926.080000" 27 + c:type="SOUP_COOKIE_MAX_AGE_ONE_YEAR"> 28 + <doc xml:space="preserve" 29 + filename="libsoup/cookies/soup-cookie.c" 30 + @@ -2348,7 +2348,7 @@ 31 + 32 + For use with [ctor@Cookie.new] and [method@Cookie.set_max_age].</doc> 33 + <source-position filename="libsoup/cookies/soup-cookie.h" line="35"/> 34 + - <type name="gint" c:type="gint"/> 35 + + <type name="gdouble" c:type="gdouble"/> 36 + </constant> 37 + <class name="Cache" 38 + c:symbol-prefix="cache" 39 + @@ -16120,7 +16120,7 @@ 40 + </member> 41 + </enumeration> 42 + <constant name="VERSION_MIN_REQUIRED" 43 + - value="2" 44 + + value="197632" 45 + c:type="SOUP_VERSION_MIN_REQUIRED"> 46 + <doc xml:space="preserve" 47 + filename="libsoup/soup-version.c"
+19617
soup/gir-files/Soup-3.0.gir
··· 1 + <?xml version="1.0"?> 2 + <!-- This file was automatically generated from C sources - DO NOT EDIT! 3 + To affect the contents of this file, edit the original C definitions, 4 + and/or use gtk-doc annotations. --> 5 + <repository version="1.2" 6 + xmlns="http://www.gtk.org/introspection/core/1.0" 7 + xmlns:c="http://www.gtk.org/introspection/c/1.0" 8 + xmlns:glib="http://www.gtk.org/introspection/glib/1.0"> 9 + <include name="Gio" version="2.0"/> 10 + <package name="libsoup-3.0"/> 11 + <c:include name="libsoup/soup.h"/> 12 + <namespace name="Soup" 13 + version="3.0" 14 + shared-library="libsoup-3.0.so.0" 15 + c:identifier-prefixes="Soup" 16 + c:symbol-prefixes="soup"> 17 + <class name="Auth" 18 + c:symbol-prefix="auth" 19 + c:type="SoupAuth" 20 + parent="GObject.Object" 21 + abstract="1" 22 + glib:type-name="SoupAuth" 23 + glib:get-type="soup_auth_get_type" 24 + glib:type-struct="AuthClass"> 25 + <doc xml:space="preserve" 26 + filename="libsoup/auth/soup-auth.c" 27 + line="20">The abstract base class for handling authentication. 28 + 29 + Specific HTTP Authentication mechanisms are implemented by its subclasses, 30 + but applications never need to be aware of the specific subclasses being 31 + used. 32 + 33 + #SoupAuth objects store the authentication data associated with a given bit 34 + of web space. They are created automatically by [class@Session].</doc> 35 + <source-position filename="libsoup/auth/soup-auth.h" line="44"/> 36 + <constructor name="new" c:identifier="soup_auth_new"> 37 + <doc xml:space="preserve" 38 + filename="libsoup/auth/soup-auth.c" 39 + line="238">Creates a new #SoupAuth of type @type with the information from 40 + @msg and @auth_header. 41 + 42 + This is called by [class@Session]; you will normally not create auths 43 + yourself.</doc> 44 + <source-position filename="libsoup/auth/soup-auth.h" line="47"/> 45 + <return-value transfer-ownership="full" nullable="1"> 46 + <doc xml:space="preserve" 47 + filename="libsoup/auth/soup-auth.c" 48 + line="250">the new #SoupAuth, or %NULL if it could 49 + not be created</doc> 50 + <type name="Auth" c:type="SoupAuth*"/> 51 + </return-value> 52 + <parameters> 53 + <parameter name="type" transfer-ownership="none"> 54 + <doc xml:space="preserve" 55 + filename="libsoup/auth/soup-auth.c" 56 + line="240">the type of auth to create (a subtype of #SoupAuth)</doc> 57 + <type name="GType" c:type="GType"/> 58 + </parameter> 59 + <parameter name="msg" transfer-ownership="none"> 60 + <doc xml:space="preserve" 61 + filename="libsoup/auth/soup-auth.c" 62 + line="241">the #SoupMessage the auth is being created for</doc> 63 + <type name="Message" c:type="SoupMessage*"/> 64 + </parameter> 65 + <parameter name="auth_header" transfer-ownership="none"> 66 + <doc xml:space="preserve" 67 + filename="libsoup/auth/soup-auth.c" 68 + line="242">the WWW-Authenticate/Proxy-Authenticate header</doc> 69 + <type name="utf8" c:type="const char*"/> 70 + </parameter> 71 + </parameters> 72 + </constructor> 73 + <virtual-method name="authenticate" invoker="authenticate"> 74 + <doc xml:space="preserve" 75 + filename="libsoup/auth/soup-auth.c" 76 + line="351">Call this on an auth to authenticate it. 77 + 78 + Normally this will cause the auth's message to be requeued with the new 79 + authentication info.</doc> 80 + <source-position filename="libsoup/auth/soup-auth.h" line="30"/> 81 + <return-value transfer-ownership="none"> 82 + <type name="none" c:type="void"/> 83 + </return-value> 84 + <parameters> 85 + <instance-parameter name="auth" transfer-ownership="none"> 86 + <doc xml:space="preserve" 87 + filename="libsoup/auth/soup-auth.c" 88 + line="353">a #SoupAuth</doc> 89 + <type name="Auth" c:type="SoupAuth*"/> 90 + </instance-parameter> 91 + <parameter name="username" transfer-ownership="none"> 92 + <doc xml:space="preserve" 93 + filename="libsoup/auth/soup-auth.c" 94 + line="354">the username provided by the user or client</doc> 95 + <type name="utf8" c:type="const char*"/> 96 + </parameter> 97 + <parameter name="password" transfer-ownership="none"> 98 + <doc xml:space="preserve" 99 + filename="libsoup/auth/soup-auth.c" 100 + line="355">the password provided by the user or client</doc> 101 + <type name="utf8" c:type="const char*"/> 102 + </parameter> 103 + </parameters> 104 + </virtual-method> 105 + <virtual-method name="can_authenticate" invoker="can_authenticate"> 106 + <doc xml:space="preserve" 107 + filename="libsoup/auth/soup-auth.c" 108 + line="607">Tests if @auth is able to authenticate by providing credentials to the 109 + [method@Auth.authenticate].</doc> 110 + <source-position filename="libsoup/auth/soup-auth.h" line="41"/> 111 + <return-value transfer-ownership="none"> 112 + <doc xml:space="preserve" 113 + filename="libsoup/auth/soup-auth.c" 114 + line="614">%TRUE if @auth is able to accept credentials.</doc> 115 + <type name="gboolean" c:type="gboolean"/> 116 + </return-value> 117 + <parameters> 118 + <instance-parameter name="auth" transfer-ownership="none"> 119 + <doc xml:space="preserve" 120 + filename="libsoup/auth/soup-auth.c" 121 + line="609">a #SoupAuth</doc> 122 + <type name="Auth" c:type="SoupAuth*"/> 123 + </instance-parameter> 124 + </parameters> 125 + </virtual-method> 126 + <virtual-method name="get_authorization" invoker="get_authorization"> 127 + <doc xml:space="preserve" 128 + filename="libsoup/auth/soup-auth.c" 129 + line="553">Generates an appropriate "Authorization" header for @msg. 130 + 131 + (The session will only call this if [method@Auth.is_authenticated] returned 132 + %TRUE.)</doc> 133 + <source-position filename="libsoup/auth/soup-auth.h" line="35"/> 134 + <return-value transfer-ownership="full"> 135 + <doc xml:space="preserve" 136 + filename="libsoup/auth/soup-auth.c" 137 + line="563">the "Authorization" header, which must be freed.</doc> 138 + <type name="utf8" c:type="char*"/> 139 + </return-value> 140 + <parameters> 141 + <instance-parameter name="auth" transfer-ownership="none"> 142 + <doc xml:space="preserve" 143 + filename="libsoup/auth/soup-auth.c" 144 + line="555">a #SoupAuth</doc> 145 + <type name="Auth" c:type="SoupAuth*"/> 146 + </instance-parameter> 147 + <parameter name="msg" transfer-ownership="none"> 148 + <doc xml:space="preserve" 149 + filename="libsoup/auth/soup-auth.c" 150 + line="556">the #SoupMessage to be authorized</doc> 151 + <type name="Message" c:type="SoupMessage*"/> 152 + </parameter> 153 + </parameters> 154 + </virtual-method> 155 + <virtual-method name="get_protection_space" 156 + invoker="get_protection_space"> 157 + <doc xml:space="preserve" 158 + filename="libsoup/auth/soup-auth.c" 159 + line="631">Returns a list of paths on the server which @auth extends over. 160 + 161 + (All subdirectories of these paths are also assumed to be part 162 + of @auth's protection space, unless otherwise discovered not to 163 + be.)</doc> 164 + <source-position filename="libsoup/auth/soup-auth.h" line="27"/> 165 + <return-value transfer-ownership="full"> 166 + <doc xml:space="preserve" 167 + filename="libsoup/auth/soup-auth.c" 168 + line="643">the list of 169 + paths, which can be freed with [method@Auth.free_protection_space].</doc> 170 + <type name="GLib.SList" c:type="GSList*"> 171 + <type name="utf8"/> 172 + </type> 173 + </return-value> 174 + <parameters> 175 + <instance-parameter name="auth" transfer-ownership="none"> 176 + <doc xml:space="preserve" 177 + filename="libsoup/auth/soup-auth.c" 178 + line="633">a #SoupAuth</doc> 179 + <type name="Auth" c:type="SoupAuth*"/> 180 + </instance-parameter> 181 + <parameter name="source_uri" transfer-ownership="none"> 182 + <doc xml:space="preserve" 183 + filename="libsoup/auth/soup-auth.c" 184 + line="634">the URI of the request that @auth was generated in 185 + response to.</doc> 186 + <type name="GLib.Uri" c:type="GUri*"/> 187 + </parameter> 188 + </parameters> 189 + </virtual-method> 190 + <virtual-method name="is_authenticated" invoker="is_authenticated"> 191 + <attribute name="org.gtk.Method.get_property" 192 + value="is-authenticated"/> 193 + <doc xml:space="preserve" 194 + filename="libsoup/auth/soup-auth.c" 195 + line="512">Tests if @auth has been given a username and password.</doc> 196 + <source-position filename="libsoup/auth/soup-auth.h" line="33"/> 197 + <return-value transfer-ownership="none"> 198 + <doc xml:space="preserve" 199 + filename="libsoup/auth/soup-auth.c" 200 + line="518">%TRUE if @auth has been given a username and password</doc> 201 + <type name="gboolean" c:type="gboolean"/> 202 + </return-value> 203 + <parameters> 204 + <instance-parameter name="auth" transfer-ownership="none"> 205 + <doc xml:space="preserve" 206 + filename="libsoup/auth/soup-auth.c" 207 + line="514">a #SoupAuth</doc> 208 + <type name="Auth" c:type="SoupAuth*"/> 209 + </instance-parameter> 210 + </parameters> 211 + </virtual-method> 212 + <virtual-method name="is_ready" invoker="is_ready"> 213 + <doc xml:space="preserve" 214 + filename="libsoup/auth/soup-auth.c" 215 + line="574">Tests if @auth is ready to make a request for @msg with. 216 + 217 + For most auths, this is equivalent to [method@Auth.is_authenticated], but for 218 + some auth types (eg, NTLM), the auth may be sendable (eg, as an 219 + authentication request) even before it is authenticated.</doc> 220 + <source-position filename="libsoup/auth/soup-auth.h" line="38"/> 221 + <return-value transfer-ownership="none"> 222 + <doc xml:space="preserve" 223 + filename="libsoup/auth/soup-auth.c" 224 + line="585">%TRUE if @auth is ready to make a request with.</doc> 225 + <type name="gboolean" c:type="gboolean"/> 226 + </return-value> 227 + <parameters> 228 + <instance-parameter name="auth" transfer-ownership="none"> 229 + <doc xml:space="preserve" 230 + filename="libsoup/auth/soup-auth.c" 231 + line="576">a #SoupAuth</doc> 232 + <type name="Auth" c:type="SoupAuth*"/> 233 + </instance-parameter> 234 + <parameter name="msg" transfer-ownership="none"> 235 + <doc xml:space="preserve" 236 + filename="libsoup/auth/soup-auth.c" 237 + line="577">a #SoupMessage</doc> 238 + <type name="Message" c:type="SoupMessage*"/> 239 + </parameter> 240 + </parameters> 241 + </virtual-method> 242 + <virtual-method name="update" invoker="update"> 243 + <doc xml:space="preserve" 244 + filename="libsoup/auth/soup-auth.c" 245 + line="299">Updates @auth with the information from @msg and @auth_header, 246 + possibly un-authenticating it. 247 + 248 + As with [ctor@Auth.new], this is normally only used by [class@Session].</doc> 249 + <source-position filename="libsoup/auth/soup-auth.h" line="23"/> 250 + <return-value transfer-ownership="none"> 251 + <doc xml:space="preserve" 252 + filename="libsoup/auth/soup-auth.c" 253 + line="310">%TRUE if @auth is still a valid (but potentially 254 + unauthenticated) #SoupAuth. %FALSE if something about @auth_params 255 + could not be parsed or incorporated into @auth at all.</doc> 256 + <type name="gboolean" c:type="gboolean"/> 257 + </return-value> 258 + <parameters> 259 + <instance-parameter name="auth" transfer-ownership="none"> 260 + <doc xml:space="preserve" 261 + filename="libsoup/auth/soup-auth.c" 262 + line="301">a #SoupAuth</doc> 263 + <type name="Auth" c:type="SoupAuth*"/> 264 + </instance-parameter> 265 + <parameter name="msg" transfer-ownership="none"> 266 + <doc xml:space="preserve" 267 + filename="libsoup/auth/soup-auth.c" 268 + line="302">the #SoupMessage @auth is being updated for</doc> 269 + <type name="Message" c:type="SoupMessage*"/> 270 + </parameter> 271 + <parameter name="auth_header" transfer-ownership="none"> 272 + <doc xml:space="preserve" 273 + filename="libsoup/auth/soup-auth.c" 274 + line="303">the WWW-Authenticate/Proxy-Authenticate header</doc> 275 + <type name="GLib.HashTable" c:type="GHashTable*"> 276 + <type name="gpointer" c:type="gpointer"/> 277 + <type name="gpointer" c:type="gpointer"/> 278 + </type> 279 + </parameter> 280 + </parameters> 281 + </virtual-method> 282 + <method name="authenticate" c:identifier="soup_auth_authenticate"> 283 + <doc xml:space="preserve" 284 + filename="libsoup/auth/soup-auth.c" 285 + line="351">Call this on an auth to authenticate it. 286 + 287 + Normally this will cause the auth's message to be requeued with the new 288 + authentication info.</doc> 289 + <source-position filename="libsoup/auth/soup-auth.h" line="67"/> 290 + <return-value transfer-ownership="none"> 291 + <type name="none" c:type="void"/> 292 + </return-value> 293 + <parameters> 294 + <instance-parameter name="auth" transfer-ownership="none"> 295 + <doc xml:space="preserve" 296 + filename="libsoup/auth/soup-auth.c" 297 + line="353">a #SoupAuth</doc> 298 + <type name="Auth" c:type="SoupAuth*"/> 299 + </instance-parameter> 300 + <parameter name="username" transfer-ownership="none"> 301 + <doc xml:space="preserve" 302 + filename="libsoup/auth/soup-auth.c" 303 + line="354">the username provided by the user or client</doc> 304 + <type name="utf8" c:type="const char*"/> 305 + </parameter> 306 + <parameter name="password" transfer-ownership="none"> 307 + <doc xml:space="preserve" 308 + filename="libsoup/auth/soup-auth.c" 309 + line="355">the password provided by the user or client</doc> 310 + <type name="utf8" c:type="const char*"/> 311 + </parameter> 312 + </parameters> 313 + </method> 314 + <method name="can_authenticate" 315 + c:identifier="soup_auth_can_authenticate"> 316 + <doc xml:space="preserve" 317 + filename="libsoup/auth/soup-auth.c" 318 + line="607">Tests if @auth is able to authenticate by providing credentials to the 319 + [method@Auth.authenticate].</doc> 320 + <source-position filename="libsoup/auth/soup-auth.h" line="84"/> 321 + <return-value transfer-ownership="none"> 322 + <doc xml:space="preserve" 323 + filename="libsoup/auth/soup-auth.c" 324 + line="614">%TRUE if @auth is able to accept credentials.</doc> 325 + <type name="gboolean" c:type="gboolean"/> 326 + </return-value> 327 + <parameters> 328 + <instance-parameter name="auth" transfer-ownership="none"> 329 + <doc xml:space="preserve" 330 + filename="libsoup/auth/soup-auth.c" 331 + line="609">a #SoupAuth</doc> 332 + <type name="Auth" c:type="SoupAuth*"/> 333 + </instance-parameter> 334 + </parameters> 335 + </method> 336 + <method name="cancel" c:identifier="soup_auth_cancel"> 337 + <doc xml:space="preserve" 338 + filename="libsoup/auth/soup-auth.c" 339 + line="382">Call this on an auth to cancel it. 340 + 341 + You need to cancel an auth to complete an asynchronous authenticate operation 342 + when no credentials are provided ([method@Auth.authenticate] is not called). 343 + The #SoupAuth will be cancelled on dispose if it hans't been authenticated.</doc> 344 + <source-position filename="libsoup/auth/soup-auth.h" line="72"/> 345 + <return-value transfer-ownership="none"> 346 + <type name="none" c:type="void"/> 347 + </return-value> 348 + <parameters> 349 + <instance-parameter name="auth" transfer-ownership="none"> 350 + <doc xml:space="preserve" 351 + filename="libsoup/auth/soup-auth.c" 352 + line="384">a #SoupAuth</doc> 353 + <type name="Auth" c:type="SoupAuth*"/> 354 + </instance-parameter> 355 + </parameters> 356 + </method> 357 + <method name="free_protection_space" 358 + c:identifier="soup_auth_free_protection_space" 359 + introspectable="0"> 360 + <doc xml:space="preserve" 361 + filename="libsoup/auth/soup-auth.c" 362 + line="658">Frees @space.</doc> 363 + <source-position filename="libsoup/auth/soup-auth.h" line="94"/> 364 + <return-value transfer-ownership="none"> 365 + <type name="none" c:type="void"/> 366 + </return-value> 367 + <parameters> 368 + <instance-parameter name="auth" transfer-ownership="none"> 369 + <doc xml:space="preserve" 370 + filename="libsoup/auth/soup-auth.c" 371 + line="660">a #SoupAuth</doc> 372 + <type name="Auth" c:type="SoupAuth*"/> 373 + </instance-parameter> 374 + <parameter name="space" transfer-ownership="none"> 375 + <doc xml:space="preserve" 376 + filename="libsoup/auth/soup-auth.c" 377 + line="661">the return value from [method@Auth.get_protection_space]</doc> 378 + <type name="GLib.SList" c:type="GSList*"> 379 + <type name="gpointer" c:type="gpointer"/> 380 + </type> 381 + </parameter> 382 + </parameters> 383 + </method> 384 + <method name="get_authority" 385 + c:identifier="soup_auth_get_authority" 386 + glib:get-property="authority"> 387 + <attribute name="org.gtk.Method.get_property" value="authority"/> 388 + <doc xml:space="preserve" 389 + filename="libsoup/auth/soup-auth.c" 390 + line="443">Returns the authority (host:port) that @auth is associated with.</doc> 391 + <source-position filename="libsoup/auth/soup-auth.h" line="60"/> 392 + <return-value transfer-ownership="none"> 393 + <doc xml:space="preserve" 394 + filename="libsoup/auth/soup-auth.c" 395 + line="449">the authority</doc> 396 + <type name="utf8" c:type="const char*"/> 397 + </return-value> 398 + <parameters> 399 + <instance-parameter name="auth" transfer-ownership="none"> 400 + <doc xml:space="preserve" 401 + filename="libsoup/auth/soup-auth.c" 402 + line="445">a #SoupAuth</doc> 403 + <type name="Auth" c:type="SoupAuth*"/> 404 + </instance-parameter> 405 + </parameters> 406 + </method> 407 + <method name="get_authorization" 408 + c:identifier="soup_auth_get_authorization"> 409 + <doc xml:space="preserve" 410 + filename="libsoup/auth/soup-auth.c" 411 + line="553">Generates an appropriate "Authorization" header for @msg. 412 + 413 + (The session will only call this if [method@Auth.is_authenticated] returned 414 + %TRUE.)</doc> 415 + <source-position filename="libsoup/auth/soup-auth.h" line="87"/> 416 + <return-value transfer-ownership="full"> 417 + <doc xml:space="preserve" 418 + filename="libsoup/auth/soup-auth.c" 419 + line="563">the "Authorization" header, which must be freed.</doc> 420 + <type name="utf8" c:type="char*"/> 421 + </return-value> 422 + <parameters> 423 + <instance-parameter name="auth" transfer-ownership="none"> 424 + <doc xml:space="preserve" 425 + filename="libsoup/auth/soup-auth.c" 426 + line="555">a #SoupAuth</doc> 427 + <type name="Auth" c:type="SoupAuth*"/> 428 + </instance-parameter> 429 + <parameter name="msg" transfer-ownership="none"> 430 + <doc xml:space="preserve" 431 + filename="libsoup/auth/soup-auth.c" 432 + line="556">the #SoupMessage to be authorized</doc> 433 + <type name="Message" c:type="SoupMessage*"/> 434 + </parameter> 435 + </parameters> 436 + </method> 437 + <method name="get_info" c:identifier="soup_auth_get_info"> 438 + <doc xml:space="preserve" 439 + filename="libsoup/auth/soup-auth.c" 440 + line="483">Gets an opaque identifier for @auth. 441 + 442 + The identifier can be used as a hash key or the like. #SoupAuth objects from 443 + the same server with the same identifier refer to the same authentication 444 + domain (eg, the URLs associated with them take the same usernames and 445 + passwords).</doc> 446 + <source-position filename="libsoup/auth/soup-auth.h" line="64"/> 447 + <return-value transfer-ownership="full"> 448 + <doc xml:space="preserve" 449 + filename="libsoup/auth/soup-auth.c" 450 + line="494">the identifier</doc> 451 + <type name="utf8" c:type="char*"/> 452 + </return-value> 453 + <parameters> 454 + <instance-parameter name="auth" transfer-ownership="none"> 455 + <doc xml:space="preserve" 456 + filename="libsoup/auth/soup-auth.c" 457 + line="485">a #SoupAuth</doc> 458 + <type name="Auth" c:type="SoupAuth*"/> 459 + </instance-parameter> 460 + </parameters> 461 + </method> 462 + <method name="get_protection_space" 463 + c:identifier="soup_auth_get_protection_space"> 464 + <doc xml:space="preserve" 465 + filename="libsoup/auth/soup-auth.c" 466 + line="631">Returns a list of paths on the server which @auth extends over. 467 + 468 + (All subdirectories of these paths are also assumed to be part 469 + of @auth's protection space, unless otherwise discovered not to 470 + be.)</doc> 471 + <source-position filename="libsoup/auth/soup-auth.h" line="91"/> 472 + <return-value transfer-ownership="full"> 473 + <doc xml:space="preserve" 474 + filename="libsoup/auth/soup-auth.c" 475 + line="643">the list of 476 + paths, which can be freed with [method@Auth.free_protection_space].</doc> 477 + <type name="GLib.SList" c:type="GSList*"> 478 + <type name="utf8"/> 479 + </type> 480 + </return-value> 481 + <parameters> 482 + <instance-parameter name="auth" transfer-ownership="none"> 483 + <doc xml:space="preserve" 484 + filename="libsoup/auth/soup-auth.c" 485 + line="633">a #SoupAuth</doc> 486 + <type name="Auth" c:type="SoupAuth*"/> 487 + </instance-parameter> 488 + <parameter name="source_uri" transfer-ownership="none"> 489 + <doc xml:space="preserve" 490 + filename="libsoup/auth/soup-auth.c" 491 + line="634">the URI of the request that @auth was generated in 492 + response to.</doc> 493 + <type name="GLib.Uri" c:type="GUri*"/> 494 + </parameter> 495 + </parameters> 496 + </method> 497 + <method name="get_realm" 498 + c:identifier="soup_auth_get_realm" 499 + glib:get-property="realm"> 500 + <attribute name="org.gtk.Method.get_property" value="realm"/> 501 + <doc xml:space="preserve" 502 + filename="libsoup/auth/soup-auth.c" 503 + line="461">Returns @auth's realm. 504 + 505 + This is an identifier that distinguishes separate authentication spaces on a 506 + given server, and may be some string that is meaningful to the user. 507 + (Although it is probably not localized.)</doc> 508 + <source-position filename="libsoup/auth/soup-auth.h" line="62"/> 509 + <return-value transfer-ownership="none"> 510 + <doc xml:space="preserve" 511 + filename="libsoup/auth/soup-auth.c" 512 + line="471">the realm name</doc> 513 + <type name="utf8" c:type="const char*"/> 514 + </return-value> 515 + <parameters> 516 + <instance-parameter name="auth" transfer-ownership="none"> 517 + <doc xml:space="preserve" 518 + filename="libsoup/auth/soup-auth.c" 519 + line="463">a #SoupAuth</doc> 520 + <type name="Auth" c:type="SoupAuth*"/> 521 + </instance-parameter> 522 + </parameters> 523 + </method> 524 + <method name="get_scheme_name" 525 + c:identifier="soup_auth_get_scheme_name" 526 + glib:get-property="scheme-name"> 527 + <doc xml:space="preserve" 528 + filename="libsoup/auth/soup-auth.c" 529 + line="426">soup_auth_get_scheme_name: (attributes org.gtk.Method.get_property=scheme-name) 530 + Returns @auth's scheme name. (Eg, "Basic", "Digest", or "NTLM")</doc> 531 + <source-position filename="libsoup/auth/soup-auth.h" line="58"/> 532 + <return-value transfer-ownership="none"> 533 + <doc xml:space="preserve" 534 + filename="libsoup/auth/soup-auth.c" 535 + line="433">the scheme name</doc> 536 + <type name="utf8" c:type="const char*"/> 537 + </return-value> 538 + <parameters> 539 + <instance-parameter name="auth" transfer-ownership="none"> 540 + <doc xml:space="preserve" 541 + filename="libsoup/auth/soup-auth.c" 542 + line="429">a #SoupAuth</doc> 543 + <type name="Auth" c:type="SoupAuth*"/> 544 + </instance-parameter> 545 + </parameters> 546 + </method> 547 + <method name="is_authenticated" 548 + c:identifier="soup_auth_is_authenticated" 549 + glib:get-property="is-authenticated"> 550 + <attribute name="org.gtk.Method.get_property" 551 + value="is-authenticated"/> 552 + <doc xml:space="preserve" 553 + filename="libsoup/auth/soup-auth.c" 554 + line="512">Tests if @auth has been given a username and password.</doc> 555 + <source-position filename="libsoup/auth/soup-auth.h" line="75"/> 556 + <return-value transfer-ownership="none"> 557 + <doc xml:space="preserve" 558 + filename="libsoup/auth/soup-auth.c" 559 + line="518">%TRUE if @auth has been given a username and password</doc> 560 + <type name="gboolean" c:type="gboolean"/> 561 + </return-value> 562 + <parameters> 563 + <instance-parameter name="auth" transfer-ownership="none"> 564 + <doc xml:space="preserve" 565 + filename="libsoup/auth/soup-auth.c" 566 + line="514">a #SoupAuth</doc> 567 + <type name="Auth" c:type="SoupAuth*"/> 568 + </instance-parameter> 569 + </parameters> 570 + </method> 571 + <method name="is_cancelled" 572 + c:identifier="soup_auth_is_cancelled" 573 + glib:get-property="is-cancelled"> 574 + <attribute name="org.gtk.Method.get_property" value="is-cancelled"/> 575 + <doc xml:space="preserve" 576 + filename="libsoup/auth/soup-auth.c" 577 + line="534">Tests if @auth has been cancelled</doc> 578 + <source-position filename="libsoup/auth/soup-auth.h" line="78"/> 579 + <return-value transfer-ownership="none"> 580 + <doc xml:space="preserve" 581 + filename="libsoup/auth/soup-auth.c" 582 + line="540">%TRUE if @auth has been cancelled</doc> 583 + <type name="gboolean" c:type="gboolean"/> 584 + </return-value> 585 + <parameters> 586 + <instance-parameter name="auth" transfer-ownership="none"> 587 + <doc xml:space="preserve" 588 + filename="libsoup/auth/soup-auth.c" 589 + line="536">a #SoupAuth</doc> 590 + <type name="Auth" c:type="SoupAuth*"/> 591 + </instance-parameter> 592 + </parameters> 593 + </method> 594 + <method name="is_for_proxy" c:identifier="soup_auth_is_for_proxy"> 595 + <attribute name="org.gtk.Method.get_property" value="is-for-proxy"/> 596 + <doc xml:space="preserve" 597 + filename="libsoup/auth/soup-auth.c" 598 + line="407">Tests whether or not @auth is associated with a proxy server rather 599 + than an "origin" server.</doc> 600 + <source-position filename="libsoup/auth/soup-auth.h" line="56"/> 601 + <return-value transfer-ownership="none"> 602 + <doc xml:space="preserve" 603 + filename="libsoup/auth/soup-auth.c" 604 + line="414">%TRUE or %FALSE</doc> 605 + <type name="gboolean" c:type="gboolean"/> 606 + </return-value> 607 + <parameters> 608 + <instance-parameter name="auth" transfer-ownership="none"> 609 + <doc xml:space="preserve" 610 + filename="libsoup/auth/soup-auth.c" 611 + line="409">a #SoupAuth</doc> 612 + <type name="Auth" c:type="SoupAuth*"/> 613 + </instance-parameter> 614 + </parameters> 615 + </method> 616 + <method name="is_ready" c:identifier="soup_auth_is_ready"> 617 + <doc xml:space="preserve" 618 + filename="libsoup/auth/soup-auth.c" 619 + line="574">Tests if @auth is ready to make a request for @msg with. 620 + 621 + For most auths, this is equivalent to [method@Auth.is_authenticated], but for 622 + some auth types (eg, NTLM), the auth may be sendable (eg, as an 623 + authentication request) even before it is authenticated.</doc> 624 + <source-position filename="libsoup/auth/soup-auth.h" line="81"/> 625 + <return-value transfer-ownership="none"> 626 + <doc xml:space="preserve" 627 + filename="libsoup/auth/soup-auth.c" 628 + line="585">%TRUE if @auth is ready to make a request with.</doc> 629 + <type name="gboolean" c:type="gboolean"/> 630 + </return-value> 631 + <parameters> 632 + <instance-parameter name="auth" transfer-ownership="none"> 633 + <doc xml:space="preserve" 634 + filename="libsoup/auth/soup-auth.c" 635 + line="576">a #SoupAuth</doc> 636 + <type name="Auth" c:type="SoupAuth*"/> 637 + </instance-parameter> 638 + <parameter name="msg" transfer-ownership="none"> 639 + <doc xml:space="preserve" 640 + filename="libsoup/auth/soup-auth.c" 641 + line="577">a #SoupMessage</doc> 642 + <type name="Message" c:type="SoupMessage*"/> 643 + </parameter> 644 + </parameters> 645 + </method> 646 + <method name="update" c:identifier="soup_auth_update"> 647 + <doc xml:space="preserve" 648 + filename="libsoup/auth/soup-auth.c" 649 + line="299">Updates @auth with the information from @msg and @auth_header, 650 + possibly un-authenticating it. 651 + 652 + As with [ctor@Auth.new], this is normally only used by [class@Session].</doc> 653 + <source-position filename="libsoup/auth/soup-auth.h" line="51"/> 654 + <return-value transfer-ownership="none"> 655 + <doc xml:space="preserve" 656 + filename="libsoup/auth/soup-auth.c" 657 + line="310">%TRUE if @auth is still a valid (but potentially 658 + unauthenticated) #SoupAuth. %FALSE if something about @auth_params 659 + could not be parsed or incorporated into @auth at all.</doc> 660 + <type name="gboolean" c:type="gboolean"/> 661 + </return-value> 662 + <parameters> 663 + <instance-parameter name="auth" transfer-ownership="none"> 664 + <doc xml:space="preserve" 665 + filename="libsoup/auth/soup-auth.c" 666 + line="301">a #SoupAuth</doc> 667 + <type name="Auth" c:type="SoupAuth*"/> 668 + </instance-parameter> 669 + <parameter name="msg" transfer-ownership="none"> 670 + <doc xml:space="preserve" 671 + filename="libsoup/auth/soup-auth.c" 672 + line="302">the #SoupMessage @auth is being updated for</doc> 673 + <type name="Message" c:type="SoupMessage*"/> 674 + </parameter> 675 + <parameter name="auth_header" transfer-ownership="none"> 676 + <doc xml:space="preserve" 677 + filename="libsoup/auth/soup-auth.c" 678 + line="303">the WWW-Authenticate/Proxy-Authenticate header</doc> 679 + <type name="utf8" c:type="const char*"/> 680 + </parameter> 681 + </parameters> 682 + </method> 683 + <property name="authority" 684 + writable="1" 685 + transfer-ownership="none" 686 + getter="get_authority" 687 + default-value="NULL"> 688 + <attribute name="org.gtk.Property.get" 689 + value="soup_auth_get_authority"/> 690 + <doc xml:space="preserve" 691 + filename="libsoup/auth/soup-auth.c" 692 + line="186">The authority (host:port) being authenticated to.</doc> 693 + <type name="utf8" c:type="gchar*"/> 694 + </property> 695 + <property name="is-authenticated" 696 + transfer-ownership="none" 697 + getter="is_authenticated" 698 + default-value="FALSE"> 699 + <attribute name="org.gtk.Property.get" 700 + value="soup_auth_is_authenticated"/> 701 + <doc xml:space="preserve" 702 + filename="libsoup/auth/soup-auth.c" 703 + line="210">Whether or not the auth has been authenticated.</doc> 704 + <type name="gboolean" c:type="gboolean"/> 705 + </property> 706 + <property name="is-cancelled" 707 + transfer-ownership="none" 708 + getter="is_cancelled" 709 + default-value="FALSE"> 710 + <attribute name="org.gtk.Property.get" value="soup_auth_is_cancelled"/> 711 + <doc xml:space="preserve" 712 + filename="libsoup/auth/soup-auth.c" 713 + line="222">Whether or not the auth has been cancelled.</doc> 714 + <type name="gboolean" c:type="gboolean"/> 715 + </property> 716 + <property name="is-for-proxy" 717 + writable="1" 718 + transfer-ownership="none" 719 + default-value="FALSE"> 720 + <attribute name="org.gtk.Property.get" value="soup_auth_is_for_proxy"/> 721 + <doc xml:space="preserve" 722 + filename="libsoup/auth/soup-auth.c" 723 + line="198">Whether or not the auth is for a proxy server.</doc> 724 + <type name="gboolean" c:type="gboolean"/> 725 + </property> 726 + <property name="realm" 727 + writable="1" 728 + transfer-ownership="none" 729 + getter="get_realm" 730 + default-value="NULL"> 731 + <attribute name="org.gtk.Property.get" value="soup_auth_get_realm"/> 732 + <doc xml:space="preserve" 733 + filename="libsoup/auth/soup-auth.c" 734 + line="174">The authentication realm.</doc> 735 + <type name="utf8" c:type="gchar*"/> 736 + </property> 737 + <property name="scheme-name" 738 + transfer-ownership="none" 739 + getter="get_scheme_name" 740 + default-value="NULL"> 741 + <attribute name="org.gtk.Property.get" 742 + value="soup_auth_get_scheme_name"/> 743 + <doc xml:space="preserve" 744 + filename="libsoup/auth/soup-auth.c" 745 + line="162">The authentication scheme name.</doc> 746 + <type name="utf8" c:type="gchar*"/> 747 + </property> 748 + <field name="parent_instance"> 749 + <type name="GObject.Object" c:type="GObject"/> 750 + </field> 751 + </class> 752 + <class name="AuthBasic" 753 + c:symbol-prefix="auth_basic" 754 + parent="Auth" 755 + final="1" 756 + glib:type-name="SoupAuthBasic" 757 + glib:get-type="soup_auth_basic_get_type"> 758 + <doc xml:space="preserve" 759 + filename="libsoup/auth/soup-auth-basic.c" 760 + line="25">HTTP "Basic" authentication. 761 + 762 + [class@Session]s support this by default; if you want to disable 763 + support for it, call [method@Session.remove_feature_by_type], 764 + passing %SOUP_TYPE_AUTH_BASIC.</doc> 765 + </class> 766 + <record name="AuthClass" 767 + c:type="SoupAuthClass" 768 + glib:is-gtype-struct-for="Auth"> 769 + <source-position filename="libsoup/auth/soup-auth.h" line="44"/> 770 + <field name="parent_class"> 771 + <type name="GObject.ObjectClass" c:type="GObjectClass"/> 772 + </field> 773 + <field name="scheme_name"> 774 + <type name="utf8" c:type="const char*"/> 775 + </field> 776 + <field name="strength"> 777 + <type name="guint" c:type="guint"/> 778 + </field> 779 + <field name="update"> 780 + <callback name="update"> 781 + <source-position filename="libsoup/auth/soup-auth.h" line="23"/> 782 + <return-value transfer-ownership="none"> 783 + <doc xml:space="preserve" 784 + filename="libsoup/auth/soup-auth.c" 785 + line="310">%TRUE if @auth is still a valid (but potentially 786 + unauthenticated) #SoupAuth. %FALSE if something about @auth_params 787 + could not be parsed or incorporated into @auth at all.</doc> 788 + <type name="gboolean" c:type="gboolean"/> 789 + </return-value> 790 + <parameters> 791 + <parameter name="auth" transfer-ownership="none"> 792 + <doc xml:space="preserve" 793 + filename="libsoup/auth/soup-auth.c" 794 + line="301">a #SoupAuth</doc> 795 + <type name="Auth" c:type="SoupAuth*"/> 796 + </parameter> 797 + <parameter name="msg" transfer-ownership="none"> 798 + <doc xml:space="preserve" 799 + filename="libsoup/auth/soup-auth.c" 800 + line="302">the #SoupMessage @auth is being updated for</doc> 801 + <type name="Message" c:type="SoupMessage*"/> 802 + </parameter> 803 + <parameter name="auth_header" transfer-ownership="none"> 804 + <doc xml:space="preserve" 805 + filename="libsoup/auth/soup-auth.c" 806 + line="303">the WWW-Authenticate/Proxy-Authenticate header</doc> 807 + <type name="GLib.HashTable" c:type="GHashTable*"> 808 + <type name="gpointer" c:type="gpointer"/> 809 + <type name="gpointer" c:type="gpointer"/> 810 + </type> 811 + </parameter> 812 + </parameters> 813 + </callback> 814 + </field> 815 + <field name="get_protection_space"> 816 + <callback name="get_protection_space"> 817 + <source-position filename="libsoup/auth/soup-auth.h" line="27"/> 818 + <return-value transfer-ownership="full"> 819 + <doc xml:space="preserve" 820 + filename="libsoup/auth/soup-auth.c" 821 + line="643">the list of 822 + paths, which can be freed with [method@Auth.free_protection_space].</doc> 823 + <type name="GLib.SList" c:type="GSList*"> 824 + <type name="utf8"/> 825 + </type> 826 + </return-value> 827 + <parameters> 828 + <parameter name="auth" transfer-ownership="none"> 829 + <doc xml:space="preserve" 830 + filename="libsoup/auth/soup-auth.c" 831 + line="633">a #SoupAuth</doc> 832 + <type name="Auth" c:type="SoupAuth*"/> 833 + </parameter> 834 + <parameter name="source_uri" transfer-ownership="none"> 835 + <doc xml:space="preserve" 836 + filename="libsoup/auth/soup-auth.c" 837 + line="634">the URI of the request that @auth was generated in 838 + response to.</doc> 839 + <type name="GLib.Uri" c:type="GUri*"/> 840 + </parameter> 841 + </parameters> 842 + </callback> 843 + </field> 844 + <field name="authenticate"> 845 + <callback name="authenticate"> 846 + <source-position filename="libsoup/auth/soup-auth.h" line="30"/> 847 + <return-value transfer-ownership="none"> 848 + <type name="none" c:type="void"/> 849 + </return-value> 850 + <parameters> 851 + <parameter name="auth" transfer-ownership="none"> 852 + <doc xml:space="preserve" 853 + filename="libsoup/auth/soup-auth.c" 854 + line="353">a #SoupAuth</doc> 855 + <type name="Auth" c:type="SoupAuth*"/> 856 + </parameter> 857 + <parameter name="username" transfer-ownership="none"> 858 + <doc xml:space="preserve" 859 + filename="libsoup/auth/soup-auth.c" 860 + line="354">the username provided by the user or client</doc> 861 + <type name="utf8" c:type="const char*"/> 862 + </parameter> 863 + <parameter name="password" transfer-ownership="none"> 864 + <doc xml:space="preserve" 865 + filename="libsoup/auth/soup-auth.c" 866 + line="355">the password provided by the user or client</doc> 867 + <type name="utf8" c:type="const char*"/> 868 + </parameter> 869 + </parameters> 870 + </callback> 871 + </field> 872 + <field name="is_authenticated"> 873 + <callback name="is_authenticated"> 874 + <source-position filename="libsoup/auth/soup-auth.h" line="33"/> 875 + <return-value transfer-ownership="none"> 876 + <doc xml:space="preserve" 877 + filename="libsoup/auth/soup-auth.c" 878 + line="518">%TRUE if @auth has been given a username and password</doc> 879 + <type name="gboolean" c:type="gboolean"/> 880 + </return-value> 881 + <parameters> 882 + <parameter name="auth" transfer-ownership="none"> 883 + <doc xml:space="preserve" 884 + filename="libsoup/auth/soup-auth.c" 885 + line="514">a #SoupAuth</doc> 886 + <type name="Auth" c:type="SoupAuth*"/> 887 + </parameter> 888 + </parameters> 889 + </callback> 890 + </field> 891 + <field name="get_authorization"> 892 + <callback name="get_authorization"> 893 + <source-position filename="libsoup/auth/soup-auth.h" line="35"/> 894 + <return-value transfer-ownership="full"> 895 + <doc xml:space="preserve" 896 + filename="libsoup/auth/soup-auth.c" 897 + line="563">the "Authorization" header, which must be freed.</doc> 898 + <type name="utf8" c:type="char*"/> 899 + </return-value> 900 + <parameters> 901 + <parameter name="auth" transfer-ownership="none"> 902 + <doc xml:space="preserve" 903 + filename="libsoup/auth/soup-auth.c" 904 + line="555">a #SoupAuth</doc> 905 + <type name="Auth" c:type="SoupAuth*"/> 906 + </parameter> 907 + <parameter name="msg" transfer-ownership="none"> 908 + <doc xml:space="preserve" 909 + filename="libsoup/auth/soup-auth.c" 910 + line="556">the #SoupMessage to be authorized</doc> 911 + <type name="Message" c:type="SoupMessage*"/> 912 + </parameter> 913 + </parameters> 914 + </callback> 915 + </field> 916 + <field name="is_ready"> 917 + <callback name="is_ready"> 918 + <source-position filename="libsoup/auth/soup-auth.h" line="38"/> 919 + <return-value transfer-ownership="none"> 920 + <doc xml:space="preserve" 921 + filename="libsoup/auth/soup-auth.c" 922 + line="585">%TRUE if @auth is ready to make a request with.</doc> 923 + <type name="gboolean" c:type="gboolean"/> 924 + </return-value> 925 + <parameters> 926 + <parameter name="auth" transfer-ownership="none"> 927 + <doc xml:space="preserve" 928 + filename="libsoup/auth/soup-auth.c" 929 + line="576">a #SoupAuth</doc> 930 + <type name="Auth" c:type="SoupAuth*"/> 931 + </parameter> 932 + <parameter name="msg" transfer-ownership="none"> 933 + <doc xml:space="preserve" 934 + filename="libsoup/auth/soup-auth.c" 935 + line="577">a #SoupMessage</doc> 936 + <type name="Message" c:type="SoupMessage*"/> 937 + </parameter> 938 + </parameters> 939 + </callback> 940 + </field> 941 + <field name="can_authenticate"> 942 + <callback name="can_authenticate"> 943 + <source-position filename="libsoup/auth/soup-auth.h" line="41"/> 944 + <return-value transfer-ownership="none"> 945 + <doc xml:space="preserve" 946 + filename="libsoup/auth/soup-auth.c" 947 + line="614">%TRUE if @auth is able to accept credentials.</doc> 948 + <type name="gboolean" c:type="gboolean"/> 949 + </return-value> 950 + <parameters> 951 + <parameter name="auth" transfer-ownership="none"> 952 + <doc xml:space="preserve" 953 + filename="libsoup/auth/soup-auth.c" 954 + line="609">a #SoupAuth</doc> 955 + <type name="Auth" c:type="SoupAuth*"/> 956 + </parameter> 957 + </parameters> 958 + </callback> 959 + </field> 960 + <field name="padding"> 961 + <array zero-terminated="0" fixed-size="6"> 962 + <type name="gpointer" c:type="gpointer"/> 963 + </array> 964 + </field> 965 + </record> 966 + <class name="AuthDigest" 967 + c:symbol-prefix="auth_digest" 968 + parent="Auth" 969 + final="1" 970 + glib:type-name="SoupAuthDigest" 971 + glib:get-type="soup_auth_digest_get_type"> 972 + <doc xml:space="preserve" 973 + filename="libsoup/auth/soup-auth-digest.c" 974 + line="48">HTTP "Digest" authentication. 975 + 976 + [class@Session]s support this by default; if you want to disable 977 + support for it, call [method@Session.remove_feature_by_type] 978 + passing %SOUP_TYPE_AUTH_DIGEST.</doc> 979 + </class> 980 + <class name="AuthDomain" 981 + c:symbol-prefix="auth_domain" 982 + c:type="SoupAuthDomain" 983 + parent="GObject.Object" 984 + abstract="1" 985 + glib:type-name="SoupAuthDomain" 986 + glib:get-type="soup_auth_domain_get_type" 987 + glib:type-struct="AuthDomainClass"> 988 + <doc xml:space="preserve" 989 + filename="libsoup/server/soup-auth-domain.c" 990 + line="19">Server-side authentication. 991 + 992 + A #SoupAuthDomain manages authentication for all or part of a 993 + [class@Server]. To make a server require authentication, first create 994 + an appropriate subclass of #SoupAuthDomain, and then add it to the 995 + server with [method@Server.add_auth_domain]. 996 + 997 + In order for an auth domain to have any effect, you must add one or more 998 + paths to it (via [method@AuthDomain.add_path]). To require authentication for 999 + all ordinary requests, add the path `"/"`. (Note that this does not include 1000 + the special `"*"` URI (eg, "OPTIONS *"), which must be added as a separate 1001 + path if you want to cover it.) 1002 + 1003 + If you need greater control over which requests should and shouldn't be 1004 + authenticated, add paths covering everything you *might* want authenticated, 1005 + and then use a filter ([method@AuthDomain.set_filter] to bypass 1006 + authentication for those requests that don't need it.</doc> 1007 + <source-position filename="libsoup/server/soup-auth-domain.h" line="29"/> 1008 + <virtual-method name="accepts"> 1009 + <source-position filename="libsoup/server/soup-auth-domain.h" 1010 + line="19"/> 1011 + <return-value transfer-ownership="full"> 1012 + <type name="utf8" c:type="char*"/> 1013 + </return-value> 1014 + <parameters> 1015 + <instance-parameter name="domain" transfer-ownership="none"> 1016 + <type name="AuthDomain" c:type="SoupAuthDomain*"/> 1017 + </instance-parameter> 1018 + <parameter name="msg" transfer-ownership="none"> 1019 + <type name="ServerMessage" c:type="SoupServerMessage*"/> 1020 + </parameter> 1021 + <parameter name="header" transfer-ownership="none"> 1022 + <type name="utf8" c:type="const char*"/> 1023 + </parameter> 1024 + </parameters> 1025 + </virtual-method> 1026 + <virtual-method name="challenge" invoker="challenge"> 1027 + <doc xml:space="preserve" 1028 + filename="libsoup/server/soup-auth-domain.c" 1029 + line="556">Adds a "WWW-Authenticate" or "Proxy-Authenticate" header to @msg. 1030 + 1031 + It requests that the client authenticate, and sets @msg's status accordingly. 1032 + 1033 + This is used by [class@Server] internally and is probably of no use to 1034 + anyone else.</doc> 1035 + <source-position filename="libsoup/server/soup-auth-domain.h" 1036 + line="22"/> 1037 + <return-value transfer-ownership="full"> 1038 + <type name="utf8" c:type="char*"/> 1039 + </return-value> 1040 + <parameters> 1041 + <instance-parameter name="domain" transfer-ownership="none"> 1042 + <doc xml:space="preserve" 1043 + filename="libsoup/server/soup-auth-domain.c" 1044 + line="558">a #SoupAuthDomain</doc> 1045 + <type name="AuthDomain" c:type="SoupAuthDomain*"/> 1046 + </instance-parameter> 1047 + <parameter name="msg" transfer-ownership="none"> 1048 + <doc xml:space="preserve" 1049 + filename="libsoup/server/soup-auth-domain.c" 1050 + line="559">a #SoupServerMessage</doc> 1051 + <type name="ServerMessage" c:type="SoupServerMessage*"/> 1052 + </parameter> 1053 + </parameters> 1054 + </virtual-method> 1055 + <virtual-method name="check_password" invoker="check_password"> 1056 + <doc xml:space="preserve" 1057 + filename="libsoup/server/soup-auth-domain.c" 1058 + line="462">Checks if @msg authenticates to @domain via @username and 1059 + @password. 1060 + 1061 + This would normally be called from a 1062 + [callback@AuthDomainGenericAuthCallback].</doc> 1063 + <source-position filename="libsoup/server/soup-auth-domain.h" 1064 + line="24"/> 1065 + <return-value transfer-ownership="none"> 1066 + <doc xml:space="preserve" 1067 + filename="libsoup/server/soup-auth-domain.c" 1068 + line="475">whether or not the message is authenticated</doc> 1069 + <type name="gboolean" c:type="gboolean"/> 1070 + </return-value> 1071 + <parameters> 1072 + <instance-parameter name="domain" transfer-ownership="none"> 1073 + <doc xml:space="preserve" 1074 + filename="libsoup/server/soup-auth-domain.c" 1075 + line="464">a #SoupAuthDomain</doc> 1076 + <type name="AuthDomain" c:type="SoupAuthDomain*"/> 1077 + </instance-parameter> 1078 + <parameter name="msg" transfer-ownership="none"> 1079 + <doc xml:space="preserve" 1080 + filename="libsoup/server/soup-auth-domain.c" 1081 + line="465">a #SoupServerMessage</doc> 1082 + <type name="ServerMessage" c:type="SoupServerMessage*"/> 1083 + </parameter> 1084 + <parameter name="username" transfer-ownership="none"> 1085 + <doc xml:space="preserve" 1086 + filename="libsoup/server/soup-auth-domain.c" 1087 + line="466">a username</doc> 1088 + <type name="utf8" c:type="const char*"/> 1089 + </parameter> 1090 + <parameter name="password" transfer-ownership="none"> 1091 + <doc xml:space="preserve" 1092 + filename="libsoup/server/soup-auth-domain.c" 1093 + line="467">a password</doc> 1094 + <type name="utf8" c:type="const char*"/> 1095 + </parameter> 1096 + </parameters> 1097 + </virtual-method> 1098 + <method name="accepts" c:identifier="soup_auth_domain_accepts"> 1099 + <doc xml:space="preserve" 1100 + filename="libsoup/server/soup-auth-domain.c" 1101 + line="523">Checks if @msg contains appropriate authorization for @domain to 1102 + accept it. 1103 + 1104 + Mirroring [method@AuthDomain.covers], this does not check whether or not 1105 + @domain *cares* if @msg is authorized. 1106 + 1107 + This is used by [class@Server] internally and is probably of no use to 1108 + anyone else.</doc> 1109 + <source-position filename="libsoup/server/soup-auth-domain.h" 1110 + line="71"/> 1111 + <return-value transfer-ownership="full" nullable="1"> 1112 + <doc xml:space="preserve" 1113 + filename="libsoup/server/soup-auth-domain.c" 1114 + line="537">the username that @msg has authenticated 1115 + as, if in fact it has authenticated. %NULL otherwise.</doc> 1116 + <type name="utf8" c:type="char*"/> 1117 + </return-value> 1118 + <parameters> 1119 + <instance-parameter name="domain" transfer-ownership="none"> 1120 + <doc xml:space="preserve" 1121 + filename="libsoup/server/soup-auth-domain.c" 1122 + line="525">a #SoupAuthDomain</doc> 1123 + <type name="AuthDomain" c:type="SoupAuthDomain*"/> 1124 + </instance-parameter> 1125 + <parameter name="msg" transfer-ownership="none"> 1126 + <doc xml:space="preserve" 1127 + filename="libsoup/server/soup-auth-domain.c" 1128 + line="526">a #SoupServerMessage</doc> 1129 + <type name="ServerMessage" c:type="SoupServerMessage*"/> 1130 + </parameter> 1131 + </parameters> 1132 + </method> 1133 + <method name="add_path" c:identifier="soup_auth_domain_add_path"> 1134 + <doc xml:space="preserve" 1135 + filename="libsoup/server/soup-auth-domain.c" 1136 + line="252">Adds @path to @domain. 1137 + 1138 + Requests under @path on @domain's server will require authentication (unless 1139 + overridden by [method@AuthDomain.remove_path] or 1140 + [method@AuthDomain.set_filter]).</doc> 1141 + <source-position filename="libsoup/server/soup-auth-domain.h" 1142 + line="41"/> 1143 + <return-value transfer-ownership="none"> 1144 + <type name="none" c:type="void"/> 1145 + </return-value> 1146 + <parameters> 1147 + <instance-parameter name="domain" transfer-ownership="none"> 1148 + <doc xml:space="preserve" 1149 + filename="libsoup/server/soup-auth-domain.c" 1150 + line="254">a #SoupAuthDomain</doc> 1151 + <type name="AuthDomain" c:type="SoupAuthDomain*"/> 1152 + </instance-parameter> 1153 + <parameter name="path" transfer-ownership="none"> 1154 + <doc xml:space="preserve" 1155 + filename="libsoup/server/soup-auth-domain.c" 1156 + line="255">the path to add to @domain</doc> 1157 + <type name="utf8" c:type="const char*"/> 1158 + </parameter> 1159 + </parameters> 1160 + </method> 1161 + <method name="challenge" c:identifier="soup_auth_domain_challenge"> 1162 + <doc xml:space="preserve" 1163 + filename="libsoup/server/soup-auth-domain.c" 1164 + line="556">Adds a "WWW-Authenticate" or "Proxy-Authenticate" header to @msg. 1165 + 1166 + It requests that the client authenticate, and sets @msg's status accordingly. 1167 + 1168 + This is used by [class@Server] internally and is probably of no use to 1169 + anyone else.</doc> 1170 + <source-position filename="libsoup/server/soup-auth-domain.h" 1171 + line="74"/> 1172 + <return-value transfer-ownership="none"> 1173 + <type name="none" c:type="void"/> 1174 + </return-value> 1175 + <parameters> 1176 + <instance-parameter name="domain" transfer-ownership="none"> 1177 + <doc xml:space="preserve" 1178 + filename="libsoup/server/soup-auth-domain.c" 1179 + line="558">a #SoupAuthDomain</doc> 1180 + <type name="AuthDomain" c:type="SoupAuthDomain*"/> 1181 + </instance-parameter> 1182 + <parameter name="msg" transfer-ownership="none"> 1183 + <doc xml:space="preserve" 1184 + filename="libsoup/server/soup-auth-domain.c" 1185 + line="559">a #SoupServerMessage</doc> 1186 + <type name="ServerMessage" c:type="SoupServerMessage*"/> 1187 + </parameter> 1188 + </parameters> 1189 + </method> 1190 + <method name="check_password" 1191 + c:identifier="soup_auth_domain_check_password"> 1192 + <doc xml:space="preserve" 1193 + filename="libsoup/server/soup-auth-domain.c" 1194 + line="462">Checks if @msg authenticates to @domain via @username and 1195 + @password. 1196 + 1197 + This would normally be called from a 1198 + [callback@AuthDomainGenericAuthCallback].</doc> 1199 + <source-position filename="libsoup/server/soup-auth-domain.h" 1200 + line="62"/> 1201 + <return-value transfer-ownership="none"> 1202 + <doc xml:space="preserve" 1203 + filename="libsoup/server/soup-auth-domain.c" 1204 + line="475">whether or not the message is authenticated</doc> 1205 + <type name="gboolean" c:type="gboolean"/> 1206 + </return-value> 1207 + <parameters> 1208 + <instance-parameter name="domain" transfer-ownership="none"> 1209 + <doc xml:space="preserve" 1210 + filename="libsoup/server/soup-auth-domain.c" 1211 + line="464">a #SoupAuthDomain</doc> 1212 + <type name="AuthDomain" c:type="SoupAuthDomain*"/> 1213 + </instance-parameter> 1214 + <parameter name="msg" transfer-ownership="none"> 1215 + <doc xml:space="preserve" 1216 + filename="libsoup/server/soup-auth-domain.c" 1217 + line="465">a #SoupServerMessage</doc> 1218 + <type name="ServerMessage" c:type="SoupServerMessage*"/> 1219 + </parameter> 1220 + <parameter name="username" transfer-ownership="none"> 1221 + <doc xml:space="preserve" 1222 + filename="libsoup/server/soup-auth-domain.c" 1223 + line="466">a username</doc> 1224 + <type name="utf8" c:type="const char*"/> 1225 + </parameter> 1226 + <parameter name="password" transfer-ownership="none"> 1227 + <doc xml:space="preserve" 1228 + filename="libsoup/server/soup-auth-domain.c" 1229 + line="467">a password</doc> 1230 + <type name="utf8" c:type="const char*"/> 1231 + </parameter> 1232 + </parameters> 1233 + </method> 1234 + <method name="covers" c:identifier="soup_auth_domain_covers"> 1235 + <doc xml:space="preserve" 1236 + filename="libsoup/server/soup-auth-domain.c" 1237 + line="488">Checks if @domain requires @msg to be authenticated (according to 1238 + its paths and filter function). 1239 + 1240 + This does not actually look at whether @msg *is* authenticated, merely 1241 + whether or not it needs to be. 1242 + 1243 + This is used by [class@Server] internally and is probably of no use to 1244 + anyone else.</doc> 1245 + <source-position filename="libsoup/server/soup-auth-domain.h" 1246 + line="68"/> 1247 + <return-value transfer-ownership="none"> 1248 + <doc xml:space="preserve" 1249 + filename="libsoup/server/soup-auth-domain.c" 1250 + line="502">%TRUE if @domain requires @msg to be authenticated</doc> 1251 + <type name="gboolean" c:type="gboolean"/> 1252 + </return-value> 1253 + <parameters> 1254 + <instance-parameter name="domain" transfer-ownership="none"> 1255 + <doc xml:space="preserve" 1256 + filename="libsoup/server/soup-auth-domain.c" 1257 + line="490">a #SoupAuthDomain</doc> 1258 + <type name="AuthDomain" c:type="SoupAuthDomain*"/> 1259 + </instance-parameter> 1260 + <parameter name="msg" transfer-ownership="none"> 1261 + <doc xml:space="preserve" 1262 + filename="libsoup/server/soup-auth-domain.c" 1263 + line="491">a #SoupServerMessage</doc> 1264 + <type name="ServerMessage" c:type="SoupServerMessage*"/> 1265 + </parameter> 1266 + </parameters> 1267 + </method> 1268 + <method name="get_realm" 1269 + c:identifier="soup_auth_domain_get_realm" 1270 + glib:get-property="realm"> 1271 + <attribute name="org.gtk.Method.get_property" value="realm"/> 1272 + <doc xml:space="preserve" 1273 + filename="libsoup/server/soup-auth-domain.c" 1274 + line="371">Gets the realm name associated with @domain.</doc> 1275 + <source-position filename="libsoup/server/soup-auth-domain.h" 1276 + line="54"/> 1277 + <return-value transfer-ownership="none"> 1278 + <doc xml:space="preserve" 1279 + filename="libsoup/server/soup-auth-domain.c" 1280 + line="377">@domain's realm</doc> 1281 + <type name="utf8" c:type="const char*"/> 1282 + </return-value> 1283 + <parameters> 1284 + <instance-parameter name="domain" transfer-ownership="none"> 1285 + <doc xml:space="preserve" 1286 + filename="libsoup/server/soup-auth-domain.c" 1287 + line="373">a #SoupAuthDomain</doc> 1288 + <type name="AuthDomain" c:type="SoupAuthDomain*"/> 1289 + </instance-parameter> 1290 + </parameters> 1291 + </method> 1292 + <method name="remove_path" c:identifier="soup_auth_domain_remove_path"> 1293 + <doc xml:space="preserve" 1294 + filename="libsoup/server/soup-auth-domain.c" 1295 + line="275">Removes @path from @domain. 1296 + 1297 + Requests under @path on @domain's server will NOT require 1298 + authentication. 1299 + 1300 + This is not simply an undo-er for [method@AuthDomain.add_path]; it 1301 + can be used to "carve out" a subtree that does not require 1302 + authentication inside a hierarchy that does. Note also that unlike 1303 + with [method@AuthDomain.add_path], this cannot be overridden by 1304 + adding a filter, as filters can only bypass authentication that 1305 + would otherwise be required, not require it where it would 1306 + otherwise be unnecessary.</doc> 1307 + <source-position filename="libsoup/server/soup-auth-domain.h" 1308 + line="44"/> 1309 + <return-value transfer-ownership="none"> 1310 + <type name="none" c:type="void"/> 1311 + </return-value> 1312 + <parameters> 1313 + <instance-parameter name="domain" transfer-ownership="none"> 1314 + <doc xml:space="preserve" 1315 + filename="libsoup/server/soup-auth-domain.c" 1316 + line="277">a #SoupAuthDomain</doc> 1317 + <type name="AuthDomain" c:type="SoupAuthDomain*"/> 1318 + </instance-parameter> 1319 + <parameter name="path" transfer-ownership="none"> 1320 + <doc xml:space="preserve" 1321 + filename="libsoup/server/soup-auth-domain.c" 1322 + line="278">the path to remove from @domain</doc> 1323 + <type name="utf8" c:type="const char*"/> 1324 + </parameter> 1325 + </parameters> 1326 + </method> 1327 + <method name="set_filter" 1328 + c:identifier="soup_auth_domain_set_filter" 1329 + glib:set-property="filter"> 1330 + <attribute name="org.gtk.Method.set_property" value="filter"/> 1331 + <doc xml:space="preserve" 1332 + filename="libsoup/server/soup-auth-domain.c" 1333 + line="318">Adds @filter as an authentication filter to @domain. 1334 + 1335 + The filter gets a chance to bypass authentication for certain requests that 1336 + would otherwise require it. Eg, it might check the message's path in some way 1337 + that is too complicated to do via the other methods, or it might check the 1338 + message's method, and allow GETs but not PUTs. 1339 + 1340 + The filter function returns %TRUE if the request should still 1341 + require authentication, or %FALSE if authentication is unnecessary 1342 + for this request. 1343 + 1344 + To help prevent security holes, your filter should return %TRUE by 1345 + default, and only return %FALSE under specifically-tested 1346 + circumstances, rather than the other way around. Eg, in the example 1347 + above, where you want to authenticate PUTs but not GETs, you should 1348 + check if the method is GET and return %FALSE in that case, and then 1349 + return %TRUE for all other methods (rather than returning %TRUE for 1350 + PUT and %FALSE for all other methods). This way if it turned out 1351 + (now or later) that some paths supported additional methods besides 1352 + GET and PUT, those methods would default to being NOT allowed for 1353 + unauthenticated users. 1354 + 1355 + You can also set the filter by setting the SoupAuthDomain:filter 1356 + and [property@AuthDomain:filter-data properties], which can also be 1357 + used to set the filter at construct time.</doc> 1358 + <source-position filename="libsoup/server/soup-auth-domain.h" 1359 + line="48"/> 1360 + <return-value transfer-ownership="none"> 1361 + <type name="none" c:type="void"/> 1362 + </return-value> 1363 + <parameters> 1364 + <instance-parameter name="domain" transfer-ownership="none"> 1365 + <doc xml:space="preserve" 1366 + filename="libsoup/server/soup-auth-domain.c" 1367 + line="320">a #SoupAuthDomain</doc> 1368 + <type name="AuthDomain" c:type="SoupAuthDomain*"/> 1369 + </instance-parameter> 1370 + <parameter name="filter" 1371 + transfer-ownership="none" 1372 + scope="notified" 1373 + closure="1" 1374 + destroy="2"> 1375 + <doc xml:space="preserve" 1376 + filename="libsoup/server/soup-auth-domain.c" 1377 + line="321">the auth filter for @domain</doc> 1378 + <type name="AuthDomainFilter" c:type="SoupAuthDomainFilter"/> 1379 + </parameter> 1380 + <parameter name="filter_data" 1381 + transfer-ownership="none" 1382 + nullable="1" 1383 + allow-none="1"> 1384 + <doc xml:space="preserve" 1385 + filename="libsoup/server/soup-auth-domain.c" 1386 + line="322">data to pass to @filter</doc> 1387 + <type name="gpointer" c:type="gpointer"/> 1388 + </parameter> 1389 + <parameter name="dnotify" transfer-ownership="none" scope="async"> 1390 + <doc xml:space="preserve" 1391 + filename="libsoup/server/soup-auth-domain.c" 1392 + line="323">destroy notifier to free @filter_data when @domain 1393 + is destroyed</doc> 1394 + <type name="GLib.DestroyNotify" c:type="GDestroyNotify"/> 1395 + </parameter> 1396 + </parameters> 1397 + </method> 1398 + <method name="set_generic_auth_callback" 1399 + c:identifier="soup_auth_domain_set_generic_auth_callback" 1400 + glib:set-property="generic-auth-callback"> 1401 + <attribute name="org.gtk.Method.get_property" 1402 + value="generic-auth-callback"/> 1403 + <doc xml:space="preserve" 1404 + filename="libsoup/server/soup-auth-domain.c" 1405 + line="414">Sets @auth_callback as an authentication-handling callback for @domain. 1406 + 1407 + Whenever a request comes in to @domain which cannot be authenticated via a 1408 + domain-specific auth callback (eg, [callback@AuthDomainDigestAuthCallback]), 1409 + the generic auth callback will be invoked. See 1410 + [callback@AuthDomainGenericAuthCallback] for information on what the callback 1411 + should do.</doc> 1412 + <source-position filename="libsoup/server/soup-auth-domain.h" 1413 + line="57"/> 1414 + <return-value transfer-ownership="none"> 1415 + <type name="none" c:type="void"/> 1416 + </return-value> 1417 + <parameters> 1418 + <instance-parameter name="domain" transfer-ownership="none"> 1419 + <doc xml:space="preserve" 1420 + filename="libsoup/server/soup-auth-domain.c" 1421 + line="416">a #SoupAuthDomain</doc> 1422 + <type name="AuthDomain" c:type="SoupAuthDomain*"/> 1423 + </instance-parameter> 1424 + <parameter name="auth_callback" 1425 + transfer-ownership="none" 1426 + scope="notified" 1427 + closure="1" 1428 + destroy="2"> 1429 + <doc xml:space="preserve" 1430 + filename="libsoup/server/soup-auth-domain.c" 1431 + line="417">the auth callback</doc> 1432 + <type name="AuthDomainGenericAuthCallback" 1433 + c:type="SoupAuthDomainGenericAuthCallback"/> 1434 + </parameter> 1435 + <parameter name="auth_data" 1436 + transfer-ownership="none" 1437 + nullable="1" 1438 + allow-none="1"> 1439 + <doc xml:space="preserve" 1440 + filename="libsoup/server/soup-auth-domain.c" 1441 + line="418">data to pass to @auth_callback</doc> 1442 + <type name="gpointer" c:type="gpointer"/> 1443 + </parameter> 1444 + <parameter name="dnotify" transfer-ownership="none" scope="async"> 1445 + <doc xml:space="preserve" 1446 + filename="libsoup/server/soup-auth-domain.c" 1447 + line="419">destroy notifier to free @auth_data when @domain 1448 + is destroyed</doc> 1449 + <type name="GLib.DestroyNotify" c:type="GDestroyNotify"/> 1450 + </parameter> 1451 + </parameters> 1452 + </method> 1453 + <property name="filter" 1454 + writable="1" 1455 + transfer-ownership="none" 1456 + setter="set_filter"> 1457 + <attribute name="org.gtk.Property.set" 1458 + value="soup_auth_domain_set_filter"/> 1459 + <doc xml:space="preserve" 1460 + filename="libsoup/server/soup-auth-domain.c" 1461 + line="204">The [callback@AuthDomainFilter] for the domain.</doc> 1462 + <type name="AuthDomainFilter" c:type="gpointer"/> 1463 + </property> 1464 + <property name="filter-data" writable="1" transfer-ownership="none"> 1465 + <doc xml:space="preserve" 1466 + filename="libsoup/server/soup-auth-domain.c" 1467 + line="215">Data to pass to the [callback@AuthDomainFilter].</doc> 1468 + <type name="gpointer" c:type="gpointer"/> 1469 + </property> 1470 + <property name="generic-auth-callback" 1471 + writable="1" 1472 + transfer-ownership="none" 1473 + setter="set_generic_auth_callback"> 1474 + <attribute name="org.gtk.Property.set" 1475 + value="soup_auth_domain_set_generic_auth_callback"/> 1476 + <doc xml:space="preserve" 1477 + filename="libsoup/server/soup-auth-domain.c" 1478 + line="226">The [callback@AuthDomainGenericAuthCallback].</doc> 1479 + <type name="AuthDomainGenericAuthCallback" c:type="gpointer"/> 1480 + </property> 1481 + <property name="generic-auth-data" 1482 + writable="1" 1483 + transfer-ownership="none"> 1484 + <doc xml:space="preserve" 1485 + filename="libsoup/server/soup-auth-domain.c" 1486 + line="237">The data to pass to the [callback@AuthDomainGenericAuthCallback].</doc> 1487 + <type name="gpointer" c:type="gpointer"/> 1488 + </property> 1489 + <property name="proxy" 1490 + writable="1" 1491 + construct-only="1" 1492 + transfer-ownership="none" 1493 + default-value="FALSE"> 1494 + <doc xml:space="preserve" 1495 + filename="libsoup/server/soup-auth-domain.c" 1496 + line="191">Whether or not this is a proxy auth domain.</doc> 1497 + <type name="gboolean" c:type="gboolean"/> 1498 + </property> 1499 + <property name="realm" 1500 + writable="1" 1501 + construct-only="1" 1502 + transfer-ownership="none" 1503 + getter="get_realm" 1504 + default-value="NULL"> 1505 + <attribute name="org.gtk.Property.get" 1506 + value="soup_auth_domain_get_realm"/> 1507 + <doc xml:space="preserve" 1508 + filename="libsoup/server/soup-auth-domain.c" 1509 + line="178">The realm of this auth domain.</doc> 1510 + <type name="utf8" c:type="gchar*"/> 1511 + </property> 1512 + <field name="parent_instance"> 1513 + <type name="GObject.Object" c:type="GObject"/> 1514 + </field> 1515 + </class> 1516 + <class name="AuthDomainBasic" 1517 + c:symbol-prefix="auth_domain_basic" 1518 + c:type="SoupAuthDomainBasic" 1519 + parent="AuthDomain" 1520 + final="1" 1521 + glib:type-name="SoupAuthDomainBasic" 1522 + glib:get-type="soup_auth_domain_basic_get_type" 1523 + glib:type-struct="AuthDomainBasicClass"> 1524 + <doc xml:space="preserve" 1525 + filename="libsoup/server/soup-auth-domain-basic.c" 1526 + line="19">Server-side "Basic" authentication. 1527 + 1528 + #SoupAuthDomainBasic handles the server side of HTTP "Basic" (ie, 1529 + cleartext password) authentication.</doc> 1530 + <source-position filename="libsoup/server/soup-auth-domain-basic.h" 1531 + line="14"/> 1532 + <constructor name="new" 1533 + c:identifier="soup_auth_domain_basic_new" 1534 + introspectable="0"> 1535 + <doc xml:space="preserve" 1536 + filename="libsoup/server/soup-auth-domain-basic.c" 1537 + line="112">Creates a #SoupAuthDomainBasic. 1538 + 1539 + You must set the [property@AuthDomain:realm] property, to indicate the realm 1540 + name to be returned with the authentication challenge to the client. Other 1541 + parameters are optional.</doc> 1542 + <source-position filename="libsoup/server/soup-auth-domain-basic.h" 1543 + line="17"/> 1544 + <return-value transfer-ownership="full"> 1545 + <doc xml:space="preserve" 1546 + filename="libsoup/server/soup-auth-domain-basic.c" 1547 + line="123">the new #SoupAuthDomain</doc> 1548 + <type name="AuthDomain" c:type="SoupAuthDomain*"/> 1549 + </return-value> 1550 + <parameters> 1551 + <parameter name="optname1" transfer-ownership="none"> 1552 + <doc xml:space="preserve" 1553 + filename="libsoup/server/soup-auth-domain-basic.c" 1554 + line="114">name of first option, or %NULL</doc> 1555 + <type name="utf8" c:type="const char*"/> 1556 + </parameter> 1557 + <parameter name="..." transfer-ownership="none"> 1558 + <doc xml:space="preserve" 1559 + filename="libsoup/server/soup-auth-domain-basic.c" 1560 + line="115">option name/value pairs</doc> 1561 + <varargs/> 1562 + </parameter> 1563 + </parameters> 1564 + </constructor> 1565 + <method name="set_auth_callback" 1566 + c:identifier="soup_auth_domain_basic_set_auth_callback" 1567 + glib:set-property="auth-callback"> 1568 + <attribute name="org.gtk.Method.set_property" value="auth-callback"/> 1569 + <doc xml:space="preserve" 1570 + filename="libsoup/server/soup-auth-domain-basic.c" 1571 + line="168">Sets the callback that @domain will use to authenticate incoming 1572 + requests. 1573 + 1574 + For each request containing authorization, @domain will invoke the callback, 1575 + and then either accept or reject the request based on @callback's return 1576 + value. 1577 + 1578 + You can also set the auth callback by setting the 1579 + [property@AuthDomainBasic:auth-callback] and 1580 + [property@AuthDomainBasic:auth-data] properties, which can also be used to 1581 + set the callback at construct time.</doc> 1582 + <source-position filename="libsoup/server/soup-auth-domain-basic.h" 1583 + line="27"/> 1584 + <return-value transfer-ownership="none"> 1585 + <type name="none" c:type="void"/> 1586 + </return-value> 1587 + <parameters> 1588 + <instance-parameter name="domain" transfer-ownership="none"> 1589 + <doc xml:space="preserve" 1590 + filename="libsoup/server/soup-auth-domain-basic.c" 1591 + line="170">the domain</doc> 1592 + <type name="AuthDomainBasic" c:type="SoupAuthDomain*"/> 1593 + </instance-parameter> 1594 + <parameter name="callback" 1595 + transfer-ownership="none" 1596 + scope="notified" 1597 + closure="1" 1598 + destroy="2"> 1599 + <doc xml:space="preserve" 1600 + filename="libsoup/server/soup-auth-domain-basic.c" 1601 + line="171">the callback</doc> 1602 + <type name="AuthDomainBasicAuthCallback" 1603 + c:type="SoupAuthDomainBasicAuthCallback"/> 1604 + </parameter> 1605 + <parameter name="user_data" 1606 + transfer-ownership="none" 1607 + nullable="1" 1608 + allow-none="1"> 1609 + <doc xml:space="preserve" 1610 + filename="libsoup/server/soup-auth-domain-basic.c" 1611 + line="172">data to pass to @auth_callback</doc> 1612 + <type name="gpointer" c:type="gpointer"/> 1613 + </parameter> 1614 + <parameter name="dnotify" transfer-ownership="none" scope="async"> 1615 + <doc xml:space="preserve" 1616 + filename="libsoup/server/soup-auth-domain-basic.c" 1617 + line="173">destroy notifier to free @user_data when @domain 1618 + is destroyed</doc> 1619 + <type name="GLib.DestroyNotify" c:type="GDestroyNotify"/> 1620 + </parameter> 1621 + </parameters> 1622 + </method> 1623 + <property name="auth-callback" 1624 + writable="1" 1625 + transfer-ownership="none" 1626 + setter="set_auth_callback"> 1627 + <attribute name="org.gtk.Property.set" 1628 + value="soup_auth_domain_basic_set_auth_callback"/> 1629 + <doc xml:space="preserve" 1630 + filename="libsoup/server/soup-auth-domain-basic.c" 1631 + line="324">The [callback@AuthDomainBasicAuthCallback].</doc> 1632 + <type name="AuthDomainBasicAuthCallback" c:type="gpointer"/> 1633 + </property> 1634 + <property name="auth-data" writable="1" transfer-ownership="none"> 1635 + <doc xml:space="preserve" 1636 + filename="libsoup/server/soup-auth-domain-basic.c" 1637 + line="335">The data to pass to the [callback@AuthDomainBasicAuthCallback].</doc> 1638 + <type name="gpointer" c:type="gpointer"/> 1639 + </property> 1640 + </class> 1641 + <callback name="AuthDomainBasicAuthCallback" 1642 + c:type="SoupAuthDomainBasicAuthCallback"> 1643 + <doc xml:space="preserve" 1644 + filename="libsoup/server/soup-auth-domain-basic.c" 1645 + line="141">Callback used by #SoupAuthDomainBasic for authentication purposes. 1646 + 1647 + The application should verify that @username and @password and valid 1648 + and return %TRUE or %FALSE. 1649 + 1650 + If you are maintaining your own password database (rather than 1651 + using the password to authenticate against some other system like 1652 + PAM or a remote server), you should make sure you know what you are 1653 + doing. In particular, don't store cleartext passwords, or 1654 + easily-computed hashes of cleartext passwords, even if you don't 1655 + care that much about the security of your server, because users 1656 + will frequently use the same password for multiple sites, and so 1657 + compromising any site with a cleartext (or easily-cracked) password 1658 + database may give attackers access to other more-interesting sites 1659 + as well.</doc> 1660 + <source-position filename="libsoup/server/soup-auth-domain-basic.h" 1661 + line="20"/> 1662 + <return-value transfer-ownership="none"> 1663 + <doc xml:space="preserve" 1664 + filename="libsoup/server/soup-auth-domain-basic.c" 1665 + line="165">%TRUE if @username and @password are valid</doc> 1666 + <type name="gboolean" c:type="gboolean"/> 1667 + </return-value> 1668 + <parameters> 1669 + <parameter name="domain" transfer-ownership="none"> 1670 + <doc xml:space="preserve" 1671 + filename="libsoup/server/soup-auth-domain-basic.c" 1672 + line="143">the domain</doc> 1673 + <type name="AuthDomainBasic" c:type="SoupAuthDomain*"/> 1674 + </parameter> 1675 + <parameter name="msg" transfer-ownership="none"> 1676 + <doc xml:space="preserve" 1677 + filename="libsoup/server/soup-auth-domain-basic.c" 1678 + line="144">the message being authenticated</doc> 1679 + <type name="ServerMessage" c:type="SoupServerMessage*"/> 1680 + </parameter> 1681 + <parameter name="username" transfer-ownership="none"> 1682 + <doc xml:space="preserve" 1683 + filename="libsoup/server/soup-auth-domain-basic.c" 1684 + line="145">the username provided by the client</doc> 1685 + <type name="utf8" c:type="const char*"/> 1686 + </parameter> 1687 + <parameter name="password" transfer-ownership="none"> 1688 + <doc xml:space="preserve" 1689 + filename="libsoup/server/soup-auth-domain-basic.c" 1690 + line="146">the password provided by the client</doc> 1691 + <type name="utf8" c:type="const char*"/> 1692 + </parameter> 1693 + <parameter name="user_data" 1694 + transfer-ownership="none" 1695 + nullable="1" 1696 + allow-none="1" 1697 + closure="4"> 1698 + <doc xml:space="preserve" 1699 + filename="libsoup/server/soup-auth-domain-basic.c" 1700 + line="147">the data passed to [method@AuthDomainBasic.set_auth_callback]</doc> 1701 + <type name="gpointer" c:type="gpointer"/> 1702 + </parameter> 1703 + </parameters> 1704 + </callback> 1705 + <record name="AuthDomainBasicClass" 1706 + c:type="SoupAuthDomainBasicClass" 1707 + glib:is-gtype-struct-for="AuthDomainBasic"> 1708 + <source-position filename="libsoup/server/soup-auth-domain-basic.h" 1709 + line="14"/> 1710 + <field name="parent_class"> 1711 + <type name="AuthDomainClass" c:type="SoupAuthDomainClass"/> 1712 + </field> 1713 + </record> 1714 + <record name="AuthDomainClass" 1715 + c:type="SoupAuthDomainClass" 1716 + glib:is-gtype-struct-for="AuthDomain"> 1717 + <source-position filename="libsoup/server/soup-auth-domain.h" line="29"/> 1718 + <field name="parent_class"> 1719 + <type name="GObject.ObjectClass" c:type="GObjectClass"/> 1720 + </field> 1721 + <field name="accepts"> 1722 + <callback name="accepts"> 1723 + <source-position filename="libsoup/server/soup-auth-domain.h" 1724 + line="19"/> 1725 + <return-value transfer-ownership="full"> 1726 + <type name="utf8" c:type="char*"/> 1727 + </return-value> 1728 + <parameters> 1729 + <parameter name="domain" transfer-ownership="none"> 1730 + <type name="AuthDomain" c:type="SoupAuthDomain*"/> 1731 + </parameter> 1732 + <parameter name="msg" transfer-ownership="none"> 1733 + <type name="ServerMessage" c:type="SoupServerMessage*"/> 1734 + </parameter> 1735 + <parameter name="header" transfer-ownership="none"> 1736 + <type name="utf8" c:type="const char*"/> 1737 + </parameter> 1738 + </parameters> 1739 + </callback> 1740 + </field> 1741 + <field name="challenge"> 1742 + <callback name="challenge"> 1743 + <source-position filename="libsoup/server/soup-auth-domain.h" 1744 + line="22"/> 1745 + <return-value transfer-ownership="full"> 1746 + <type name="utf8" c:type="char*"/> 1747 + </return-value> 1748 + <parameters> 1749 + <parameter name="domain" transfer-ownership="none"> 1750 + <doc xml:space="preserve" 1751 + filename="libsoup/server/soup-auth-domain.c" 1752 + line="558">a #SoupAuthDomain</doc> 1753 + <type name="AuthDomain" c:type="SoupAuthDomain*"/> 1754 + </parameter> 1755 + <parameter name="msg" transfer-ownership="none"> 1756 + <doc xml:space="preserve" 1757 + filename="libsoup/server/soup-auth-domain.c" 1758 + line="559">a #SoupServerMessage</doc> 1759 + <type name="ServerMessage" c:type="SoupServerMessage*"/> 1760 + </parameter> 1761 + </parameters> 1762 + </callback> 1763 + </field> 1764 + <field name="check_password"> 1765 + <callback name="check_password"> 1766 + <source-position filename="libsoup/server/soup-auth-domain.h" 1767 + line="24"/> 1768 + <return-value transfer-ownership="none"> 1769 + <doc xml:space="preserve" 1770 + filename="libsoup/server/soup-auth-domain.c" 1771 + line="475">whether or not the message is authenticated</doc> 1772 + <type name="gboolean" c:type="gboolean"/> 1773 + </return-value> 1774 + <parameters> 1775 + <parameter name="domain" transfer-ownership="none"> 1776 + <doc xml:space="preserve" 1777 + filename="libsoup/server/soup-auth-domain.c" 1778 + line="464">a #SoupAuthDomain</doc> 1779 + <type name="AuthDomain" c:type="SoupAuthDomain*"/> 1780 + </parameter> 1781 + <parameter name="msg" transfer-ownership="none"> 1782 + <doc xml:space="preserve" 1783 + filename="libsoup/server/soup-auth-domain.c" 1784 + line="465">a #SoupServerMessage</doc> 1785 + <type name="ServerMessage" c:type="SoupServerMessage*"/> 1786 + </parameter> 1787 + <parameter name="username" transfer-ownership="none"> 1788 + <doc xml:space="preserve" 1789 + filename="libsoup/server/soup-auth-domain.c" 1790 + line="466">a username</doc> 1791 + <type name="utf8" c:type="const char*"/> 1792 + </parameter> 1793 + <parameter name="password" transfer-ownership="none"> 1794 + <doc xml:space="preserve" 1795 + filename="libsoup/server/soup-auth-domain.c" 1796 + line="467">a password</doc> 1797 + <type name="utf8" c:type="const char*"/> 1798 + </parameter> 1799 + </parameters> 1800 + </callback> 1801 + </field> 1802 + <field name="padding"> 1803 + <array zero-terminated="0" fixed-size="6"> 1804 + <type name="gpointer" c:type="gpointer"/> 1805 + </array> 1806 + </field> 1807 + </record> 1808 + <class name="AuthDomainDigest" 1809 + c:symbol-prefix="auth_domain_digest" 1810 + c:type="SoupAuthDomainDigest" 1811 + parent="AuthDomain" 1812 + final="1" 1813 + glib:type-name="SoupAuthDomainDigest" 1814 + glib:get-type="soup_auth_domain_digest_get_type" 1815 + glib:type-struct="AuthDomainDigestClass"> 1816 + <doc xml:space="preserve" 1817 + filename="libsoup/server/soup-auth-domain-digest.c" 1818 + line="22">Server-side "Digest" authentication. 1819 + 1820 + #SoupAuthDomainDigest handles the server side of HTTP "Digest" 1821 + authentication.</doc> 1822 + <source-position filename="libsoup/server/soup-auth-domain-digest.h" 1823 + line="14"/> 1824 + <constructor name="new" 1825 + c:identifier="soup_auth_domain_digest_new" 1826 + introspectable="0"> 1827 + <doc xml:space="preserve" 1828 + filename="libsoup/server/soup-auth-domain-digest.c" 1829 + line="116">Creates a #SoupAuthDomainDigest. 1830 + 1831 + You must set the [property@AuthDomain:realm] property, to indicate the realm name to 1832 + be returned with the authentication challenge to the client. Other parameters 1833 + are optional.</doc> 1834 + <source-position filename="libsoup/server/soup-auth-domain-digest.h" 1835 + line="17"/> 1836 + <return-value transfer-ownership="full"> 1837 + <doc xml:space="preserve" 1838 + filename="libsoup/server/soup-auth-domain-digest.c" 1839 + line="127">the new #SoupAuthDomain</doc> 1840 + <type name="AuthDomain" c:type="SoupAuthDomain*"/> 1841 + </return-value> 1842 + <parameters> 1843 + <parameter name="optname1" transfer-ownership="none"> 1844 + <doc xml:space="preserve" 1845 + filename="libsoup/server/soup-auth-domain-digest.c" 1846 + line="118">name of first option, or %NULL</doc> 1847 + <type name="utf8" c:type="const char*"/> 1848 + </parameter> 1849 + <parameter name="..." transfer-ownership="none"> 1850 + <doc xml:space="preserve" 1851 + filename="libsoup/server/soup-auth-domain-digest.c" 1852 + line="119">option name/value pairs</doc> 1853 + <varargs/> 1854 + </parameter> 1855 + </parameters> 1856 + </constructor> 1857 + <function name="encode_password" 1858 + c:identifier="soup_auth_domain_digest_encode_password"> 1859 + <doc xml:space="preserve" 1860 + filename="libsoup/server/soup-auth-domain-digest.c" 1861 + line="350">Encodes the username/realm/password triplet for Digest 1862 + authentication. 1863 + 1864 + That is, it returns a stringified MD5 hash of 1865 + @username, @realm, and @password concatenated together. This is 1866 + the form that is needed as the return value of 1867 + #SoupAuthDomainDigest's auth handler. 1868 + 1869 + For security reasons, you should store the encoded hash, rather 1870 + than storing the cleartext password itself and calling this method 1871 + only when you need to verify it. This way, if your server is 1872 + compromised, the attackers will not gain access to cleartext 1873 + passwords which might also be usable at other sites. (Note also 1874 + that the encoded password returned by this method is identical to 1875 + the encoded password stored in an Apache .htdigest file.)</doc> 1876 + <source-position filename="libsoup/server/soup-auth-domain-digest.h" 1877 + line="32"/> 1878 + <return-value transfer-ownership="full"> 1879 + <doc xml:space="preserve" 1880 + filename="libsoup/server/soup-auth-domain-digest.c" 1881 + line="372">the encoded password</doc> 1882 + <type name="utf8" c:type="char*"/> 1883 + </return-value> 1884 + <parameters> 1885 + <parameter name="username" transfer-ownership="none"> 1886 + <doc xml:space="preserve" 1887 + filename="libsoup/server/soup-auth-domain-digest.c" 1888 + line="352">a username</doc> 1889 + <type name="utf8" c:type="const char*"/> 1890 + </parameter> 1891 + <parameter name="realm" transfer-ownership="none"> 1892 + <doc xml:space="preserve" 1893 + filename="libsoup/server/soup-auth-domain-digest.c" 1894 + line="353">an auth realm name</doc> 1895 + <type name="utf8" c:type="const char*"/> 1896 + </parameter> 1897 + <parameter name="password" transfer-ownership="none"> 1898 + <doc xml:space="preserve" 1899 + filename="libsoup/server/soup-auth-domain-digest.c" 1900 + line="354">the password for @username in @realm</doc> 1901 + <type name="utf8" c:type="const char*"/> 1902 + </parameter> 1903 + </parameters> 1904 + </function> 1905 + <method name="set_auth_callback" 1906 + c:identifier="soup_auth_domain_digest_set_auth_callback" 1907 + glib:set-property="auth-callback"> 1908 + <attribute name="org.gtk.Method.set_property" value="auth-callback"/> 1909 + <doc xml:space="preserve" 1910 + filename="libsoup/server/soup-auth-domain-digest.c" 1911 + line="163">Sets the callback that @domain will use to authenticate incoming 1912 + requests. 1913 + 1914 + For each request containing authorization, @domain will 1915 + invoke the callback, and then either accept or reject the request 1916 + based on @callback's return value. 1917 + 1918 + You can also set the auth callback by setting the 1919 + [property@AuthDomainDigest:auth-callback] and 1920 + [property@AuthDomainDigest:auth-data] properties, which can also be used to 1921 + set the callback at construct time.</doc> 1922 + <source-position filename="libsoup/server/soup-auth-domain-digest.h" 1923 + line="26"/> 1924 + <return-value transfer-ownership="none"> 1925 + <type name="none" c:type="void"/> 1926 + </return-value> 1927 + <parameters> 1928 + <instance-parameter name="domain" transfer-ownership="none"> 1929 + <doc xml:space="preserve" 1930 + filename="libsoup/server/soup-auth-domain-digest.c" 1931 + line="165">the domain</doc> 1932 + <type name="AuthDomainDigest" c:type="SoupAuthDomain*"/> 1933 + </instance-parameter> 1934 + <parameter name="callback" 1935 + transfer-ownership="none" 1936 + scope="notified" 1937 + closure="1" 1938 + destroy="2"> 1939 + <doc xml:space="preserve" 1940 + filename="libsoup/server/soup-auth-domain-digest.c" 1941 + line="166">the callback</doc> 1942 + <type name="AuthDomainDigestAuthCallback" 1943 + c:type="SoupAuthDomainDigestAuthCallback"/> 1944 + </parameter> 1945 + <parameter name="user_data" 1946 + transfer-ownership="none" 1947 + nullable="1" 1948 + allow-none="1"> 1949 + <doc xml:space="preserve" 1950 + filename="libsoup/server/soup-auth-domain-digest.c" 1951 + line="167">data to pass to @auth_callback</doc> 1952 + <type name="gpointer" c:type="gpointer"/> 1953 + </parameter> 1954 + <parameter name="dnotify" transfer-ownership="none" scope="async"> 1955 + <doc xml:space="preserve" 1956 + filename="libsoup/server/soup-auth-domain-digest.c" 1957 + line="168">destroy notifier to free @user_data when @domain 1958 + is destroyed</doc> 1959 + <type name="GLib.DestroyNotify" c:type="GDestroyNotify"/> 1960 + </parameter> 1961 + </parameters> 1962 + </method> 1963 + <property name="auth-callback" 1964 + writable="1" 1965 + transfer-ownership="none" 1966 + setter="set_auth_callback"> 1967 + <attribute name="org.gtk.Property.set" 1968 + value="soup_auth_domain_digest_set_auth_callback"/> 1969 + <doc xml:space="preserve" 1970 + filename="libsoup/server/soup-auth-domain-digest.c" 1971 + line="435">The [callback@AuthDomainDigestAuthCallback].</doc> 1972 + <type name="AuthDomainDigestAuthCallback" c:type="gpointer"/> 1973 + </property> 1974 + <property name="auth-data" writable="1" transfer-ownership="none"> 1975 + <doc xml:space="preserve" 1976 + filename="libsoup/server/soup-auth-domain-digest.c" 1977 + line="446">The data to pass to the [callback@AuthDomainDigestAuthCallback].</doc> 1978 + <type name="gpointer" c:type="gpointer"/> 1979 + </property> 1980 + </class> 1981 + <callback name="AuthDomainDigestAuthCallback" 1982 + c:type="SoupAuthDomainDigestAuthCallback"> 1983 + <doc xml:space="preserve" 1984 + filename="libsoup/server/soup-auth-domain-digest.c" 1985 + line="145">Callback used by #SoupAuthDomainDigest for authentication purposes. 1986 + 1987 + The application should look up @username in its password database, 1988 + and return the corresponding encoded password (see 1989 + [func@AuthDomainDigest.encode_password].</doc> 1990 + <source-position filename="libsoup/server/soup-auth-domain-digest.h" 1991 + line="20"/> 1992 + <return-value transfer-ownership="full" nullable="1"> 1993 + <doc xml:space="preserve" 1994 + filename="libsoup/server/soup-auth-domain-digest.c" 1995 + line="158">the encoded password, or %NULL if 1996 + @username is not a valid user. @domain will free the password when 1997 + it is done with it.</doc> 1998 + <type name="utf8" c:type="char*"/> 1999 + </return-value> 2000 + <parameters> 2001 + <parameter name="domain" transfer-ownership="none"> 2002 + <doc xml:space="preserve" 2003 + filename="libsoup/server/soup-auth-domain-digest.c" 2004 + line="147">the domain</doc> 2005 + <type name="AuthDomainDigest" c:type="SoupAuthDomain*"/> 2006 + </parameter> 2007 + <parameter name="msg" transfer-ownership="none"> 2008 + <doc xml:space="preserve" 2009 + filename="libsoup/server/soup-auth-domain-digest.c" 2010 + line="148">the message being authenticated</doc> 2011 + <type name="ServerMessage" c:type="SoupServerMessage*"/> 2012 + </parameter> 2013 + <parameter name="username" transfer-ownership="none"> 2014 + <doc xml:space="preserve" 2015 + filename="libsoup/server/soup-auth-domain-digest.c" 2016 + line="149">the username provided by the client</doc> 2017 + <type name="utf8" c:type="const char*"/> 2018 + </parameter> 2019 + <parameter name="user_data" 2020 + transfer-ownership="none" 2021 + nullable="1" 2022 + allow-none="1" 2023 + closure="3"> 2024 + <doc xml:space="preserve" 2025 + filename="libsoup/server/soup-auth-domain-digest.c" 2026 + line="150">the data passed to [method@AuthDomainDigest.set_auth_callback]</doc> 2027 + <type name="gpointer" c:type="gpointer"/> 2028 + </parameter> 2029 + </parameters> 2030 + </callback> 2031 + <record name="AuthDomainDigestClass" 2032 + c:type="SoupAuthDomainDigestClass" 2033 + glib:is-gtype-struct-for="AuthDomainDigest"> 2034 + <source-position filename="libsoup/server/soup-auth-domain-digest.h" 2035 + line="14"/> 2036 + <field name="parent_class"> 2037 + <type name="AuthDomainClass" c:type="SoupAuthDomainClass"/> 2038 + </field> 2039 + </record> 2040 + <callback name="AuthDomainFilter" c:type="SoupAuthDomainFilter"> 2041 + <doc xml:space="preserve" 2042 + filename="libsoup/server/soup-auth-domain.c" 2043 + line="305">The prototype for a #SoupAuthDomain filter. 2044 + 2045 + See [method@AuthDomain.set_filter] for details.</doc> 2046 + <source-position filename="libsoup/server/soup-auth-domain.h" line="31"/> 2047 + <return-value transfer-ownership="none"> 2048 + <doc xml:space="preserve" 2049 + filename="libsoup/server/soup-auth-domain.c" 2050 + line="315">%TRUE if @msg requires authentication, %FALSE if not.</doc> 2051 + <type name="gboolean" c:type="gboolean"/> 2052 + </return-value> 2053 + <parameters> 2054 + <parameter name="domain" transfer-ownership="none"> 2055 + <doc xml:space="preserve" 2056 + filename="libsoup/server/soup-auth-domain.c" 2057 + line="307">a #SoupAuthDomain</doc> 2058 + <type name="AuthDomain" c:type="SoupAuthDomain*"/> 2059 + </parameter> 2060 + <parameter name="msg" transfer-ownership="none"> 2061 + <doc xml:space="preserve" 2062 + filename="libsoup/server/soup-auth-domain.c" 2063 + line="308">a #SoupServerMessage</doc> 2064 + <type name="ServerMessage" c:type="SoupServerMessage*"/> 2065 + </parameter> 2066 + <parameter name="user_data" 2067 + transfer-ownership="none" 2068 + nullable="1" 2069 + allow-none="1" 2070 + closure="2"> 2071 + <doc xml:space="preserve" 2072 + filename="libsoup/server/soup-auth-domain.c" 2073 + line="309">the data passed to [method@AuthDomain.set_filter]</doc> 2074 + <type name="gpointer" c:type="gpointer"/> 2075 + </parameter> 2076 + </parameters> 2077 + </callback> 2078 + <callback name="AuthDomainGenericAuthCallback" 2079 + c:type="SoupAuthDomainGenericAuthCallback"> 2080 + <doc xml:space="preserve" 2081 + filename="libsoup/server/soup-auth-domain.c" 2082 + line="387">The prototype for a #SoupAuthDomain generic authentication callback. 2083 + 2084 + The callback should look up the user's password, call 2085 + [method@AuthDomain.check_password], and use the return value from that method 2086 + as its own return value. 2087 + 2088 + In general, for security reasons, it is preferable to use the 2089 + auth-domain-specific auth callbacks (eg, 2090 + [callback@AuthDomainBasicAuthCallback] and 2091 + [callback@AuthDomainDigestAuthCallback]), because they don't require 2092 + keeping a cleartext password database. Most users will use the same 2093 + password for many different sites, meaning if any site with a 2094 + cleartext password database is compromised, accounts on other 2095 + servers might be compromised as well. For many of the cases where 2096 + [class@Server] is used, this is not really relevant, but it may still 2097 + be worth considering.</doc> 2098 + <source-position filename="libsoup/server/soup-auth-domain.h" line="35"/> 2099 + <return-value transfer-ownership="none"> 2100 + <doc xml:space="preserve" 2101 + filename="libsoup/server/soup-auth-domain.c" 2102 + line="411">%TRUE if @msg is authenticated, %FALSE if not.</doc> 2103 + <type name="gboolean" c:type="gboolean"/> 2104 + </return-value> 2105 + <parameters> 2106 + <parameter name="domain" transfer-ownership="none"> 2107 + <doc xml:space="preserve" 2108 + filename="libsoup/server/soup-auth-domain.c" 2109 + line="389">a #SoupAuthDomain</doc> 2110 + <type name="AuthDomain" c:type="SoupAuthDomain*"/> 2111 + </parameter> 2112 + <parameter name="msg" transfer-ownership="none"> 2113 + <doc xml:space="preserve" 2114 + filename="libsoup/server/soup-auth-domain.c" 2115 + line="390">the #SoupServerMessage being authenticated</doc> 2116 + <type name="ServerMessage" c:type="SoupServerMessage*"/> 2117 + </parameter> 2118 + <parameter name="username" transfer-ownership="none"> 2119 + <doc xml:space="preserve" 2120 + filename="libsoup/server/soup-auth-domain.c" 2121 + line="391">the username from @msg</doc> 2122 + <type name="utf8" c:type="const char*"/> 2123 + </parameter> 2124 + <parameter name="user_data" 2125 + transfer-ownership="none" 2126 + nullable="1" 2127 + allow-none="1" 2128 + closure="3"> 2129 + <doc xml:space="preserve" 2130 + filename="libsoup/server/soup-auth-domain.c" 2131 + line="392">the data passed to [method@AuthDomain.set_generic_auth_callback]</doc> 2132 + <type name="gpointer" c:type="gpointer"/> 2133 + </parameter> 2134 + </parameters> 2135 + </callback> 2136 + <class name="AuthManager" 2137 + c:symbol-prefix="auth_manager" 2138 + c:type="SoupAuthManager" 2139 + parent="GObject.Object" 2140 + final="1" 2141 + glib:type-name="SoupAuthManager" 2142 + glib:get-type="soup_auth_manager_get_type" 2143 + glib:type-struct="AuthManagerClass"> 2144 + <doc xml:space="preserve" 2145 + filename="libsoup/auth/soup-auth-manager.c" 2146 + line="24">HTTP client-side authentication handler. 2147 + 2148 + #SoupAuthManager is the [iface@SessionFeature] that handles HTTP 2149 + authentication for a [class@Session]. 2150 + 2151 + A #SoupAuthManager is added to the session by default, and normally 2152 + you don't need to worry about it at all. However, if you want to 2153 + disable HTTP authentication, you can remove the feature from the 2154 + session with [method@Session.remove_feature_by_type] or disable it on 2155 + individual requests with [method@Message.disable_feature]. 2156 + 2157 + You can use this with [method@Session.remove_feature_by_type] or 2158 + [method@Message.disable_feature]. 2159 + 2160 + (Although this type has only been publicly visible since libsoup 2.42, it has 2161 + always existed in the background, and you can use `g_type_from_name 2162 + ("SoupAuthManager")` to get its [alias@GLib.Type] in earlier releases.)</doc> 2163 + <source-position filename="libsoup/auth/soup-auth-manager.h" line="15"/> 2164 + <implements name="SessionFeature"/> 2165 + <method name="clear_cached_credentials" 2166 + c:identifier="soup_auth_manager_clear_cached_credentials"> 2167 + <doc xml:space="preserve" 2168 + filename="libsoup/auth/soup-auth-manager.c" 2169 + line="836">Clear all credentials cached by @manager.</doc> 2170 + <source-position filename="libsoup/auth/soup-auth-manager.h" 2171 + line="23"/> 2172 + <return-value transfer-ownership="none"> 2173 + <type name="none" c:type="void"/> 2174 + </return-value> 2175 + <parameters> 2176 + <instance-parameter name="manager" transfer-ownership="none"> 2177 + <doc xml:space="preserve" 2178 + filename="libsoup/auth/soup-auth-manager.c" 2179 + line="838">a #SoupAuthManager</doc> 2180 + <type name="AuthManager" c:type="SoupAuthManager*"/> 2181 + </instance-parameter> 2182 + </parameters> 2183 + </method> 2184 + <method name="use_auth" c:identifier="soup_auth_manager_use_auth"> 2185 + <doc xml:space="preserve" 2186 + filename="libsoup/auth/soup-auth-manager.c" 2187 + line="806">Records that @auth is to be used under @uri, as though a 2188 + WWW-Authenticate header had been received at that URI. 2189 + 2190 + This can be used to "preload" @manager's auth cache, to avoid an extra HTTP 2191 + round trip in the case where you know ahead of time that a 401 response will 2192 + be returned. 2193 + 2194 + This is only useful for authentication types where the initial 2195 + Authorization header does not depend on any additional information 2196 + from the server. (Eg, Basic or NTLM, but not Digest.)</doc> 2197 + <source-position filename="libsoup/auth/soup-auth-manager.h" 2198 + line="18"/> 2199 + <return-value transfer-ownership="none"> 2200 + <type name="none" c:type="void"/> 2201 + </return-value> 2202 + <parameters> 2203 + <instance-parameter name="manager" transfer-ownership="none"> 2204 + <doc xml:space="preserve" 2205 + filename="libsoup/auth/soup-auth-manager.c" 2206 + line="808">a #SoupAuthManager</doc> 2207 + <type name="AuthManager" c:type="SoupAuthManager*"/> 2208 + </instance-parameter> 2209 + <parameter name="uri" transfer-ownership="none"> 2210 + <doc xml:space="preserve" 2211 + filename="libsoup/auth/soup-auth-manager.c" 2212 + line="809">the #GUri under which @auth is to be used</doc> 2213 + <type name="GLib.Uri" c:type="GUri*"/> 2214 + </parameter> 2215 + <parameter name="auth" transfer-ownership="none"> 2216 + <doc xml:space="preserve" 2217 + filename="libsoup/auth/soup-auth-manager.c" 2218 + line="810">the #SoupAuth to use</doc> 2219 + <type name="Auth" c:type="SoupAuth*"/> 2220 + </parameter> 2221 + </parameters> 2222 + </method> 2223 + </class> 2224 + <record name="AuthManagerClass" 2225 + c:type="SoupAuthManagerClass" 2226 + glib:is-gtype-struct-for="AuthManager"> 2227 + <source-position filename="libsoup/auth/soup-auth-manager.h" line="15"/> 2228 + <field name="parent_class"> 2229 + <type name="GObject.ObjectClass" c:type="GObjectClass"/> 2230 + </field> 2231 + </record> 2232 + <class name="AuthNTLM" 2233 + c:symbol-prefix="auth_ntlm" 2234 + parent="Auth" 2235 + final="1" 2236 + glib:type-name="SoupAuthNTLM" 2237 + glib:get-type="soup_auth_ntlm_get_type"> 2238 + <doc xml:space="preserve" 2239 + filename="libsoup/auth/soup-auth-ntlm.c" 2240 + line="101">HTTP-based NTLM authentication. 2241 + 2242 + [class@Session]s do not support this type by default; if you want to 2243 + enable support for it, call [method@Session.add_feature_by_type], 2244 + passing %SOUP_TYPE_AUTH_NTLM.</doc> 2245 + </class> 2246 + <class name="AuthNegotiate" 2247 + c:symbol-prefix="auth_negotiate" 2248 + parent="Auth" 2249 + final="1" 2250 + glib:type-name="SoupAuthNegotiate" 2251 + glib:get-type="soup_auth_negotiate_get_type"> 2252 + <doc xml:space="preserve" 2253 + filename="libsoup/auth/soup-auth-negotiate.c" 2254 + line="80">HTTP-based GSS-Negotiate authentication, as defined by 2255 + [RFC 4559](https://datatracker.ietf.org/doc/html/rfc4559). 2256 + 2257 + [class@Session]s do not support this type by default; if you want to 2258 + enable support for it, call [method@Session.add_feature_by_type], 2259 + passing %SOUP_TYPE_AUTH_NEGOTIATE. 2260 + 2261 + This auth type will only work if libsoup was compiled with GSSAPI 2262 + support; you can check [func@AuthNegotiate.supported] to see if it 2263 + was.</doc> 2264 + <function name="supported" c:identifier="soup_auth_negotiate_supported"> 2265 + <doc xml:space="preserve" 2266 + filename="libsoup/auth/soup-auth-negotiate.c" 2267 + line="27">Indicates whether libsoup was built with GSSAPI support. 2268 + 2269 + If this is %FALSE, %SOUP_TYPE_AUTH_NEGOTIATE will still be defined and can 2270 + still be added to a [class@Session], but libsoup will never attempt to 2271 + actually use this auth type.</doc> 2272 + <source-position filename="libsoup/auth/soup-auth.h" line="98"/> 2273 + <return-value transfer-ownership="none"> 2274 + <doc xml:space="preserve" 2275 + filename="libsoup/auth/soup-auth-negotiate.c" 2276 + line="36">%TRUE if supported otherwise %FALSE</doc> 2277 + <type name="gboolean" c:type="gboolean"/> 2278 + </return-value> 2279 + </function> 2280 + </class> 2281 + <function-macro name="CHECK_VERSION" 2282 + c:identifier="SOUP_CHECK_VERSION" 2283 + introspectable="0"> 2284 + <doc xml:space="preserve" 2285 + filename="libsoup/soup-version.c" 2286 + line="41">Macro to test the version of libsoup being compiled against. 2287 + 2288 + Returns %TRUE if the version of the libsoup header files 2289 + is the same as or newer than the passed-in version.</doc> 2290 + <source-position filename="libsoup/soup-version.h" line="18"/> 2291 + <parameters> 2292 + <parameter name="major"> 2293 + <doc xml:space="preserve" 2294 + filename="libsoup/soup-version.c" 2295 + line="43">major version (e.g. 2 for version 2.42.0)</doc> 2296 + </parameter> 2297 + <parameter name="minor"> 2298 + <doc xml:space="preserve" 2299 + filename="libsoup/soup-version.c" 2300 + line="44">minor version (e.g. 42 for version 2.42.0)</doc> 2301 + </parameter> 2302 + <parameter name="micro"> 2303 + <doc xml:space="preserve" 2304 + filename="libsoup/soup-version.c" 2305 + line="45">micro version (e.g. 0 for version 2.42.0)</doc> 2306 + </parameter> 2307 + </parameters> 2308 + </function-macro> 2309 + <constant name="COOKIE_MAX_AGE_ONE_DAY" 2310 + value="86400" 2311 + c:type="SOUP_COOKIE_MAX_AGE_ONE_DAY"> 2312 + <doc xml:space="preserve" 2313 + filename="libsoup/cookies/soup-cookie.c" 2314 + line="583">A constant corresponding to 1 day. 2315 + 2316 + For use with [ctor@Cookie.new] and [method@Cookie.set_max_age].</doc> 2317 + <source-position filename="libsoup/cookies/soup-cookie.h" line="33"/> 2318 + <type name="gint" c:type="gint"/> 2319 + </constant> 2320 + <constant name="COOKIE_MAX_AGE_ONE_HOUR" 2321 + value="3600" 2322 + c:type="SOUP_COOKIE_MAX_AGE_ONE_HOUR"> 2323 + <doc xml:space="preserve" 2324 + filename="libsoup/cookies/soup-cookie.c" 2325 + line="576">A constant corresponding to 1 hour. 2326 + 2327 + For use with [ctor@Cookie.new] and [method@Cookie.set_max_age].</doc> 2328 + <source-position filename="libsoup/cookies/soup-cookie.h" line="32"/> 2329 + <type name="gint" c:type="gint"/> 2330 + </constant> 2331 + <constant name="COOKIE_MAX_AGE_ONE_WEEK" 2332 + value="604800" 2333 + c:type="SOUP_COOKIE_MAX_AGE_ONE_WEEK"> 2334 + <doc xml:space="preserve" 2335 + filename="libsoup/cookies/soup-cookie.c" 2336 + line="590">A constant corresponding to 1 week. 2337 + 2338 + For use with [ctor@Cookie.new] and [method@Cookie.set_max_age].</doc> 2339 + <source-position filename="libsoup/cookies/soup-cookie.h" line="34"/> 2340 + <type name="gint" c:type="gint"/> 2341 + </constant> 2342 + <constant name="COOKIE_MAX_AGE_ONE_YEAR" 2343 + value="31556926.080000" 2344 + c:type="SOUP_COOKIE_MAX_AGE_ONE_YEAR"> 2345 + <doc xml:space="preserve" 2346 + filename="libsoup/cookies/soup-cookie.c" 2347 + line="597">A constant corresponding to 1 year. 2348 + 2349 + For use with [ctor@Cookie.new] and [method@Cookie.set_max_age].</doc> 2350 + <source-position filename="libsoup/cookies/soup-cookie.h" line="35"/> 2351 + <type name="gdouble" c:type="gdouble"/> 2352 + </constant> 2353 + <class name="Cache" 2354 + c:symbol-prefix="cache" 2355 + c:type="SoupCache" 2356 + parent="GObject.Object" 2357 + glib:type-name="SoupCache" 2358 + glib:get-type="soup_cache_get_type" 2359 + glib:type-struct="CacheClass"> 2360 + <doc xml:space="preserve" 2361 + filename="libsoup/cache/soup-cache.c" 2362 + line="49">File-based cache for HTTP resources.</doc> 2363 + <source-position filename="libsoup/cache/soup-cache.h" line="52"/> 2364 + <implements name="SessionFeature"/> 2365 + <constructor name="new" c:identifier="soup_cache_new"> 2366 + <doc xml:space="preserve" 2367 + filename="libsoup/cache/soup-cache.c" 2368 + line="1103">Creates a new #SoupCache.</doc> 2369 + <source-position filename="libsoup/cache/soup-cache.h" line="55"/> 2370 + <return-value transfer-ownership="full"> 2371 + <doc xml:space="preserve" 2372 + filename="libsoup/cache/soup-cache.c" 2373 + line="1113">a new #SoupCache</doc> 2374 + <type name="Cache" c:type="SoupCache*"/> 2375 + </return-value> 2376 + <parameters> 2377 + <parameter name="cache_dir" 2378 + transfer-ownership="none" 2379 + nullable="1" 2380 + allow-none="1"> 2381 + <doc xml:space="preserve" 2382 + filename="libsoup/cache/soup-cache.c" 2383 + line="1105">the directory to store the cached data, or %NULL 2384 + to use the default one. Note that since the cache isn't safe to access for 2385 + multiple processes at once, and the default directory isn't namespaced by 2386 + process, clients are strongly discouraged from passing %NULL.</doc> 2387 + <type name="utf8" c:type="const char*"/> 2388 + </parameter> 2389 + <parameter name="cache_type" transfer-ownership="none"> 2390 + <doc xml:space="preserve" 2391 + filename="libsoup/cache/soup-cache.c" 2392 + line="1109">the #SoupCacheType of the cache</doc> 2393 + <type name="CacheType" c:type="SoupCacheType"/> 2394 + </parameter> 2395 + </parameters> 2396 + </constructor> 2397 + <virtual-method name="get_cacheability"> 2398 + <source-position filename="libsoup/cache/soup-cache.h" line="49"/> 2399 + <return-value transfer-ownership="none"> 2400 + <type name="Cacheability" c:type="SoupCacheability"/> 2401 + </return-value> 2402 + <parameters> 2403 + <instance-parameter name="cache" transfer-ownership="none"> 2404 + <type name="Cache" c:type="SoupCache*"/> 2405 + </instance-parameter> 2406 + <parameter name="msg" transfer-ownership="none"> 2407 + <type name="Message" c:type="SoupMessage*"/> 2408 + </parameter> 2409 + </parameters> 2410 + </virtual-method> 2411 + <method name="clear" c:identifier="soup_cache_clear"> 2412 + <doc xml:space="preserve" 2413 + filename="libsoup/cache/soup-cache.c" 2414 + line="1403">Will remove all entries in the @cache plus all the cache files. 2415 + 2416 + This is not thread safe and must be called only from the thread that created the #SoupCache</doc> 2417 + <source-position filename="libsoup/cache/soup-cache.h" line="60"/> 2418 + <return-value transfer-ownership="none"> 2419 + <type name="none" c:type="void"/> 2420 + </return-value> 2421 + <parameters> 2422 + <instance-parameter name="cache" transfer-ownership="none"> 2423 + <doc xml:space="preserve" 2424 + filename="libsoup/cache/soup-cache.c" 2425 + line="1405">a #SoupCache</doc> 2426 + <type name="Cache" c:type="SoupCache*"/> 2427 + </instance-parameter> 2428 + </parameters> 2429 + </method> 2430 + <method name="dump" c:identifier="soup_cache_dump"> 2431 + <doc xml:space="preserve" 2432 + filename="libsoup/cache/soup-cache.c" 2433 + line="1559">Synchronously writes the cache index out to disk. 2434 + 2435 + Contrast with [method@Cache.flush], which writes pending cache *entries* to 2436 + disk. 2437 + 2438 + You must call this before exiting if you want your cache data to 2439 + persist between sessions. 2440 + 2441 + This is not thread safe and must be called only from the thread that created the #SoupCache</doc> 2442 + <source-position filename="libsoup/cache/soup-cache.h" line="63"/> 2443 + <return-value transfer-ownership="none"> 2444 + <type name="none" c:type="void"/> 2445 + </return-value> 2446 + <parameters> 2447 + <instance-parameter name="cache" transfer-ownership="none"> 2448 + <doc xml:space="preserve" 2449 + filename="libsoup/cache/soup-cache.c" 2450 + line="1561">a #SoupCache</doc> 2451 + <type name="Cache" c:type="SoupCache*"/> 2452 + </instance-parameter> 2453 + </parameters> 2454 + </method> 2455 + <method name="flush" c:identifier="soup_cache_flush"> 2456 + <doc xml:space="preserve" 2457 + filename="libsoup/cache/soup-cache.c" 2458 + line="1319">Forces all pending writes in the @cache to be 2459 + committed to disk. 2460 + 2461 + For doing so it will iterate the [struct@GLib.MainContext] associated with 2462 + @cache's session as long as needed. 2463 + 2464 + Contrast with [method@Cache.dump], which writes out the cache index file.</doc> 2465 + <source-position filename="libsoup/cache/soup-cache.h" line="58"/> 2466 + <return-value transfer-ownership="none"> 2467 + <type name="none" c:type="void"/> 2468 + </return-value> 2469 + <parameters> 2470 + <instance-parameter name="cache" transfer-ownership="none"> 2471 + <doc xml:space="preserve" 2472 + filename="libsoup/cache/soup-cache.c" 2473 + line="1321">a #SoupCache</doc> 2474 + <type name="Cache" c:type="SoupCache*"/> 2475 + </instance-parameter> 2476 + </parameters> 2477 + </method> 2478 + <method name="get_max_size" c:identifier="soup_cache_get_max_size"> 2479 + <doc xml:space="preserve" 2480 + filename="libsoup/cache/soup-cache.c" 2481 + line="1743">Gets the maximum size of the cache.</doc> 2482 + <source-position filename="libsoup/cache/soup-cache.h" line="71"/> 2483 + <return-value transfer-ownership="none"> 2484 + <doc xml:space="preserve" 2485 + filename="libsoup/cache/soup-cache.c" 2486 + line="1749">the maximum size of the cache, in bytes.</doc> 2487 + <type name="guint" c:type="guint"/> 2488 + </return-value> 2489 + <parameters> 2490 + <instance-parameter name="cache" transfer-ownership="none"> 2491 + <doc xml:space="preserve" 2492 + filename="libsoup/cache/soup-cache.c" 2493 + line="1745">a #SoupCache</doc> 2494 + <type name="Cache" c:type="SoupCache*"/> 2495 + </instance-parameter> 2496 + </parameters> 2497 + </method> 2498 + <method name="load" c:identifier="soup_cache_load"> 2499 + <doc xml:space="preserve" 2500 + filename="libsoup/cache/soup-cache.c" 2501 + line="1628">Loads the contents of @cache's index into memory. 2502 + 2503 + This is not thread safe and must be called only from the thread that created the #SoupCache</doc> 2504 + <source-position filename="libsoup/cache/soup-cache.h" line="65"/> 2505 + <return-value transfer-ownership="none"> 2506 + <type name="none" c:type="void"/> 2507 + </return-value> 2508 + <parameters> 2509 + <instance-parameter name="cache" transfer-ownership="none"> 2510 + <doc xml:space="preserve" 2511 + filename="libsoup/cache/soup-cache.c" 2512 + line="1630">a #SoupCache</doc> 2513 + <type name="Cache" c:type="SoupCache*"/> 2514 + </instance-parameter> 2515 + </parameters> 2516 + </method> 2517 + <method name="set_max_size" c:identifier="soup_cache_set_max_size"> 2518 + <doc xml:space="preserve" 2519 + filename="libsoup/cache/soup-cache.c" 2520 + line="1727">Sets the maximum size of the cache.</doc> 2521 + <source-position filename="libsoup/cache/soup-cache.h" line="68"/> 2522 + <return-value transfer-ownership="none"> 2523 + <type name="none" c:type="void"/> 2524 + </return-value> 2525 + <parameters> 2526 + <instance-parameter name="cache" transfer-ownership="none"> 2527 + <doc xml:space="preserve" 2528 + filename="libsoup/cache/soup-cache.c" 2529 + line="1729">a #SoupCache</doc> 2530 + <type name="Cache" c:type="SoupCache*"/> 2531 + </instance-parameter> 2532 + <parameter name="max_size" transfer-ownership="none"> 2533 + <doc xml:space="preserve" 2534 + filename="libsoup/cache/soup-cache.c" 2535 + line="1730">the maximum size of the cache, in bytes</doc> 2536 + <type name="guint" c:type="guint"/> 2537 + </parameter> 2538 + </parameters> 2539 + </method> 2540 + <property name="cache-dir" 2541 + writable="1" 2542 + construct-only="1" 2543 + transfer-ownership="none" 2544 + default-value="NULL"> 2545 + <doc xml:space="preserve" 2546 + filename="libsoup/cache/soup-cache.c" 2547 + line="1065">The directory to store the cache files.</doc> 2548 + <type name="utf8" c:type="gchar*"/> 2549 + </property> 2550 + <property name="cache-type" 2551 + writable="1" 2552 + construct-only="1" 2553 + transfer-ownership="none" 2554 + default-value="SOUP_CACHE_SINGLE_USER"> 2555 + <doc xml:space="preserve" 2556 + filename="libsoup/cache/soup-cache.c" 2557 + line="1077">Whether the cache is private or shared.</doc> 2558 + <type name="CacheType"/> 2559 + </property> 2560 + <field name="parent_instance"> 2561 + <type name="GObject.Object" c:type="GObject"/> 2562 + </field> 2563 + </class> 2564 + <record name="CacheClass" 2565 + c:type="SoupCacheClass" 2566 + glib:is-gtype-struct-for="Cache"> 2567 + <source-position filename="libsoup/cache/soup-cache.h" line="52"/> 2568 + <field name="parent_class"> 2569 + <type name="GObject.ObjectClass" c:type="GObjectClass"/> 2570 + </field> 2571 + <field name="get_cacheability"> 2572 + <callback name="get_cacheability"> 2573 + <source-position filename="libsoup/cache/soup-cache.h" line="49"/> 2574 + <return-value transfer-ownership="none"> 2575 + <type name="Cacheability" c:type="SoupCacheability"/> 2576 + </return-value> 2577 + <parameters> 2578 + <parameter name="cache" transfer-ownership="none"> 2579 + <type name="Cache" c:type="SoupCache*"/> 2580 + </parameter> 2581 + <parameter name="msg" transfer-ownership="none"> 2582 + <type name="Message" c:type="SoupMessage*"/> 2583 + </parameter> 2584 + </parameters> 2585 + </callback> 2586 + </field> 2587 + <field name="padding"> 2588 + <array zero-terminated="0" fixed-size="4"> 2589 + <type name="gpointer" c:type="gpointer"/> 2590 + </array> 2591 + </field> 2592 + </record> 2593 + <enumeration name="CacheType" 2594 + glib:type-name="SoupCacheType" 2595 + glib:get-type="soup_cache_type_get_type" 2596 + c:type="SoupCacheType"> 2597 + <doc xml:space="preserve" 2598 + filename="libsoup/cache/soup-cache.c" 2599 + line="1093">The type of cache; this affects what kinds of responses will be 2600 + saved.</doc> 2601 + <member name="single_user" 2602 + value="0" 2603 + c:identifier="SOUP_CACHE_SINGLE_USER" 2604 + glib:nick="single-user" 2605 + glib:name="SOUP_CACHE_SINGLE_USER"> 2606 + <doc xml:space="preserve" 2607 + filename="libsoup/cache/soup-cache.c" 2608 + line="1095">a single-user cache</doc> 2609 + </member> 2610 + <member name="shared" 2611 + value="1" 2612 + c:identifier="SOUP_CACHE_SHARED" 2613 + glib:nick="shared" 2614 + glib:name="SOUP_CACHE_SHARED"> 2615 + <doc xml:space="preserve" 2616 + filename="libsoup/cache/soup-cache.c" 2617 + line="1096">a shared cache</doc> 2618 + </member> 2619 + </enumeration> 2620 + <bitfield name="Cacheability" 2621 + glib:type-name="SoupCacheability" 2622 + glib:get-type="soup_cacheability_get_type" 2623 + c:type="SoupCacheability"> 2624 + <doc xml:space="preserve" 2625 + filename="libsoup/cache/soup-cache.c" 2626 + line="55">Indicates if a message should or shouldn't be cached.</doc> 2627 + <member name="cacheable" 2628 + value="1" 2629 + c:identifier="SOUP_CACHE_CACHEABLE" 2630 + glib:nick="cacheable" 2631 + glib:name="SOUP_CACHE_CACHEABLE"> 2632 + <doc xml:space="preserve" 2633 + filename="libsoup/cache/soup-cache.c" 2634 + line="57">The message should be cached</doc> 2635 + </member> 2636 + <member name="uncacheable" 2637 + value="2" 2638 + c:identifier="SOUP_CACHE_UNCACHEABLE" 2639 + glib:nick="uncacheable" 2640 + glib:name="SOUP_CACHE_UNCACHEABLE"> 2641 + <doc xml:space="preserve" 2642 + filename="libsoup/cache/soup-cache.c" 2643 + line="58">The message shouldn't be cached</doc> 2644 + </member> 2645 + <member name="invalidates" 2646 + value="4" 2647 + c:identifier="SOUP_CACHE_INVALIDATES" 2648 + glib:nick="invalidates" 2649 + glib:name="SOUP_CACHE_INVALIDATES"> 2650 + <doc xml:space="preserve" 2651 + filename="libsoup/cache/soup-cache.c" 2652 + line="59">The messages cache should be invalidated</doc> 2653 + </member> 2654 + <member name="validates" 2655 + value="8" 2656 + c:identifier="SOUP_CACHE_VALIDATES" 2657 + glib:nick="validates" 2658 + glib:name="SOUP_CACHE_VALIDATES"> 2659 + <doc xml:space="preserve" 2660 + filename="libsoup/cache/soup-cache.c" 2661 + line="60">The messages cache should be updated</doc> 2662 + </member> 2663 + </bitfield> 2664 + <class name="ContentDecoder" 2665 + c:symbol-prefix="content_decoder" 2666 + c:type="SoupContentDecoder" 2667 + parent="GObject.Object" 2668 + final="1" 2669 + glib:type-name="SoupContentDecoder" 2670 + glib:get-type="soup_content_decoder_get_type" 2671 + glib:type-struct="ContentDecoderClass"> 2672 + <doc xml:space="preserve" 2673 + filename="libsoup/content-decoder/soup-content-decoder.c" 2674 + line="23">Handles decoding of HTTP messages. 2675 + 2676 + #SoupContentDecoder handles adding the "Accept-Encoding" header on 2677 + outgoing messages, and processing the "Content-Encoding" header on 2678 + incoming ones. Currently it supports the "gzip", "deflate", and "br" 2679 + content codings. 2680 + 2681 + A #SoupContentDecoder will automatically be 2682 + added to the session by default. (You can use 2683 + [method@Session.remove_feature_by_type] if you don't 2684 + want this.) 2685 + 2686 + If #SoupContentDecoder successfully decodes the Content-Encoding, 2687 + the message body will contain the decoded data; however, the message headers 2688 + will be unchanged (and so "Content-Encoding" will still be present, 2689 + "Content-Length" will describe the original encoded length, etc). 2690 + 2691 + If "Content-Encoding" contains any encoding types that 2692 + #SoupContentDecoder doesn't recognize, then none of the encodings 2693 + will be decoded. 2694 + 2695 + (Note that currently there is no way to (automatically) use 2696 + Content-Encoding when sending a request body, or to pick specific 2697 + encoding types to support.)</doc> 2698 + <source-position filename="libsoup/content-decoder/soup-content-decoder.h" 2699 + line="15"/> 2700 + <implements name="SessionFeature"/> 2701 + </class> 2702 + <record name="ContentDecoderClass" 2703 + c:type="SoupContentDecoderClass" 2704 + glib:is-gtype-struct-for="ContentDecoder"> 2705 + <source-position filename="libsoup/content-decoder/soup-content-decoder.h" 2706 + line="15"/> 2707 + <field name="parent_class"> 2708 + <type name="GObject.ObjectClass" c:type="GObjectClass"/> 2709 + </field> 2710 + </record> 2711 + <class name="ContentSniffer" 2712 + c:symbol-prefix="content_sniffer" 2713 + c:type="SoupContentSniffer" 2714 + parent="GObject.Object" 2715 + final="1" 2716 + glib:type-name="SoupContentSniffer" 2717 + glib:get-type="soup_content_sniffer_get_type" 2718 + glib:type-struct="ContentSnifferClass"> 2719 + <doc xml:space="preserve" 2720 + filename="libsoup/content-sniffer/soup-content-sniffer.c" 2721 + line="26">Sniffs the mime type of messages. 2722 + 2723 + A #SoupContentSniffer tries to detect the actual content type of 2724 + the files that are being downloaded by looking at some of the data 2725 + before the [class@Message] emits its [signal@Message::got-headers] signal. 2726 + #SoupContentSniffer implements [iface@SessionFeature], so you can add 2727 + content sniffing to a session with [method@Session.add_feature] or 2728 + [method@Session.add_feature_by_type].</doc> 2729 + <source-position filename="libsoup/content-sniffer/soup-content-sniffer.h" 2730 + line="15"/> 2731 + <implements name="SessionFeature"/> 2732 + <constructor name="new" c:identifier="soup_content_sniffer_new"> 2733 + <doc xml:space="preserve" 2734 + filename="libsoup/content-sniffer/soup-content-sniffer.c" 2735 + line="906">Creates a new #SoupContentSniffer.</doc> 2736 + <source-position filename="libsoup/content-sniffer/soup-content-sniffer.h" 2737 + line="18"/> 2738 + <return-value transfer-ownership="full"> 2739 + <doc xml:space="preserve" 2740 + filename="libsoup/content-sniffer/soup-content-sniffer.c" 2741 + line="911">a new #SoupContentSniffer</doc> 2742 + <type name="ContentSniffer" c:type="SoupContentSniffer*"/> 2743 + </return-value> 2744 + </constructor> 2745 + <method name="sniff" c:identifier="soup_content_sniffer_sniff"> 2746 + <doc xml:space="preserve" 2747 + filename="libsoup/content-sniffer/soup-content-sniffer.c" 2748 + line="790">Sniffs @buffer to determine its Content-Type. 2749 + 2750 + The result may also be influenced by the Content-Type declared in @msg's 2751 + response headers.</doc> 2752 + <source-position filename="libsoup/content-sniffer/soup-content-sniffer.h" 2753 + line="21"/> 2754 + <return-value transfer-ownership="full"> 2755 + <doc xml:space="preserve" 2756 + filename="libsoup/content-sniffer/soup-content-sniffer.c" 2757 + line="803">the sniffed Content-Type of @buffer; this will never be %NULL, 2758 + but may be `application/octet-stream`.</doc> 2759 + <type name="utf8" c:type="char*"/> 2760 + </return-value> 2761 + <parameters> 2762 + <instance-parameter name="sniffer" transfer-ownership="none"> 2763 + <doc xml:space="preserve" 2764 + filename="libsoup/content-sniffer/soup-content-sniffer.c" 2765 + line="792">a #SoupContentSniffer</doc> 2766 + <type name="ContentSniffer" c:type="SoupContentSniffer*"/> 2767 + </instance-parameter> 2768 + <parameter name="msg" transfer-ownership="none"> 2769 + <doc xml:space="preserve" 2770 + filename="libsoup/content-sniffer/soup-content-sniffer.c" 2771 + line="793">the message to sniff</doc> 2772 + <type name="Message" c:type="SoupMessage*"/> 2773 + </parameter> 2774 + <parameter name="buffer" transfer-ownership="none"> 2775 + <doc xml:space="preserve" 2776 + filename="libsoup/content-sniffer/soup-content-sniffer.c" 2777 + line="794">a buffer containing the start of @msg's response body</doc> 2778 + <type name="GLib.Bytes" c:type="GBytes*"/> 2779 + </parameter> 2780 + <parameter name="params" 2781 + direction="out" 2782 + caller-allocates="0" 2783 + transfer-ownership="full" 2784 + nullable="1"> 2785 + <doc xml:space="preserve" 2786 + filename="libsoup/content-sniffer/soup-content-sniffer.c" 2787 + line="795">return 2788 + location for Content-Type parameters (eg, "charset"), or %NULL</doc> 2789 + <type name="GLib.HashTable" c:type="GHashTable**"> 2790 + <type name="utf8"/> 2791 + <type name="utf8"/> 2792 + </type> 2793 + </parameter> 2794 + </parameters> 2795 + </method> 2796 + </class> 2797 + <record name="ContentSnifferClass" 2798 + c:type="SoupContentSnifferClass" 2799 + glib:is-gtype-struct-for="ContentSniffer"> 2800 + <source-position filename="libsoup/content-sniffer/soup-content-sniffer.h" 2801 + line="15"/> 2802 + <field name="parent_class"> 2803 + <type name="GObject.ObjectClass" c:type="GObjectClass"/> 2804 + </field> 2805 + </record> 2806 + <record name="Cookie" 2807 + c:type="SoupCookie" 2808 + opaque="1" 2809 + glib:type-name="SoupCookie" 2810 + glib:get-type="soup_cookie_get_type" 2811 + c:symbol-prefix="cookie"> 2812 + <doc xml:space="preserve" 2813 + filename="libsoup/cookies/soup-cookie.c" 2814 + line="22">Implements HTTP cookies, as described by 2815 + [RFC 6265](http://tools.ietf.org/html/rfc6265.txt). 2816 + 2817 + To have a [class@Session] handle cookies for your appliction 2818 + automatically, use a [class@CookieJar]. 2819 + 2820 + @name and @value will be set for all cookies. If the cookie is 2821 + generated from a string that appears to have no name, then @name 2822 + will be the empty string. 2823 + 2824 + @domain and @path give the host or domain, and path within that 2825 + host/domain, to restrict this cookie to. If @domain starts with 2826 + ".", that indicates a domain (which matches the string after the 2827 + ".", or any hostname that has @domain as a suffix). Otherwise, it 2828 + is a hostname and must match exactly. 2829 + 2830 + @expires will be non-%NULL if the cookie uses either the original 2831 + "expires" attribute, or the newer "max-age" attribute. If @expires 2832 + is %NULL, it indicates that neither "expires" nor "max-age" was 2833 + specified, and the cookie expires at the end of the session. 2834 + 2835 + If @http_only is set, the cookie should not be exposed to untrusted 2836 + code (eg, javascript), so as to minimize the danger posed by 2837 + cross-site scripting attacks.</doc> 2838 + <source-position filename="libsoup/soup-types.h" line="20"/> 2839 + <constructor name="new" c:identifier="soup_cookie_new"> 2840 + <doc xml:space="preserve" 2841 + filename="libsoup/cookies/soup-cookie.c" 2842 + line="343">Creates a new #SoupCookie with the given attributes. 2843 + 2844 + Use [method@Cookie.set_secure] and [method@Cookie.set_http_only] if you 2845 + need to set those attributes on the returned cookie. 2846 + 2847 + If @domain starts with ".", that indicates a domain (which matches 2848 + the string after the ".", or any hostname that has @domain as a 2849 + suffix). Otherwise, it is a hostname and must match exactly. 2850 + 2851 + @max_age is used to set the "expires" attribute on the cookie; pass 2852 + -1 to not include the attribute (indicating that the cookie expires 2853 + with the current session), 0 for an already-expired cookie, or a 2854 + lifetime in seconds. You can use the constants 2855 + %SOUP_COOKIE_MAX_AGE_ONE_HOUR, %SOUP_COOKIE_MAX_AGE_ONE_DAY, 2856 + %SOUP_COOKIE_MAX_AGE_ONE_WEEK and %SOUP_COOKIE_MAX_AGE_ONE_YEAR (or 2857 + multiples thereof) to calculate this value. (If you really care 2858 + about setting the exact time that the cookie will expire, use 2859 + [method@Cookie.set_expires].) 2860 + 2861 + As of version 3.4.0 the default value of a cookie's same-site-policy 2862 + is %SOUP_SAME_SITE_POLICY_LAX.</doc> 2863 + <source-position filename="libsoup/cookies/soup-cookie.h" line="38"/> 2864 + <return-value transfer-ownership="full"> 2865 + <doc xml:space="preserve" 2866 + filename="libsoup/cookies/soup-cookie.c" 2867 + line="373">a new #SoupCookie.</doc> 2868 + <type name="Cookie" c:type="SoupCookie*"/> 2869 + </return-value> 2870 + <parameters> 2871 + <parameter name="name" transfer-ownership="none"> 2872 + <doc xml:space="preserve" 2873 + filename="libsoup/cookies/soup-cookie.c" 2874 + line="345">cookie name</doc> 2875 + <type name="utf8" c:type="const char*"/> 2876 + </parameter> 2877 + <parameter name="value" transfer-ownership="none"> 2878 + <doc xml:space="preserve" 2879 + filename="libsoup/cookies/soup-cookie.c" 2880 + line="346">cookie value</doc> 2881 + <type name="utf8" c:type="const char*"/> 2882 + </parameter> 2883 + <parameter name="domain" transfer-ownership="none"> 2884 + <doc xml:space="preserve" 2885 + filename="libsoup/cookies/soup-cookie.c" 2886 + line="347">cookie domain or hostname</doc> 2887 + <type name="utf8" c:type="const char*"/> 2888 + </parameter> 2889 + <parameter name="path" transfer-ownership="none"> 2890 + <doc xml:space="preserve" 2891 + filename="libsoup/cookies/soup-cookie.c" 2892 + line="348">cookie path, or %NULL</doc> 2893 + <type name="utf8" c:type="const char*"/> 2894 + </parameter> 2895 + <parameter name="max_age" transfer-ownership="none"> 2896 + <doc xml:space="preserve" 2897 + filename="libsoup/cookies/soup-cookie.c" 2898 + line="349">max age of the cookie, or -1 for a session cookie</doc> 2899 + <type name="gint" c:type="int"/> 2900 + </parameter> 2901 + </parameters> 2902 + </constructor> 2903 + <method name="applies_to_uri" c:identifier="soup_cookie_applies_to_uri"> 2904 + <doc xml:space="preserve" 2905 + filename="libsoup/cookies/soup-cookie.c" 2906 + line="1030">Tests if @cookie should be sent to @uri. 2907 + 2908 + (At the moment, this does not check that @cookie's domain matches 2909 + @uri, because it assumes that the caller has already done that. 2910 + But don't rely on that; it may change in the future.)</doc> 2911 + <source-position filename="libsoup/cookies/soup-cookie.h" line="100"/> 2912 + <return-value transfer-ownership="none"> 2913 + <doc xml:space="preserve" 2914 + filename="libsoup/cookies/soup-cookie.c" 2915 + line="1041">%TRUE if @cookie should be sent to @uri, %FALSE if not</doc> 2916 + <type name="gboolean" c:type="gboolean"/> 2917 + </return-value> 2918 + <parameters> 2919 + <instance-parameter name="cookie" transfer-ownership="none"> 2920 + <doc xml:space="preserve" 2921 + filename="libsoup/cookies/soup-cookie.c" 2922 + line="1032">a #SoupCookie</doc> 2923 + <type name="Cookie" c:type="SoupCookie*"/> 2924 + </instance-parameter> 2925 + <parameter name="uri" transfer-ownership="none"> 2926 + <doc xml:space="preserve" 2927 + filename="libsoup/cookies/soup-cookie.c" 2928 + line="1033">a #GUri</doc> 2929 + <type name="GLib.Uri" c:type="GUri*"/> 2930 + </parameter> 2931 + </parameters> 2932 + </method> 2933 + <method name="copy" c:identifier="soup_cookie_copy"> 2934 + <doc xml:space="preserve" 2935 + filename="libsoup/cookies/soup-cookie.c" 2936 + line="64">Copies @cookie.</doc> 2937 + <source-position filename="libsoup/cookies/soup-cookie.h" line="47"/> 2938 + <return-value transfer-ownership="full"> 2939 + <doc xml:space="preserve" 2940 + filename="libsoup/cookies/soup-cookie.c" 2941 + line="70">a copy of @cookie</doc> 2942 + <type name="Cookie" c:type="SoupCookie*"/> 2943 + </return-value> 2944 + <parameters> 2945 + <instance-parameter name="cookie" transfer-ownership="none"> 2946 + <doc xml:space="preserve" 2947 + filename="libsoup/cookies/soup-cookie.c" 2948 + line="66">a #SoupCookie</doc> 2949 + <type name="Cookie" c:type="SoupCookie*"/> 2950 + </instance-parameter> 2951 + </parameters> 2952 + </method> 2953 + <method name="domain_matches" c:identifier="soup_cookie_domain_matches"> 2954 + <doc xml:space="preserve" 2955 + filename="libsoup/cookies/soup-cookie.c" 2956 + line="90">Checks if the @cookie's domain and @host match. 2957 + 2958 + The domains match if @cookie should be sent when making a request to @host, 2959 + or that @cookie should be accepted when receiving a response from @host.</doc> 2960 + <source-position filename="libsoup/cookies/soup-cookie.h" line="128"/> 2961 + <return-value transfer-ownership="none"> 2962 + <doc xml:space="preserve" 2963 + filename="libsoup/cookies/soup-cookie.c" 2964 + line="100">%TRUE if the domains match, %FALSE otherwise</doc> 2965 + <type name="gboolean" c:type="gboolean"/> 2966 + </return-value> 2967 + <parameters> 2968 + <instance-parameter name="cookie" transfer-ownership="none"> 2969 + <doc xml:space="preserve" 2970 + filename="libsoup/cookies/soup-cookie.c" 2971 + line="92">a #SoupCookie</doc> 2972 + <type name="Cookie" c:type="SoupCookie*"/> 2973 + </instance-parameter> 2974 + <parameter name="host" transfer-ownership="none"> 2975 + <doc xml:space="preserve" 2976 + filename="libsoup/cookies/soup-cookie.c" 2977 + line="93">a URI</doc> 2978 + <type name="utf8" c:type="const char*"/> 2979 + </parameter> 2980 + </parameters> 2981 + </method> 2982 + <method name="equal" c:identifier="soup_cookie_equal"> 2983 + <doc xml:space="preserve" 2984 + filename="libsoup/cookies/soup-cookie.c" 2985 + line="1074">Tests if @cookie1 and @cookie2 are equal. 2986 + 2987 + Note that currently, this does not check that the cookie domains 2988 + match. This may change in the future.</doc> 2989 + <source-position filename="libsoup/cookies/soup-cookie.h" line="103"/> 2990 + <return-value transfer-ownership="none"> 2991 + <doc xml:space="preserve" 2992 + filename="libsoup/cookies/soup-cookie.c" 2993 + line="1084">whether the cookies are equal.</doc> 2994 + <type name="gboolean" c:type="gboolean"/> 2995 + </return-value> 2996 + <parameters> 2997 + <instance-parameter name="cookie1" transfer-ownership="none"> 2998 + <doc xml:space="preserve" 2999 + filename="libsoup/cookies/soup-cookie.c" 3000 + line="1076">a #SoupCookie</doc> 3001 + <type name="Cookie" c:type="SoupCookie*"/> 3002 + </instance-parameter> 3003 + <parameter name="cookie2" transfer-ownership="none"> 3004 + <doc xml:space="preserve" 3005 + filename="libsoup/cookies/soup-cookie.c" 3006 + line="1077">a #SoupCookie</doc> 3007 + <type name="Cookie" c:type="SoupCookie*"/> 3008 + </parameter> 3009 + </parameters> 3010 + </method> 3011 + <method name="free" c:identifier="soup_cookie_free"> 3012 + <doc xml:space="preserve" 3013 + filename="libsoup/cookies/soup-cookie.c" 3014 + line="834">Frees @cookie.</doc> 3015 + <source-position filename="libsoup/cookies/soup-cookie.h" line="107"/> 3016 + <return-value transfer-ownership="none"> 3017 + <type name="none" c:type="void"/> 3018 + </return-value> 3019 + <parameters> 3020 + <instance-parameter name="cookie" transfer-ownership="none"> 3021 + <doc xml:space="preserve" 3022 + filename="libsoup/cookies/soup-cookie.c" 3023 + line="836">a #SoupCookie</doc> 3024 + <type name="Cookie" c:type="SoupCookie*"/> 3025 + </instance-parameter> 3026 + </parameters> 3027 + </method> 3028 + <method name="get_domain" c:identifier="soup_cookie_get_domain"> 3029 + <doc xml:space="preserve" 3030 + filename="libsoup/cookies/soup-cookie.c" 3031 + line="483">Gets @cookie's domain.</doc> 3032 + <source-position filename="libsoup/cookies/soup-cookie.h" line="60"/> 3033 + <return-value transfer-ownership="none"> 3034 + <doc xml:space="preserve" 3035 + filename="libsoup/cookies/soup-cookie.c" 3036 + line="489">@cookie's domain</doc> 3037 + <type name="utf8" c:type="const char*"/> 3038 + </return-value> 3039 + <parameters> 3040 + <instance-parameter name="cookie" transfer-ownership="none"> 3041 + <doc xml:space="preserve" 3042 + filename="libsoup/cookies/soup-cookie.c" 3043 + line="485">a #SoupCookie</doc> 3044 + <type name="Cookie" c:type="SoupCookie*"/> 3045 + </instance-parameter> 3046 + </parameters> 3047 + </method> 3048 + <method name="get_expires" c:identifier="soup_cookie_get_expires"> 3049 + <doc xml:space="preserve" 3050 + filename="libsoup/cookies/soup-cookie.c" 3051 + line="605">Gets @cookie's expiration time.</doc> 3052 + <source-position filename="libsoup/cookies/soup-cookie.h" line="73"/> 3053 + <return-value transfer-ownership="none" nullable="1"> 3054 + <doc xml:space="preserve" 3055 + filename="libsoup/cookies/soup-cookie.c" 3056 + line="611">@cookie's expiration time, which is 3057 + owned by @cookie and should not be modified or freed.</doc> 3058 + <type name="GLib.DateTime" c:type="GDateTime*"/> 3059 + </return-value> 3060 + <parameters> 3061 + <instance-parameter name="cookie" transfer-ownership="none"> 3062 + <doc xml:space="preserve" 3063 + filename="libsoup/cookies/soup-cookie.c" 3064 + line="607">a #GDateTime</doc> 3065 + <type name="Cookie" c:type="SoupCookie*"/> 3066 + </instance-parameter> 3067 + </parameters> 3068 + </method> 3069 + <method name="get_http_only" c:identifier="soup_cookie_get_http_only"> 3070 + <doc xml:space="preserve" 3071 + filename="libsoup/cookies/soup-cookie.c" 3072 + line="674">Gets @cookie's HttpOnly attribute.</doc> 3073 + <source-position filename="libsoup/cookies/soup-cookie.h" line="83"/> 3074 + <return-value transfer-ownership="none"> 3075 + <doc xml:space="preserve" 3076 + filename="libsoup/cookies/soup-cookie.c" 3077 + line="680">@cookie's HttpOnly attribute</doc> 3078 + <type name="gboolean" c:type="gboolean"/> 3079 + </return-value> 3080 + <parameters> 3081 + <instance-parameter name="cookie" transfer-ownership="none"> 3082 + <doc xml:space="preserve" 3083 + filename="libsoup/cookies/soup-cookie.c" 3084 + line="676">a #SoupCookie</doc> 3085 + <type name="Cookie" c:type="SoupCookie*"/> 3086 + </instance-parameter> 3087 + </parameters> 3088 + </method> 3089 + <method name="get_name" c:identifier="soup_cookie_get_name"> 3090 + <doc xml:space="preserve" 3091 + filename="libsoup/cookies/soup-cookie.c" 3092 + line="427">Gets @cookie's name.</doc> 3093 + <source-position filename="libsoup/cookies/soup-cookie.h" line="50"/> 3094 + <return-value transfer-ownership="none"> 3095 + <doc xml:space="preserve" 3096 + filename="libsoup/cookies/soup-cookie.c" 3097 + line="433">@cookie's name</doc> 3098 + <type name="utf8" c:type="const char*"/> 3099 + </return-value> 3100 + <parameters> 3101 + <instance-parameter name="cookie" transfer-ownership="none"> 3102 + <doc xml:space="preserve" 3103 + filename="libsoup/cookies/soup-cookie.c" 3104 + line="429">a #SoupCookie</doc> 3105 + <type name="Cookie" c:type="SoupCookie*"/> 3106 + </instance-parameter> 3107 + </parameters> 3108 + </method> 3109 + <method name="get_path" c:identifier="soup_cookie_get_path"> 3110 + <doc xml:space="preserve" 3111 + filename="libsoup/cookies/soup-cookie.c" 3112 + line="511">Gets @cookie's path.</doc> 3113 + <source-position filename="libsoup/cookies/soup-cookie.h" line="65"/> 3114 + <return-value transfer-ownership="none"> 3115 + <doc xml:space="preserve" 3116 + filename="libsoup/cookies/soup-cookie.c" 3117 + line="517">@cookie's path</doc> 3118 + <type name="utf8" c:type="const char*"/> 3119 + </return-value> 3120 + <parameters> 3121 + <instance-parameter name="cookie" transfer-ownership="none"> 3122 + <doc xml:space="preserve" 3123 + filename="libsoup/cookies/soup-cookie.c" 3124 + line="513">a #SoupCookie</doc> 3125 + <type name="Cookie" c:type="SoupCookie*"/> 3126 + </instance-parameter> 3127 + </parameters> 3128 + </method> 3129 + <method name="get_same_site_policy" 3130 + c:identifier="soup_cookie_get_same_site_policy"> 3131 + <doc xml:space="preserve" 3132 + filename="libsoup/cookies/soup-cookie.c" 3133 + line="783">Returns the same-site policy for this cookie.</doc> 3134 + <source-position filename="libsoup/cookies/soup-cookie.h" line="92"/> 3135 + <return-value transfer-ownership="none"> 3136 + <doc xml:space="preserve" 3137 + filename="libsoup/cookies/soup-cookie.c" 3138 + line="789">a #SoupSameSitePolicy</doc> 3139 + <type name="SameSitePolicy" c:type="SoupSameSitePolicy"/> 3140 + </return-value> 3141 + <parameters> 3142 + <instance-parameter name="cookie" transfer-ownership="none"> 3143 + <doc xml:space="preserve" 3144 + filename="libsoup/cookies/soup-cookie.c" 3145 + line="785">a #SoupCookie</doc> 3146 + <type name="Cookie" c:type="SoupCookie*"/> 3147 + </instance-parameter> 3148 + </parameters> 3149 + </method> 3150 + <method name="get_secure" c:identifier="soup_cookie_get_secure"> 3151 + <doc xml:space="preserve" 3152 + filename="libsoup/cookies/soup-cookie.c" 3153 + line="644">Gets @cookie's secure attribute.</doc> 3154 + <source-position filename="libsoup/cookies/soup-cookie.h" line="78"/> 3155 + <return-value transfer-ownership="none"> 3156 + <doc xml:space="preserve" 3157 + filename="libsoup/cookies/soup-cookie.c" 3158 + line="650">@cookie's secure attribute</doc> 3159 + <type name="gboolean" c:type="gboolean"/> 3160 + </return-value> 3161 + <parameters> 3162 + <instance-parameter name="cookie" transfer-ownership="none"> 3163 + <doc xml:space="preserve" 3164 + filename="libsoup/cookies/soup-cookie.c" 3165 + line="646">a #SoupCookie</doc> 3166 + <type name="Cookie" c:type="SoupCookie*"/> 3167 + </instance-parameter> 3168 + </parameters> 3169 + </method> 3170 + <method name="get_value" c:identifier="soup_cookie_get_value"> 3171 + <doc xml:space="preserve" 3172 + filename="libsoup/cookies/soup-cookie.c" 3173 + line="455">Gets @cookie's value.</doc> 3174 + <source-position filename="libsoup/cookies/soup-cookie.h" line="55"/> 3175 + <return-value transfer-ownership="none"> 3176 + <doc xml:space="preserve" 3177 + filename="libsoup/cookies/soup-cookie.c" 3178 + line="461">@cookie's value</doc> 3179 + <type name="utf8" c:type="const char*"/> 3180 + </return-value> 3181 + <parameters> 3182 + <instance-parameter name="cookie" transfer-ownership="none"> 3183 + <doc xml:space="preserve" 3184 + filename="libsoup/cookies/soup-cookie.c" 3185 + line="457">a #SoupCookie</doc> 3186 + <type name="Cookie" c:type="SoupCookie*"/> 3187 + </instance-parameter> 3188 + </parameters> 3189 + </method> 3190 + <method name="set_domain" c:identifier="soup_cookie_set_domain"> 3191 + <doc xml:space="preserve" 3192 + filename="libsoup/cookies/soup-cookie.c" 3193 + line="497">Sets @cookie's domain to @domain.</doc> 3194 + <source-position filename="libsoup/cookies/soup-cookie.h" line="62"/> 3195 + <return-value transfer-ownership="none"> 3196 + <type name="none" c:type="void"/> 3197 + </return-value> 3198 + <parameters> 3199 + <instance-parameter name="cookie" transfer-ownership="none"> 3200 + <doc xml:space="preserve" 3201 + filename="libsoup/cookies/soup-cookie.c" 3202 + line="499">a #SoupCookie</doc> 3203 + <type name="Cookie" c:type="SoupCookie*"/> 3204 + </instance-parameter> 3205 + <parameter name="domain" transfer-ownership="none"> 3206 + <doc xml:space="preserve" 3207 + filename="libsoup/cookies/soup-cookie.c" 3208 + line="500">the new domain</doc> 3209 + <type name="utf8" c:type="const char*"/> 3210 + </parameter> 3211 + </parameters> 3212 + </method> 3213 + <method name="set_expires" c:identifier="soup_cookie_set_expires"> 3214 + <doc xml:space="preserve" 3215 + filename="libsoup/cookies/soup-cookie.c" 3216 + line="620">Sets @cookie's expiration time to @expires. 3217 + 3218 + If @expires is %NULL, @cookie will be a session cookie and will expire at the 3219 + end of the client's session. 3220 + 3221 + (This sets the same property as [method@Cookie.set_max_age].)</doc> 3222 + <source-position filename="libsoup/cookies/soup-cookie.h" line="75"/> 3223 + <return-value transfer-ownership="none"> 3224 + <type name="none" c:type="void"/> 3225 + </return-value> 3226 + <parameters> 3227 + <instance-parameter name="cookie" transfer-ownership="none"> 3228 + <doc xml:space="preserve" 3229 + filename="libsoup/cookies/soup-cookie.c" 3230 + line="622">a #SoupCookie</doc> 3231 + <type name="Cookie" c:type="SoupCookie*"/> 3232 + </instance-parameter> 3233 + <parameter name="expires" transfer-ownership="none"> 3234 + <doc xml:space="preserve" 3235 + filename="libsoup/cookies/soup-cookie.c" 3236 + line="623">the new expiration time, or %NULL</doc> 3237 + <type name="GLib.DateTime" c:type="GDateTime*"/> 3238 + </parameter> 3239 + </parameters> 3240 + </method> 3241 + <method name="set_http_only" c:identifier="soup_cookie_set_http_only"> 3242 + <doc xml:space="preserve" 3243 + filename="libsoup/cookies/soup-cookie.c" 3244 + line="688">Sets @cookie's HttpOnly attribute to @http_only. 3245 + 3246 + If %TRUE, @cookie will be marked as "http only", meaning it should not be 3247 + exposed to web page scripts or other untrusted code.</doc> 3248 + <source-position filename="libsoup/cookies/soup-cookie.h" line="85"/> 3249 + <return-value transfer-ownership="none"> 3250 + <type name="none" c:type="void"/> 3251 + </return-value> 3252 + <parameters> 3253 + <instance-parameter name="cookie" transfer-ownership="none"> 3254 + <doc xml:space="preserve" 3255 + filename="libsoup/cookies/soup-cookie.c" 3256 + line="690">a #SoupCookie</doc> 3257 + <type name="Cookie" c:type="SoupCookie*"/> 3258 + </instance-parameter> 3259 + <parameter name="http_only" transfer-ownership="none"> 3260 + <doc xml:space="preserve" 3261 + filename="libsoup/cookies/soup-cookie.c" 3262 + line="691">the new value for the HttpOnly attribute</doc> 3263 + <type name="gboolean" c:type="gboolean"/> 3264 + </parameter> 3265 + </parameters> 3266 + </method> 3267 + <method name="set_max_age" c:identifier="soup_cookie_set_max_age"> 3268 + <doc xml:space="preserve" 3269 + filename="libsoup/cookies/soup-cookie.c" 3270 + line="539">Sets @cookie's max age to @max_age. 3271 + 3272 + If @max_age is -1, the cookie is a session cookie, and will expire at the end 3273 + of the client's session. Otherwise, it is the number of seconds until the 3274 + cookie expires. You can use the constants %SOUP_COOKIE_MAX_AGE_ONE_HOUR, 3275 + %SOUP_COOKIE_MAX_AGE_ONE_DAY, %SOUP_COOKIE_MAX_AGE_ONE_WEEK and 3276 + %SOUP_COOKIE_MAX_AGE_ONE_YEAR (or multiples thereof) to calculate this value. 3277 + (A value of 0 indicates that the cookie should be considered 3278 + already-expired.) 3279 + 3280 + This sets the same property as [method@Cookie.set_expires].</doc> 3281 + <source-position filename="libsoup/cookies/soup-cookie.h" line="70"/> 3282 + <return-value transfer-ownership="none"> 3283 + <type name="none" c:type="void"/> 3284 + </return-value> 3285 + <parameters> 3286 + <instance-parameter name="cookie" transfer-ownership="none"> 3287 + <doc xml:space="preserve" 3288 + filename="libsoup/cookies/soup-cookie.c" 3289 + line="541">a #SoupCookie</doc> 3290 + <type name="Cookie" c:type="SoupCookie*"/> 3291 + </instance-parameter> 3292 + <parameter name="max_age" transfer-ownership="none"> 3293 + <doc xml:space="preserve" 3294 + filename="libsoup/cookies/soup-cookie.c" 3295 + line="542">the new max age</doc> 3296 + <type name="gint" c:type="int"/> 3297 + </parameter> 3298 + </parameters> 3299 + </method> 3300 + <method name="set_name" c:identifier="soup_cookie_set_name"> 3301 + <doc xml:space="preserve" 3302 + filename="libsoup/cookies/soup-cookie.c" 3303 + line="441">Sets @cookie's name to @name.</doc> 3304 + <source-position filename="libsoup/cookies/soup-cookie.h" line="52"/> 3305 + <return-value transfer-ownership="none"> 3306 + <type name="none" c:type="void"/> 3307 + </return-value> 3308 + <parameters> 3309 + <instance-parameter name="cookie" transfer-ownership="none"> 3310 + <doc xml:space="preserve" 3311 + filename="libsoup/cookies/soup-cookie.c" 3312 + line="443">a #SoupCookie</doc> 3313 + <type name="Cookie" c:type="SoupCookie*"/> 3314 + </instance-parameter> 3315 + <parameter name="name" transfer-ownership="none"> 3316 + <doc xml:space="preserve" 3317 + filename="libsoup/cookies/soup-cookie.c" 3318 + line="444">the new name</doc> 3319 + <type name="utf8" c:type="const char*"/> 3320 + </parameter> 3321 + </parameters> 3322 + </method> 3323 + <method name="set_path" c:identifier="soup_cookie_set_path"> 3324 + <doc xml:space="preserve" 3325 + filename="libsoup/cookies/soup-cookie.c" 3326 + line="525">Sets @cookie's path to @path.</doc> 3327 + <source-position filename="libsoup/cookies/soup-cookie.h" line="67"/> 3328 + <return-value transfer-ownership="none"> 3329 + <type name="none" c:type="void"/> 3330 + </return-value> 3331 + <parameters> 3332 + <instance-parameter name="cookie" transfer-ownership="none"> 3333 + <doc xml:space="preserve" 3334 + filename="libsoup/cookies/soup-cookie.c" 3335 + line="527">a #SoupCookie</doc> 3336 + <type name="Cookie" c:type="SoupCookie*"/> 3337 + </instance-parameter> 3338 + <parameter name="path" transfer-ownership="none"> 3339 + <doc xml:space="preserve" 3340 + filename="libsoup/cookies/soup-cookie.c" 3341 + line="528">the new path</doc> 3342 + <type name="utf8" c:type="const char*"/> 3343 + </parameter> 3344 + </parameters> 3345 + </method> 3346 + <method name="set_same_site_policy" 3347 + c:identifier="soup_cookie_set_same_site_policy"> 3348 + <doc xml:space="preserve" 3349 + filename="libsoup/cookies/soup-cookie.c" 3350 + line="759">When used in conjunction with 3351 + [method@CookieJar.get_cookie_list_with_same_site_info] this sets the policy 3352 + of when this cookie should be exposed.</doc> 3353 + <source-position filename="libsoup/cookies/soup-cookie.h" line="89"/> 3354 + <return-value transfer-ownership="none"> 3355 + <type name="none" c:type="void"/> 3356 + </return-value> 3357 + <parameters> 3358 + <instance-parameter name="cookie" transfer-ownership="none"> 3359 + <doc xml:space="preserve" 3360 + filename="libsoup/cookies/soup-cookie.c" 3361 + line="761">a #SoupCookie</doc> 3362 + <type name="Cookie" c:type="SoupCookie*"/> 3363 + </instance-parameter> 3364 + <parameter name="policy" transfer-ownership="none"> 3365 + <doc xml:space="preserve" 3366 + filename="libsoup/cookies/soup-cookie.c" 3367 + line="762">a #SoupSameSitePolicy</doc> 3368 + <type name="SameSitePolicy" c:type="SoupSameSitePolicy"/> 3369 + </parameter> 3370 + </parameters> 3371 + </method> 3372 + <method name="set_secure" c:identifier="soup_cookie_set_secure"> 3373 + <doc xml:space="preserve" 3374 + filename="libsoup/cookies/soup-cookie.c" 3375 + line="658">Sets @cookie's secure attribute to @secure. 3376 + 3377 + If %TRUE, @cookie will only be transmitted from the client to the server over 3378 + secure (https) connections.</doc> 3379 + <source-position filename="libsoup/cookies/soup-cookie.h" line="80"/> 3380 + <return-value transfer-ownership="none"> 3381 + <type name="none" c:type="void"/> 3382 + </return-value> 3383 + <parameters> 3384 + <instance-parameter name="cookie" transfer-ownership="none"> 3385 + <doc xml:space="preserve" 3386 + filename="libsoup/cookies/soup-cookie.c" 3387 + line="660">a #SoupCookie</doc> 3388 + <type name="Cookie" c:type="SoupCookie*"/> 3389 + </instance-parameter> 3390 + <parameter name="secure" transfer-ownership="none"> 3391 + <doc xml:space="preserve" 3392 + filename="libsoup/cookies/soup-cookie.c" 3393 + line="661">the new value for the secure attribute</doc> 3394 + <type name="gboolean" c:type="gboolean"/> 3395 + </parameter> 3396 + </parameters> 3397 + </method> 3398 + <method name="set_value" c:identifier="soup_cookie_set_value"> 3399 + <doc xml:space="preserve" 3400 + filename="libsoup/cookies/soup-cookie.c" 3401 + line="469">Sets @cookie's value to @value.</doc> 3402 + <source-position filename="libsoup/cookies/soup-cookie.h" line="57"/> 3403 + <return-value transfer-ownership="none"> 3404 + <type name="none" c:type="void"/> 3405 + </return-value> 3406 + <parameters> 3407 + <instance-parameter name="cookie" transfer-ownership="none"> 3408 + <doc xml:space="preserve" 3409 + filename="libsoup/cookies/soup-cookie.c" 3410 + line="471">a #SoupCookie</doc> 3411 + <type name="Cookie" c:type="SoupCookie*"/> 3412 + </instance-parameter> 3413 + <parameter name="value" transfer-ownership="none"> 3414 + <doc xml:space="preserve" 3415 + filename="libsoup/cookies/soup-cookie.c" 3416 + line="472">the new value</doc> 3417 + <type name="utf8" c:type="const char*"/> 3418 + </parameter> 3419 + </parameters> 3420 + </method> 3421 + <method name="to_cookie_header" 3422 + c:identifier="soup_cookie_to_cookie_header"> 3423 + <doc xml:space="preserve" 3424 + filename="libsoup/cookies/soup-cookie.c" 3425 + line="816">Serializes @cookie in the format used by the Cookie header (ie, for 3426 + returning a cookie from a [class@Session] to a server).</doc> 3427 + <source-position filename="libsoup/cookies/soup-cookie.h" line="97"/> 3428 + <return-value transfer-ownership="full"> 3429 + <doc xml:space="preserve" 3430 + filename="libsoup/cookies/soup-cookie.c" 3431 + line="823">the header</doc> 3432 + <type name="utf8" c:type="char*"/> 3433 + </return-value> 3434 + <parameters> 3435 + <instance-parameter name="cookie" transfer-ownership="none"> 3436 + <doc xml:space="preserve" 3437 + filename="libsoup/cookies/soup-cookie.c" 3438 + line="818">a #SoupCookie</doc> 3439 + <type name="Cookie" c:type="SoupCookie*"/> 3440 + </instance-parameter> 3441 + </parameters> 3442 + </method> 3443 + <method name="to_set_cookie_header" 3444 + c:identifier="soup_cookie_to_set_cookie_header"> 3445 + <doc xml:space="preserve" 3446 + filename="libsoup/cookies/soup-cookie.c" 3447 + line="797">Serializes @cookie in the format used by the Set-Cookie header. 3448 + 3449 + i.e. for sending a cookie from a [class@Server] to a client.</doc> 3450 + <source-position filename="libsoup/cookies/soup-cookie.h" line="95"/> 3451 + <return-value transfer-ownership="full"> 3452 + <doc xml:space="preserve" 3453 + filename="libsoup/cookies/soup-cookie.c" 3454 + line="805">the header</doc> 3455 + <type name="utf8" c:type="char*"/> 3456 + </return-value> 3457 + <parameters> 3458 + <instance-parameter name="cookie" transfer-ownership="none"> 3459 + <doc xml:space="preserve" 3460 + filename="libsoup/cookies/soup-cookie.c" 3461 + line="799">a #SoupCookie</doc> 3462 + <type name="Cookie" c:type="SoupCookie*"/> 3463 + </instance-parameter> 3464 + </parameters> 3465 + </method> 3466 + <function name="parse" c:identifier="soup_cookie_parse"> 3467 + <doc xml:space="preserve" 3468 + filename="libsoup/cookies/soup-cookie.c" 3469 + line="395">Parses @header and returns a #SoupCookie. 3470 + 3471 + If @header contains multiple cookies, only the first one will be parsed. 3472 + 3473 + If @header does not have "path" or "domain" attributes, they will 3474 + be defaulted from @origin. If @origin is %NULL, path will default 3475 + to "/", but domain will be left as %NULL. Note that this is not a 3476 + valid state for a #SoupCookie, and you will need to fill in some 3477 + appropriate string for the domain if you want to actually make use 3478 + of the cookie. 3479 + 3480 + As of version 3.4.0 the default value of a cookie's same-site-policy 3481 + is %SOUP_SAME_SITE_POLICY_LAX.</doc> 3482 + <source-position filename="libsoup/cookies/soup-cookie.h" line="44"/> 3483 + <return-value transfer-ownership="full" nullable="1"> 3484 + <doc xml:space="preserve" 3485 + filename="libsoup/cookies/soup-cookie.c" 3486 + line="414">a new #SoupCookie, or %NULL if it could 3487 + not be parsed, or contained an illegal "domain" attribute for a 3488 + cookie originating from @origin.</doc> 3489 + <type name="Cookie" c:type="SoupCookie*"/> 3490 + </return-value> 3491 + <parameters> 3492 + <parameter name="header" transfer-ownership="none"> 3493 + <doc xml:space="preserve" 3494 + filename="libsoup/cookies/soup-cookie.c" 3495 + line="397">a cookie string (eg, the value of a Set-Cookie header)</doc> 3496 + <type name="utf8" c:type="const char*"/> 3497 + </parameter> 3498 + <parameter name="origin" 3499 + transfer-ownership="none" 3500 + nullable="1" 3501 + allow-none="1"> 3502 + <doc xml:space="preserve" 3503 + filename="libsoup/cookies/soup-cookie.c" 3504 + line="398">origin of the cookie</doc> 3505 + <type name="GLib.Uri" c:type="GUri*"/> 3506 + </parameter> 3507 + </parameters> 3508 + </function> 3509 + </record> 3510 + <class name="CookieJar" 3511 + c:symbol-prefix="cookie_jar" 3512 + c:type="SoupCookieJar" 3513 + parent="GObject.Object" 3514 + glib:type-name="SoupCookieJar" 3515 + glib:get-type="soup_cookie_jar_get_type" 3516 + glib:type-struct="CookieJarClass"> 3517 + <doc xml:space="preserve" 3518 + filename="libsoup/cookies/soup-cookie-jar.c" 3519 + line="23">Automatic cookie handling for SoupSession. 3520 + 3521 + A #SoupCookieJar stores [struct@Cookie]s and arrange for them to be sent with 3522 + the appropriate [class@Message]s. #SoupCookieJar implements 3523 + [iface@SessionFeature], so you can add a cookie jar to a session with 3524 + [method@Session.add_feature] or [method@Session.add_feature_by_type]. 3525 + 3526 + Note that the base #SoupCookieJar class does not support any form 3527 + of long-term cookie persistence.</doc> 3528 + <source-position filename="libsoup/cookies/soup-cookie-jar.h" line="29"/> 3529 + <implements name="SessionFeature"/> 3530 + <constructor name="new" c:identifier="soup_cookie_jar_new"> 3531 + <doc xml:space="preserve" 3532 + filename="libsoup/cookies/soup-cookie-jar.c" 3533 + line="225">Creates a new #SoupCookieJar. 3534 + 3535 + The base #SoupCookieJar class does not support persistent storage of cookies; 3536 + use a subclass for that.</doc> 3537 + <source-position filename="libsoup/cookies/soup-cookie-jar.h" 3538 + line="39"/> 3539 + <return-value transfer-ownership="full"> 3540 + <doc xml:space="preserve" 3541 + filename="libsoup/cookies/soup-cookie-jar.c" 3542 + line="233">a new #SoupCookieJar</doc> 3543 + <type name="CookieJar" c:type="SoupCookieJar*"/> 3544 + </return-value> 3545 + </constructor> 3546 + <virtual-method name="changed"> 3547 + <source-position filename="libsoup/cookies/soup-cookie-jar.h" 3548 + line="23"/> 3549 + <return-value transfer-ownership="none"> 3550 + <type name="none" c:type="void"/> 3551 + </return-value> 3552 + <parameters> 3553 + <instance-parameter name="jar" transfer-ownership="none"> 3554 + <type name="CookieJar" c:type="SoupCookieJar*"/> 3555 + </instance-parameter> 3556 + <parameter name="old_cookie" transfer-ownership="none"> 3557 + <type name="Cookie" c:type="SoupCookie*"/> 3558 + </parameter> 3559 + <parameter name="new_cookie" transfer-ownership="none"> 3560 + <type name="Cookie" c:type="SoupCookie*"/> 3561 + </parameter> 3562 + </parameters> 3563 + </virtual-method> 3564 + <virtual-method name="is_persistent" invoker="is_persistent"> 3565 + <doc xml:space="preserve" 3566 + filename="libsoup/cookies/soup-cookie-jar.c" 3567 + line="1097">Gets whether @jar stores cookies persistenly.</doc> 3568 + <source-position filename="libsoup/cookies/soup-cookie-jar.h" 3569 + line="20"/> 3570 + <return-value transfer-ownership="none"> 3571 + <doc xml:space="preserve" 3572 + filename="libsoup/cookies/soup-cookie-jar.c" 3573 + line="1103">%TRUE if @jar storage is persistent or %FALSE otherwise.</doc> 3574 + <type name="gboolean" c:type="gboolean"/> 3575 + </return-value> 3576 + <parameters> 3577 + <instance-parameter name="jar" transfer-ownership="none"> 3578 + <doc xml:space="preserve" 3579 + filename="libsoup/cookies/soup-cookie-jar.c" 3580 + line="1099">a #SoupCookieJar</doc> 3581 + <type name="CookieJar" c:type="SoupCookieJar*"/> 3582 + </instance-parameter> 3583 + </parameters> 3584 + </virtual-method> 3585 + <virtual-method name="save"> 3586 + <source-position filename="libsoup/cookies/soup-cookie-jar.h" 3587 + line="19"/> 3588 + <return-value transfer-ownership="none"> 3589 + <type name="none" c:type="void"/> 3590 + </return-value> 3591 + <parameters> 3592 + <instance-parameter name="jar" transfer-ownership="none"> 3593 + <type name="CookieJar" c:type="SoupCookieJar*"/> 3594 + </instance-parameter> 3595 + </parameters> 3596 + </virtual-method> 3597 + <method name="add_cookie" c:identifier="soup_cookie_jar_add_cookie"> 3598 + <doc xml:space="preserve" 3599 + filename="libsoup/cookies/soup-cookie-jar.c" 3600 + line="736">Adds @cookie to @jar. 3601 + 3602 + Emits the [signal@CookieJar::changed] signal if we are modifying 3603 + an existing cookie or adding a valid new cookie ('valid' means 3604 + that the cookie's expire date is not in the past). 3605 + 3606 + @cookie will be 'stolen' by the jar, so don't free it afterwards.</doc> 3607 + <source-position filename="libsoup/cookies/soup-cookie-jar.h" 3608 + line="67"/> 3609 + <return-value transfer-ownership="none"> 3610 + <type name="none" c:type="void"/> 3611 + </return-value> 3612 + <parameters> 3613 + <instance-parameter name="jar" transfer-ownership="none"> 3614 + <doc xml:space="preserve" 3615 + filename="libsoup/cookies/soup-cookie-jar.c" 3616 + line="738">a #SoupCookieJar</doc> 3617 + <type name="CookieJar" c:type="SoupCookieJar*"/> 3618 + </instance-parameter> 3619 + <parameter name="cookie" transfer-ownership="full"> 3620 + <doc xml:space="preserve" 3621 + filename="libsoup/cookies/soup-cookie-jar.c" 3622 + line="739">a #SoupCookie</doc> 3623 + <type name="Cookie" c:type="SoupCookie*"/> 3624 + </parameter> 3625 + </parameters> 3626 + </method> 3627 + <method name="add_cookie_full" 3628 + c:identifier="soup_cookie_jar_add_cookie_full"> 3629 + <doc xml:space="preserve" 3630 + filename="libsoup/cookies/soup-cookie-jar.c" 3631 + line="582">Adds @cookie to @jar. 3632 + 3633 + Emits the [signal@CookieJar::changed] signal if we are modifying an existing 3634 + cookie or adding a valid new cookie ('valid' means that the cookie's expire 3635 + date is not in the past). 3636 + 3637 + @first_party will be used to reject cookies coming from third party 3638 + resources in case such a security policy is set in the @jar. 3639 + 3640 + @uri will be used to reject setting or overwriting secure cookies 3641 + from insecure origins. %NULL is treated as secure. 3642 + 3643 + @cookie will be 'stolen' by the jar, so don't free it afterwards.</doc> 3644 + <source-position filename="libsoup/cookies/soup-cookie-jar.h" 3645 + line="74"/> 3646 + <return-value transfer-ownership="none"> 3647 + <type name="none" c:type="void"/> 3648 + </return-value> 3649 + <parameters> 3650 + <instance-parameter name="jar" transfer-ownership="none"> 3651 + <doc xml:space="preserve" 3652 + filename="libsoup/cookies/soup-cookie-jar.c" 3653 + line="584">a #SoupCookieJar</doc> 3654 + <type name="CookieJar" c:type="SoupCookieJar*"/> 3655 + </instance-parameter> 3656 + <parameter name="cookie" transfer-ownership="full"> 3657 + <doc xml:space="preserve" 3658 + filename="libsoup/cookies/soup-cookie-jar.c" 3659 + line="585">a #SoupCookie</doc> 3660 + <type name="Cookie" c:type="SoupCookie*"/> 3661 + </parameter> 3662 + <parameter name="uri" 3663 + transfer-ownership="none" 3664 + nullable="1" 3665 + allow-none="1"> 3666 + <doc xml:space="preserve" 3667 + filename="libsoup/cookies/soup-cookie-jar.c" 3668 + line="586">the URI setting the cookie</doc> 3669 + <type name="GLib.Uri" c:type="GUri*"/> 3670 + </parameter> 3671 + <parameter name="first_party" 3672 + transfer-ownership="none" 3673 + nullable="1" 3674 + allow-none="1"> 3675 + <doc xml:space="preserve" 3676 + filename="libsoup/cookies/soup-cookie-jar.c" 3677 + line="587">the URI for the main document</doc> 3678 + <type name="GLib.Uri" c:type="GUri*"/> 3679 + </parameter> 3680 + </parameters> 3681 + </method> 3682 + <method name="add_cookie_with_first_party" 3683 + c:identifier="soup_cookie_jar_add_cookie_with_first_party"> 3684 + <doc xml:space="preserve" 3685 + filename="libsoup/cookies/soup-cookie-jar.c" 3686 + line="755">Adds @cookie to @jar. 3687 + 3688 + Emits the [signal@CookieJar::changed] signal if we are modifying 3689 + an existing cookie or adding a valid new cookie ('valid' means 3690 + that the cookie's expire date is not in the past). 3691 + 3692 + @first_party will be used to reject cookies coming from third party 3693 + resources in case such a security policy is set in the @jar. 3694 + 3695 + @cookie will be 'stolen' by the jar, so don't free it afterwards. 3696 + 3697 + For secure cookies to work properly you may want to use 3698 + [method@CookieJar.add_cookie_full].</doc> 3699 + <source-position filename="libsoup/cookies/soup-cookie-jar.h" 3700 + line="70"/> 3701 + <return-value transfer-ownership="none"> 3702 + <type name="none" c:type="void"/> 3703 + </return-value> 3704 + <parameters> 3705 + <instance-parameter name="jar" transfer-ownership="none"> 3706 + <doc xml:space="preserve" 3707 + filename="libsoup/cookies/soup-cookie-jar.c" 3708 + line="757">a #SoupCookieJar</doc> 3709 + <type name="CookieJar" c:type="SoupCookieJar*"/> 3710 + </instance-parameter> 3711 + <parameter name="first_party" transfer-ownership="none"> 3712 + <doc xml:space="preserve" 3713 + filename="libsoup/cookies/soup-cookie-jar.c" 3714 + line="758">the URI for the main document</doc> 3715 + <type name="GLib.Uri" c:type="GUri*"/> 3716 + </parameter> 3717 + <parameter name="cookie" transfer-ownership="full"> 3718 + <doc xml:space="preserve" 3719 + filename="libsoup/cookies/soup-cookie-jar.c" 3720 + line="759">a #SoupCookie</doc> 3721 + <type name="Cookie" c:type="SoupCookie*"/> 3722 + </parameter> 3723 + </parameters> 3724 + </method> 3725 + <method name="all_cookies" c:identifier="soup_cookie_jar_all_cookies"> 3726 + <doc xml:space="preserve" 3727 + filename="libsoup/cookies/soup-cookie-jar.c" 3728 + line="937">Constructs a [struct@GLib.List] with every cookie inside the @jar. 3729 + 3730 + The cookies in the list are a copy of the original, so 3731 + you have to free them when you are done with them.</doc> 3732 + <source-position filename="libsoup/cookies/soup-cookie-jar.h" 3733 + line="82"/> 3734 + <return-value transfer-ownership="full"> 3735 + <doc xml:space="preserve" 3736 + filename="libsoup/cookies/soup-cookie-jar.c" 3737 + line="946">a #GSList 3738 + with all the cookies in the @jar.</doc> 3739 + <type name="GLib.SList" c:type="GSList*"> 3740 + <type name="Cookie"/> 3741 + </type> 3742 + </return-value> 3743 + <parameters> 3744 + <instance-parameter name="jar" transfer-ownership="none"> 3745 + <doc xml:space="preserve" 3746 + filename="libsoup/cookies/soup-cookie-jar.c" 3747 + line="939">a #SoupCookieJar</doc> 3748 + <type name="CookieJar" c:type="SoupCookieJar*"/> 3749 + </instance-parameter> 3750 + </parameters> 3751 + </method> 3752 + <method name="delete_cookie" 3753 + c:identifier="soup_cookie_jar_delete_cookie"> 3754 + <doc xml:space="preserve" 3755 + filename="libsoup/cookies/soup-cookie-jar.c" 3756 + line="976">Deletes @cookie from @jar. 3757 + 3758 + Emits the [signal@CookieJar::changed] signal.</doc> 3759 + <source-position filename="libsoup/cookies/soup-cookie-jar.h" 3760 + line="79"/> 3761 + <return-value transfer-ownership="none"> 3762 + <type name="none" c:type="void"/> 3763 + </return-value> 3764 + <parameters> 3765 + <instance-parameter name="jar" transfer-ownership="none"> 3766 + <doc xml:space="preserve" 3767 + filename="libsoup/cookies/soup-cookie-jar.c" 3768 + line="978">a #SoupCookieJar</doc> 3769 + <type name="CookieJar" c:type="SoupCookieJar*"/> 3770 + </instance-parameter> 3771 + <parameter name="cookie" transfer-ownership="none"> 3772 + <doc xml:space="preserve" 3773 + filename="libsoup/cookies/soup-cookie-jar.c" 3774 + line="979">a #SoupCookie</doc> 3775 + <type name="Cookie" c:type="SoupCookie*"/> 3776 + </parameter> 3777 + </parameters> 3778 + </method> 3779 + <method name="get_accept_policy" 3780 + c:identifier="soup_cookie_jar_get_accept_policy" 3781 + glib:get-property="accept-policy"> 3782 + <attribute name="org.gtk.Method.get_property" value="accept-policy"/> 3783 + <doc xml:space="preserve" 3784 + filename="libsoup/cookies/soup-cookie-jar.c" 3785 + line="1055">Gets @jar's [enum@CookieJarAcceptPolicy].</doc> 3786 + <source-position filename="libsoup/cookies/soup-cookie-jar.h" 3787 + line="87"/> 3788 + <return-value transfer-ownership="none"> 3789 + <doc xml:space="preserve" 3790 + filename="libsoup/cookies/soup-cookie-jar.c" 3791 + line="1061">the #SoupCookieJarAcceptPolicy set in the @jar</doc> 3792 + <type name="CookieJarAcceptPolicy" 3793 + c:type="SoupCookieJarAcceptPolicy"/> 3794 + </return-value> 3795 + <parameters> 3796 + <instance-parameter name="jar" transfer-ownership="none"> 3797 + <doc xml:space="preserve" 3798 + filename="libsoup/cookies/soup-cookie-jar.c" 3799 + line="1057">a #SoupCookieJar</doc> 3800 + <type name="CookieJar" c:type="SoupCookieJar*"/> 3801 + </instance-parameter> 3802 + </parameters> 3803 + </method> 3804 + <method name="get_cookie_list" 3805 + c:identifier="soup_cookie_jar_get_cookie_list"> 3806 + <doc xml:space="preserve" 3807 + filename="libsoup/cookies/soup-cookie-jar.c" 3808 + line="436">Retrieves the list of cookies that would be sent with a request to @uri 3809 + as a [struct@GLib.List] of #SoupCookie objects. 3810 + 3811 + If @for_http is %TRUE, the return value will include cookies marked 3812 + "HttpOnly" (that is, cookies that the server wishes to keep hidden 3813 + from client-side scripting operations such as the JavaScript 3814 + document.cookies property). Since #SoupCookieJar sets the Cookie 3815 + header itself when making the actual HTTP request, you should 3816 + almost certainly be setting @for_http to %FALSE if you are calling 3817 + this.</doc> 3818 + <source-position filename="libsoup/cookies/soup-cookie-jar.h" 3819 + line="45"/> 3820 + <return-value transfer-ownership="full"> 3821 + <doc xml:space="preserve" 3822 + filename="libsoup/cookies/soup-cookie-jar.c" 3823 + line="454">a #GSList 3824 + with the cookies in the @jar that would be sent with a request to @uri.</doc> 3825 + <type name="GLib.SList" c:type="GSList*"> 3826 + <type name="Cookie"/> 3827 + </type> 3828 + </return-value> 3829 + <parameters> 3830 + <instance-parameter name="jar" transfer-ownership="none"> 3831 + <doc xml:space="preserve" 3832 + filename="libsoup/cookies/soup-cookie-jar.c" 3833 + line="438">a #SoupCookieJar</doc> 3834 + <type name="CookieJar" c:type="SoupCookieJar*"/> 3835 + </instance-parameter> 3836 + <parameter name="uri" transfer-ownership="none"> 3837 + <doc xml:space="preserve" 3838 + filename="libsoup/cookies/soup-cookie-jar.c" 3839 + line="439">a #GUri</doc> 3840 + <type name="GLib.Uri" c:type="GUri*"/> 3841 + </parameter> 3842 + <parameter name="for_http" transfer-ownership="none"> 3843 + <doc xml:space="preserve" 3844 + filename="libsoup/cookies/soup-cookie-jar.c" 3845 + line="440">whether or not the return value is being passed directly 3846 + to an HTTP operation</doc> 3847 + <type name="gboolean" c:type="gboolean"/> 3848 + </parameter> 3849 + </parameters> 3850 + </method> 3851 + <method name="get_cookie_list_with_same_site_info" 3852 + c:identifier="soup_cookie_jar_get_cookie_list_with_same_site_info"> 3853 + <doc xml:space="preserve" 3854 + filename="libsoup/cookies/soup-cookie-jar.c" 3855 + line="466">This is an extended version of [method@CookieJar.get_cookie_list] that 3856 + provides more information required to use SameSite cookies. 3857 + 3858 + See the [SameSite cookies 3859 + spec](https://tools.ietf.org/html/draft-ietf-httpbis-cookie-same-site-00) for 3860 + more detailed information.</doc> 3861 + <source-position filename="libsoup/cookies/soup-cookie-jar.h" 3862 + line="49"/> 3863 + <return-value transfer-ownership="full"> 3864 + <doc xml:space="preserve" 3865 + filename="libsoup/cookies/soup-cookie-jar.c" 3866 + line="485">a #GSList 3867 + with the cookies in the @jar that would be sent with a request to @uri.</doc> 3868 + <type name="GLib.SList" c:type="GSList*"> 3869 + <type name="Cookie"/> 3870 + </type> 3871 + </return-value> 3872 + <parameters> 3873 + <instance-parameter name="jar" transfer-ownership="none"> 3874 + <doc xml:space="preserve" 3875 + filename="libsoup/cookies/soup-cookie-jar.c" 3876 + line="468">a #SoupCookieJar</doc> 3877 + <type name="CookieJar" c:type="SoupCookieJar*"/> 3878 + </instance-parameter> 3879 + <parameter name="uri" transfer-ownership="none"> 3880 + <doc xml:space="preserve" 3881 + filename="libsoup/cookies/soup-cookie-jar.c" 3882 + line="469">a #GUri</doc> 3883 + <type name="GLib.Uri" c:type="GUri*"/> 3884 + </parameter> 3885 + <parameter name="top_level" 3886 + transfer-ownership="none" 3887 + nullable="1" 3888 + allow-none="1"> 3889 + <doc xml:space="preserve" 3890 + filename="libsoup/cookies/soup-cookie-jar.c" 3891 + line="470">a #GUri for the top level document</doc> 3892 + <type name="GLib.Uri" c:type="GUri*"/> 3893 + </parameter> 3894 + <parameter name="site_for_cookies" 3895 + transfer-ownership="none" 3896 + nullable="1" 3897 + allow-none="1"> 3898 + <doc xml:space="preserve" 3899 + filename="libsoup/cookies/soup-cookie-jar.c" 3900 + line="471">a #GUri indicating the origin to get cookies for</doc> 3901 + <type name="GLib.Uri" c:type="GUri*"/> 3902 + </parameter> 3903 + <parameter name="for_http" transfer-ownership="none"> 3904 + <doc xml:space="preserve" 3905 + filename="libsoup/cookies/soup-cookie-jar.c" 3906 + line="472">whether or not the return value is being passed directly 3907 + to an HTTP operation</doc> 3908 + <type name="gboolean" c:type="gboolean"/> 3909 + </parameter> 3910 + <parameter name="is_safe_method" transfer-ownership="none"> 3911 + <doc xml:space="preserve" 3912 + filename="libsoup/cookies/soup-cookie-jar.c" 3913 + line="474">if the HTTP method is safe, as defined by RFC 7231, ignored when @for_http is %FALSE</doc> 3914 + <type name="gboolean" c:type="gboolean"/> 3915 + </parameter> 3916 + <parameter name="is_top_level_navigation" transfer-ownership="none"> 3917 + <doc xml:space="preserve" 3918 + filename="libsoup/cookies/soup-cookie-jar.c" 3919 + line="475">whether or not the HTTP request is part of 3920 + top level navigation</doc> 3921 + <type name="gboolean" c:type="gboolean"/> 3922 + </parameter> 3923 + </parameters> 3924 + </method> 3925 + <method name="get_cookies" c:identifier="soup_cookie_jar_get_cookies"> 3926 + <doc xml:space="preserve" 3927 + filename="libsoup/cookies/soup-cookie-jar.c" 3928 + line="391">Retrieves (in Cookie-header form) the list of cookies that would 3929 + be sent with a request to @uri. 3930 + 3931 + If @for_http is %TRUE, the return value will include cookies marked 3932 + "HttpOnly" (that is, cookies that the server wishes to keep hidden 3933 + from client-side scripting operations such as the JavaScript 3934 + document.cookies property). Since #SoupCookieJar sets the Cookie 3935 + header itself when making the actual HTTP request, you should 3936 + almost certainly be setting @for_http to %FALSE if you are calling 3937 + this.</doc> 3938 + <source-position filename="libsoup/cookies/soup-cookie-jar.h" 3939 + line="41"/> 3940 + <return-value transfer-ownership="full" nullable="1"> 3941 + <doc xml:space="preserve" 3942 + filename="libsoup/cookies/soup-cookie-jar.c" 3943 + line="409">the cookies, in string form, or %NULL if 3944 + there are no cookies for @uri.</doc> 3945 + <type name="utf8" c:type="char*"/> 3946 + </return-value> 3947 + <parameters> 3948 + <instance-parameter name="jar" transfer-ownership="none"> 3949 + <doc xml:space="preserve" 3950 + filename="libsoup/cookies/soup-cookie-jar.c" 3951 + line="393">a #SoupCookieJar</doc> 3952 + <type name="CookieJar" c:type="SoupCookieJar*"/> 3953 + </instance-parameter> 3954 + <parameter name="uri" transfer-ownership="none"> 3955 + <doc xml:space="preserve" 3956 + filename="libsoup/cookies/soup-cookie-jar.c" 3957 + line="394">a #GUri</doc> 3958 + <type name="GLib.Uri" c:type="GUri*"/> 3959 + </parameter> 3960 + <parameter name="for_http" transfer-ownership="none"> 3961 + <doc xml:space="preserve" 3962 + filename="libsoup/cookies/soup-cookie-jar.c" 3963 + line="395">whether or not the return value is being passed directly 3964 + to an HTTP operation</doc> 3965 + <type name="gboolean" c:type="gboolean"/> 3966 + </parameter> 3967 + </parameters> 3968 + </method> 3969 + <method name="is_persistent" 3970 + c:identifier="soup_cookie_jar_is_persistent"> 3971 + <doc xml:space="preserve" 3972 + filename="libsoup/cookies/soup-cookie-jar.c" 3973 + line="1097">Gets whether @jar stores cookies persistenly.</doc> 3974 + <source-position filename="libsoup/cookies/soup-cookie-jar.h" 3975 + line="89"/> 3976 + <return-value transfer-ownership="none"> 3977 + <doc xml:space="preserve" 3978 + filename="libsoup/cookies/soup-cookie-jar.c" 3979 + line="1103">%TRUE if @jar storage is persistent or %FALSE otherwise.</doc> 3980 + <type name="gboolean" c:type="gboolean"/> 3981 + </return-value> 3982 + <parameters> 3983 + <instance-parameter name="jar" transfer-ownership="none"> 3984 + <doc xml:space="preserve" 3985 + filename="libsoup/cookies/soup-cookie-jar.c" 3986 + line="1099">a #SoupCookieJar</doc> 3987 + <type name="CookieJar" c:type="SoupCookieJar*"/> 3988 + </instance-parameter> 3989 + </parameters> 3990 + </method> 3991 + <method name="set_accept_policy" 3992 + c:identifier="soup_cookie_jar_set_accept_policy" 3993 + glib:set-property="accept-policy"> 3994 + <attribute name="org.gtk.Method.set_property" value="accept-policy"/> 3995 + <doc xml:space="preserve" 3996 + filename="libsoup/cookies/soup-cookie-jar.c" 3997 + line="1074">Sets @policy as the cookie acceptance policy for @jar.</doc> 3998 + <source-position filename="libsoup/cookies/soup-cookie-jar.h" 3999 + line="84"/> 4000 + <return-value transfer-ownership="none"> 4001 + <type name="none" c:type="void"/> 4002 + </return-value> 4003 + <parameters> 4004 + <instance-parameter name="jar" transfer-ownership="none"> 4005 + <doc xml:space="preserve" 4006 + filename="libsoup/cookies/soup-cookie-jar.c" 4007 + line="1076">a #SoupCookieJar</doc> 4008 + <type name="CookieJar" c:type="SoupCookieJar*"/> 4009 + </instance-parameter> 4010 + <parameter name="policy" transfer-ownership="none"> 4011 + <doc xml:space="preserve" 4012 + filename="libsoup/cookies/soup-cookie-jar.c" 4013 + line="1077">a #SoupCookieJarAcceptPolicy</doc> 4014 + <type name="CookieJarAcceptPolicy" 4015 + c:type="SoupCookieJarAcceptPolicy"/> 4016 + </parameter> 4017 + </parameters> 4018 + </method> 4019 + <method name="set_cookie" c:identifier="soup_cookie_jar_set_cookie"> 4020 + <doc xml:space="preserve" 4021 + filename="libsoup/cookies/soup-cookie-jar.c" 4022 + line="783">Adds @cookie to @jar, exactly as though it had appeared in a 4023 + Set-Cookie header returned from a request to @uri. 4024 + 4025 + Keep in mind that if the [enum@CookieJarAcceptPolicy] set is either 4026 + %SOUP_COOKIE_JAR_ACCEPT_NO_THIRD_PARTY or 4027 + %SOUP_COOKIE_JAR_ACCEPT_GRANDFATHERED_THIRD_PARTY you'll need to use 4028 + [method@CookieJar.set_cookie_with_first_party], otherwise the jar 4029 + will have no way of knowing if the cookie is being set by a third 4030 + party or not.</doc> 4031 + <source-position filename="libsoup/cookies/soup-cookie-jar.h" 4032 + line="58"/> 4033 + <return-value transfer-ownership="none"> 4034 + <type name="none" c:type="void"/> 4035 + </return-value> 4036 + <parameters> 4037 + <instance-parameter name="jar" transfer-ownership="none"> 4038 + <doc xml:space="preserve" 4039 + filename="libsoup/cookies/soup-cookie-jar.c" 4040 + line="785">a #SoupCookieJar</doc> 4041 + <type name="CookieJar" c:type="SoupCookieJar*"/> 4042 + </instance-parameter> 4043 + <parameter name="uri" transfer-ownership="none"> 4044 + <doc xml:space="preserve" 4045 + filename="libsoup/cookies/soup-cookie-jar.c" 4046 + line="786">the URI setting the cookie</doc> 4047 + <type name="GLib.Uri" c:type="GUri*"/> 4048 + </parameter> 4049 + <parameter name="cookie" transfer-ownership="none"> 4050 + <doc xml:space="preserve" 4051 + filename="libsoup/cookies/soup-cookie-jar.c" 4052 + line="787">the stringified cookie to set</doc> 4053 + <type name="utf8" c:type="const char*"/> 4054 + </parameter> 4055 + </parameters> 4056 + </method> 4057 + <method name="set_cookie_with_first_party" 4058 + c:identifier="soup_cookie_jar_set_cookie_with_first_party"> 4059 + <doc xml:space="preserve" 4060 + filename="libsoup/cookies/soup-cookie-jar.c" 4061 + line="827">Adds @cookie to @jar, exactly as though it had appeared in a 4062 + Set-Cookie header returned from a request to @uri. 4063 + 4064 + @first_party will be used to reject cookies coming from third party resources 4065 + in case such a security policy is set in the @jar.</doc> 4066 + <source-position filename="libsoup/cookies/soup-cookie-jar.h" 4067 + line="62"/> 4068 + <return-value transfer-ownership="none"> 4069 + <type name="none" c:type="void"/> 4070 + </return-value> 4071 + <parameters> 4072 + <instance-parameter name="jar" transfer-ownership="none"> 4073 + <doc xml:space="preserve" 4074 + filename="libsoup/cookies/soup-cookie-jar.c" 4075 + line="829">a #SoupCookieJar</doc> 4076 + <type name="CookieJar" c:type="SoupCookieJar*"/> 4077 + </instance-parameter> 4078 + <parameter name="uri" transfer-ownership="none"> 4079 + <doc xml:space="preserve" 4080 + filename="libsoup/cookies/soup-cookie-jar.c" 4081 + line="830">the URI setting the cookie</doc> 4082 + <type name="GLib.Uri" c:type="GUri*"/> 4083 + </parameter> 4084 + <parameter name="first_party" transfer-ownership="none"> 4085 + <doc xml:space="preserve" 4086 + filename="libsoup/cookies/soup-cookie-jar.c" 4087 + line="831">the URI for the main document</doc> 4088 + <type name="GLib.Uri" c:type="GUri*"/> 4089 + </parameter> 4090 + <parameter name="cookie" transfer-ownership="none"> 4091 + <doc xml:space="preserve" 4092 + filename="libsoup/cookies/soup-cookie-jar.c" 4093 + line="832">the stringified cookie to set</doc> 4094 + <type name="utf8" c:type="const char*"/> 4095 + </parameter> 4096 + </parameters> 4097 + </method> 4098 + <property name="accept-policy" 4099 + writable="1" 4100 + transfer-ownership="none" 4101 + setter="set_accept_policy" 4102 + getter="get_accept_policy" 4103 + default-value="SOUP_COOKIE_JAR_ACCEPT_ALWAYS"> 4104 + <attribute name="org.gtk.Property.get" 4105 + value="soup_cookie_jar_get_accept_policy"/> 4106 + <attribute name="org.gtk.Property.set" 4107 + value="soup_cookie_jar_set_accept_policy"/> 4108 + <doc xml:space="preserve" 4109 + filename="libsoup/cookies/soup-cookie-jar.c" 4110 + line="208">The policy the jar should follow to accept or reject cookies.</doc> 4111 + <type name="CookieJarAcceptPolicy"/> 4112 + </property> 4113 + <property name="read-only" 4114 + writable="1" 4115 + construct-only="1" 4116 + transfer-ownership="none" 4117 + default-value="FALSE"> 4118 + <doc xml:space="preserve" 4119 + filename="libsoup/cookies/soup-cookie-jar.c" 4120 + line="195">Whether or not the cookie jar is read-only.</doc> 4121 + <type name="gboolean" c:type="gboolean"/> 4122 + </property> 4123 + <field name="parent_instance"> 4124 + <type name="GObject.Object" c:type="GObject"/> 4125 + </field> 4126 + <glib:signal name="changed" when="first"> 4127 + <doc xml:space="preserve" 4128 + filename="libsoup/cookies/soup-cookie-jar.c" 4129 + line="168">Emitted when @jar changes. 4130 + 4131 + If a cookie has been added, 4132 + @new_cookie will contain the newly-added cookie and 4133 + @old_cookie will be %NULL. If a cookie has been deleted, 4134 + @old_cookie will contain the to-be-deleted cookie and 4135 + @new_cookie will be %NULL. If a cookie has been changed, 4136 + @old_cookie will contain its old value, and @new_cookie its 4137 + new value.</doc> 4138 + <return-value transfer-ownership="none"> 4139 + <type name="none" c:type="void"/> 4140 + </return-value> 4141 + <parameters> 4142 + <parameter name="old_cookie" transfer-ownership="none"> 4143 + <doc xml:space="preserve" 4144 + filename="libsoup/cookies/soup-cookie-jar.c" 4145 + line="171">the old #SoupCookie value</doc> 4146 + <type name="Cookie"/> 4147 + </parameter> 4148 + <parameter name="new_cookie" transfer-ownership="none"> 4149 + <doc xml:space="preserve" 4150 + filename="libsoup/cookies/soup-cookie-jar.c" 4151 + line="172">the new #SoupCookie value</doc> 4152 + <type name="Cookie"/> 4153 + </parameter> 4154 + </parameters> 4155 + </glib:signal> 4156 + </class> 4157 + <enumeration name="CookieJarAcceptPolicy" 4158 + glib:type-name="SoupCookieJarAcceptPolicy" 4159 + glib:get-type="soup_cookie_jar_accept_policy_get_type" 4160 + c:type="SoupCookieJarAcceptPolicy"> 4161 + <doc xml:space="preserve" 4162 + filename="libsoup/cookies/soup-cookie-jar.c" 4163 + line="1022">The policy for accepting or rejecting cookies returned in 4164 + responses.</doc> 4165 + <member name="always" 4166 + value="0" 4167 + c:identifier="SOUP_COOKIE_JAR_ACCEPT_ALWAYS" 4168 + glib:nick="always" 4169 + glib:name="SOUP_COOKIE_JAR_ACCEPT_ALWAYS"> 4170 + <doc xml:space="preserve" 4171 + filename="libsoup/cookies/soup-cookie-jar.c" 4172 + line="1024">accept all cookies unconditionally.</doc> 4173 + </member> 4174 + <member name="never" 4175 + value="1" 4176 + c:identifier="SOUP_COOKIE_JAR_ACCEPT_NEVER" 4177 + glib:nick="never" 4178 + glib:name="SOUP_COOKIE_JAR_ACCEPT_NEVER"> 4179 + <doc xml:space="preserve" 4180 + filename="libsoup/cookies/soup-cookie-jar.c" 4181 + line="1025">reject all cookies unconditionally.</doc> 4182 + </member> 4183 + <member name="no_third_party" 4184 + value="2" 4185 + c:identifier="SOUP_COOKIE_JAR_ACCEPT_NO_THIRD_PARTY" 4186 + glib:nick="no-third-party" 4187 + glib:name="SOUP_COOKIE_JAR_ACCEPT_NO_THIRD_PARTY"> 4188 + <doc xml:space="preserve" 4189 + filename="libsoup/cookies/soup-cookie-jar.c" 4190 + line="1026">accept all cookies set by the main 4191 + document loaded in the application using libsoup. An example of the most 4192 + common case, web browsers, would be: If http://www.example.com is the page 4193 + loaded, accept all cookies set by example.com, but if a resource from 4194 + http://www.third-party.com is loaded from that page reject any cookie that 4195 + it could try to set. For libsoup to be able to tell apart first party 4196 + cookies from the rest, the application must call 4197 + [method@Message.set_first_party] on each outgoing [class@Message], setting 4198 + the [struct@GLib.Uri] of the main document. If no first party is set in a 4199 + message when this policy is in effect, cookies will be assumed to be third 4200 + party by default.</doc> 4201 + </member> 4202 + <member name="grandfathered_third_party" 4203 + value="3" 4204 + c:identifier="SOUP_COOKIE_JAR_ACCEPT_GRANDFATHERED_THIRD_PARTY" 4205 + glib:nick="grandfathered-third-party" 4206 + glib:name="SOUP_COOKIE_JAR_ACCEPT_GRANDFATHERED_THIRD_PARTY"> 4207 + <doc xml:space="preserve" 4208 + filename="libsoup/cookies/soup-cookie-jar.c" 4209 + line="1037">accept all cookies set by 4210 + the main document loaded in the application using libsoup, and from domains 4211 + that have previously set at least one cookie when loaded as the main 4212 + document. An example of the most common case, web browsers, would be: if 4213 + http://www.example.com is the page loaded, accept all cookies set by 4214 + example.com, but if a resource from http://www.third-party.com is loaded 4215 + from that page, reject any cookie that it could try to set unless it 4216 + already has a cookie in the cookie jar. For libsoup to be able to tell 4217 + apart first party cookies from the rest, the application must call 4218 + [method@Message.set_first_party] on each outgoing #SoupMessage, setting the 4219 + [struct@GLib.Uri] of the main document. If no first party is set in a 4220 + message when this policy is in effect, cookies will be assumed to be third 4221 + party by default.</doc> 4222 + </member> 4223 + </enumeration> 4224 + <record name="CookieJarClass" 4225 + c:type="SoupCookieJarClass" 4226 + glib:is-gtype-struct-for="CookieJar"> 4227 + <source-position filename="libsoup/cookies/soup-cookie-jar.h" line="29"/> 4228 + <field name="parent_class"> 4229 + <type name="GObject.ObjectClass" c:type="GObjectClass"/> 4230 + </field> 4231 + <field name="save"> 4232 + <callback name="save"> 4233 + <source-position filename="libsoup/cookies/soup-cookie-jar.h" 4234 + line="19"/> 4235 + <return-value transfer-ownership="none"> 4236 + <type name="none" c:type="void"/> 4237 + </return-value> 4238 + <parameters> 4239 + <parameter name="jar" transfer-ownership="none"> 4240 + <type name="CookieJar" c:type="SoupCookieJar*"/> 4241 + </parameter> 4242 + </parameters> 4243 + </callback> 4244 + </field> 4245 + <field name="is_persistent"> 4246 + <callback name="is_persistent"> 4247 + <source-position filename="libsoup/cookies/soup-cookie-jar.h" 4248 + line="20"/> 4249 + <return-value transfer-ownership="none"> 4250 + <doc xml:space="preserve" 4251 + filename="libsoup/cookies/soup-cookie-jar.c" 4252 + line="1103">%TRUE if @jar storage is persistent or %FALSE otherwise.</doc> 4253 + <type name="gboolean" c:type="gboolean"/> 4254 + </return-value> 4255 + <parameters> 4256 + <parameter name="jar" transfer-ownership="none"> 4257 + <doc xml:space="preserve" 4258 + filename="libsoup/cookies/soup-cookie-jar.c" 4259 + line="1099">a #SoupCookieJar</doc> 4260 + <type name="CookieJar" c:type="SoupCookieJar*"/> 4261 + </parameter> 4262 + </parameters> 4263 + </callback> 4264 + </field> 4265 + <field name="changed"> 4266 + <callback name="changed"> 4267 + <source-position filename="libsoup/cookies/soup-cookie-jar.h" 4268 + line="23"/> 4269 + <return-value transfer-ownership="none"> 4270 + <type name="none" c:type="void"/> 4271 + </return-value> 4272 + <parameters> 4273 + <parameter name="jar" transfer-ownership="none"> 4274 + <type name="CookieJar" c:type="SoupCookieJar*"/> 4275 + </parameter> 4276 + <parameter name="old_cookie" transfer-ownership="none"> 4277 + <type name="Cookie" c:type="SoupCookie*"/> 4278 + </parameter> 4279 + <parameter name="new_cookie" transfer-ownership="none"> 4280 + <type name="Cookie" c:type="SoupCookie*"/> 4281 + </parameter> 4282 + </parameters> 4283 + </callback> 4284 + </field> 4285 + <field name="padding"> 4286 + <array zero-terminated="0" fixed-size="6"> 4287 + <type name="gpointer" c:type="gpointer"/> 4288 + </array> 4289 + </field> 4290 + </record> 4291 + <class name="CookieJarDB" 4292 + c:symbol-prefix="cookie_jar_db" 4293 + c:type="SoupCookieJarDB" 4294 + parent="CookieJar" 4295 + final="1" 4296 + glib:type-name="SoupCookieJarDB" 4297 + glib:get-type="soup_cookie_jar_db_get_type" 4298 + glib:type-struct="CookieJarDBClass"> 4299 + <doc xml:space="preserve" 4300 + filename="libsoup/cookies/soup-cookie-jar-db.c" 4301 + line="21">Database-based Cookie Jar. 4302 + 4303 + #SoupCookieJarDB is a [class@CookieJar] that reads cookies from and writes 4304 + them to a sqlite database in the new Mozilla format. 4305 + 4306 + (This is identical to `SoupCookieJarSqlite` in 4307 + libsoup-gnome; it has just been moved into libsoup proper, and 4308 + renamed to avoid conflicting.)</doc> 4309 + <source-position filename="libsoup/cookies/soup-cookie-jar-db.h" 4310 + line="14"/> 4311 + <implements name="SessionFeature"/> 4312 + <constructor name="new" c:identifier="soup_cookie_jar_db_new"> 4313 + <doc xml:space="preserve" 4314 + filename="libsoup/cookies/soup-cookie-jar-db.c" 4315 + line="110">Creates a #SoupCookieJarDB. 4316 + 4317 + @filename will be read in at startup to create an initial set of cookies. If 4318 + @read_only is %FALSE, then the non-session cookies will be written to 4319 + @filename when the [signal@CookieJar::changed] signal is emitted from the 4320 + jar. (If @read_only is %TRUE, then the cookie jar will only be used for this 4321 + session, and changes made to it will be lost when the jar is destroyed.)</doc> 4322 + <source-position filename="libsoup/cookies/soup-cookie-jar-db.h" 4323 + line="17"/> 4324 + <return-value transfer-ownership="full"> 4325 + <doc xml:space="preserve" 4326 + filename="libsoup/cookies/soup-cookie-jar-db.c" 4327 + line="123">the new #SoupCookieJar</doc> 4328 + <type name="CookieJar" c:type="SoupCookieJar*"/> 4329 + </return-value> 4330 + <parameters> 4331 + <parameter name="filename" transfer-ownership="none"> 4332 + <doc xml:space="preserve" 4333 + filename="libsoup/cookies/soup-cookie-jar-db.c" 4334 + line="112">the filename to read to/write from, or %NULL</doc> 4335 + <type name="utf8" c:type="const char*"/> 4336 + </parameter> 4337 + <parameter name="read_only" transfer-ownership="none"> 4338 + <doc xml:space="preserve" 4339 + filename="libsoup/cookies/soup-cookie-jar-db.c" 4340 + line="113">%TRUE if @filename is read-only</doc> 4341 + <type name="gboolean" c:type="gboolean"/> 4342 + </parameter> 4343 + </parameters> 4344 + </constructor> 4345 + <property name="filename" 4346 + writable="1" 4347 + construct-only="1" 4348 + transfer-ownership="none" 4349 + default-value="NULL"> 4350 + <doc xml:space="preserve" 4351 + filename="libsoup/cookies/soup-cookie-jar-db.c" 4352 + line="335">Cookie-storage filename.</doc> 4353 + <type name="utf8" c:type="gchar*"/> 4354 + </property> 4355 + </class> 4356 + <record name="CookieJarDBClass" 4357 + c:type="SoupCookieJarDBClass" 4358 + glib:is-gtype-struct-for="CookieJarDB"> 4359 + <source-position filename="libsoup/cookies/soup-cookie-jar-db.h" 4360 + line="14"/> 4361 + <field name="parent_class"> 4362 + <type name="CookieJarClass" c:type="SoupCookieJarClass"/> 4363 + </field> 4364 + </record> 4365 + <class name="CookieJarText" 4366 + c:symbol-prefix="cookie_jar_text" 4367 + c:type="SoupCookieJarText" 4368 + parent="CookieJar" 4369 + final="1" 4370 + glib:type-name="SoupCookieJarText" 4371 + glib:get-type="soup_cookie_jar_text_get_type" 4372 + glib:type-struct="CookieJarTextClass"> 4373 + <doc xml:space="preserve" 4374 + filename="libsoup/cookies/soup-cookie-jar-text.c" 4375 + line="19">Text-file-based ("cookies.txt") Cookie Jar 4376 + 4377 + #SoupCookieJarText is a [class@CookieJar] that reads cookies from and writes 4378 + them to a text file in format similar to Mozilla's "cookies.txt".</doc> 4379 + <source-position filename="libsoup/cookies/soup-cookie-jar-text.h" 4380 + line="14"/> 4381 + <implements name="SessionFeature"/> 4382 + <constructor name="new" c:identifier="soup_cookie_jar_text_new"> 4383 + <doc xml:space="preserve" 4384 + filename="libsoup/cookies/soup-cookie-jar-text.c" 4385 + line="104">Creates a #SoupCookieJarText. 4386 + 4387 + @filename will be read in at startup to create an initial set of cookies. If 4388 + @read_only is %FALSE, then the non-session cookies will be written to 4389 + @filename when the [signal@CookieJar::changed] signal is emitted from the 4390 + jar. (If @read_only is %TRUE, then the cookie jar will only be used for this 4391 + session, and changes made to it will be lost when the jar is destroyed.)</doc> 4392 + <source-position filename="libsoup/cookies/soup-cookie-jar-text.h" 4393 + line="17"/> 4394 + <return-value transfer-ownership="full"> 4395 + <doc xml:space="preserve" 4396 + filename="libsoup/cookies/soup-cookie-jar-text.c" 4397 + line="117">the new #SoupCookieJar</doc> 4398 + <type name="CookieJar" c:type="SoupCookieJar*"/> 4399 + </return-value> 4400 + <parameters> 4401 + <parameter name="filename" transfer-ownership="none"> 4402 + <doc xml:space="preserve" 4403 + filename="libsoup/cookies/soup-cookie-jar-text.c" 4404 + line="106">the filename to read to/write from</doc> 4405 + <type name="utf8" c:type="const char*"/> 4406 + </parameter> 4407 + <parameter name="read_only" transfer-ownership="none"> 4408 + <doc xml:space="preserve" 4409 + filename="libsoup/cookies/soup-cookie-jar-text.c" 4410 + line="107">%TRUE if @filename is read-only</doc> 4411 + <type name="gboolean" c:type="gboolean"/> 4412 + </parameter> 4413 + </parameters> 4414 + </constructor> 4415 + <property name="filename" 4416 + writable="1" 4417 + construct-only="1" 4418 + transfer-ownership="none" 4419 + default-value="NULL"> 4420 + <doc xml:space="preserve" 4421 + filename="libsoup/cookies/soup-cookie-jar-text.c" 4422 + line="390">Cookie-storage filename.</doc> 4423 + <type name="utf8" c:type="gchar*"/> 4424 + </property> 4425 + </class> 4426 + <record name="CookieJarTextClass" 4427 + c:type="SoupCookieJarTextClass" 4428 + glib:is-gtype-struct-for="CookieJarText"> 4429 + <source-position filename="libsoup/cookies/soup-cookie-jar-text.h" 4430 + line="14"/> 4431 + <field name="parent_class"> 4432 + <type name="CookieJarClass" c:type="SoupCookieJarClass"/> 4433 + </field> 4434 + </record> 4435 + <function-macro name="DEPRECATED_FOR" 4436 + c:identifier="SOUP_DEPRECATED_FOR" 4437 + introspectable="0"> 4438 + <doc xml:space="preserve" 4439 + filename="libsoup/soup-version.h" 4440 + line="138">Marks a symbol as deprecated in favor of another symbol. 4441 + 4442 + You should use `SOUP_DEPRECATED_FOR_IN_*` in order to handle versioning.</doc> 4443 + <source-position filename="libsoup/soup-version.h" line="159"/> 4444 + <parameters> 4445 + <parameter name="f"> 4446 + <doc xml:space="preserve" 4447 + filename="libsoup/soup-version.h" 4448 + line="140">the symbol that replaces the deprecated one</doc> 4449 + </parameter> 4450 + </parameters> 4451 + </function-macro> 4452 + <function-macro name="DEPRECATED_IN_3_0_FOR" 4453 + c:identifier="SOUP_DEPRECATED_IN_3_0_FOR" 4454 + introspectable="0"> 4455 + <doc xml:space="preserve" 4456 + filename="libsoup/soup-version.h" 4457 + line="173">A macro used to indicate a symbol was deprecated in this version with a replacement.</doc> 4458 + <source-position filename="libsoup/soup-version.h" line="181"/> 4459 + <parameters> 4460 + <parameter name="f"> 4461 + <doc xml:space="preserve" 4462 + filename="libsoup/soup-version.h" 4463 + line="175">The recommended replacement function.</doc> 4464 + </parameter> 4465 + </parameters> 4466 + </function-macro> 4467 + <function-macro name="DEPRECATED_IN_3_2_FOR" 4468 + c:identifier="SOUP_DEPRECATED_IN_3_2_FOR" 4469 + introspectable="0"> 4470 + <doc xml:space="preserve" 4471 + filename="libsoup/soup-version.h" 4472 + line="200">A macro used to indicate a symbol was deprecated in this version with a replacement.</doc> 4473 + <source-position filename="libsoup/soup-version.h" line="208"/> 4474 + <parameters> 4475 + <parameter name="f"> 4476 + <doc xml:space="preserve" 4477 + filename="libsoup/soup-version.h" 4478 + line="202">The recommended replacement function.</doc> 4479 + </parameter> 4480 + </parameters> 4481 + </function-macro> 4482 + <function-macro name="DEPRECATED_IN_3_4_FOR" 4483 + c:identifier="SOUP_DEPRECATED_IN_3_4_FOR" 4484 + introspectable="0"> 4485 + <doc xml:space="preserve" 4486 + filename="libsoup/soup-version.h" 4487 + line="227">A macro used to indicate a symbol was deprecated in this version with a replacement.</doc> 4488 + <source-position filename="libsoup/soup-version.h" line="235"/> 4489 + <parameters> 4490 + <parameter name="f"> 4491 + <doc xml:space="preserve" 4492 + filename="libsoup/soup-version.h" 4493 + line="229">The recommended replacement function.</doc> 4494 + </parameter> 4495 + </parameters> 4496 + </function-macro> 4497 + <enumeration name="DateFormat" 4498 + glib:type-name="SoupDateFormat" 4499 + glib:get-type="soup_date_format_get_type" 4500 + c:type="SoupDateFormat"> 4501 + <doc xml:space="preserve" 4502 + filename="libsoup/soup-date-utils.c" 4503 + line="49">Date formats that [func@date_time_to_string] can use. 4504 + 4505 + @SOUP_DATE_HTTP and @SOUP_DATE_COOKIE always coerce the time to 4506 + UTC. 4507 + 4508 + This enum may be extended with more values in future releases.</doc> 4509 + <member name="http" 4510 + value="1" 4511 + c:identifier="SOUP_DATE_HTTP" 4512 + glib:nick="http" 4513 + glib:name="SOUP_DATE_HTTP"> 4514 + <doc xml:space="preserve" 4515 + filename="libsoup/soup-date-utils.c" 4516 + line="51">RFC 1123 format, used by the HTTP "Date" header. Eg 4517 + "Sun, 06 Nov 1994 08:49:37 GMT".</doc> 4518 + </member> 4519 + <member name="cookie" 4520 + value="2" 4521 + c:identifier="SOUP_DATE_COOKIE" 4522 + glib:nick="cookie" 4523 + glib:name="SOUP_DATE_COOKIE"> 4524 + <doc xml:space="preserve" 4525 + filename="libsoup/soup-date-utils.c" 4526 + line="53">The format for the "Expires" timestamp in the 4527 + Netscape cookie specification. Eg, "Sun, 06-Nov-1994 08:49:37 GMT".</doc> 4528 + </member> 4529 + </enumeration> 4530 + <enumeration name="Encoding" 4531 + glib:type-name="SoupEncoding" 4532 + glib:get-type="soup_encoding_get_type" 4533 + c:type="SoupEncoding"> 4534 + <doc xml:space="preserve" 4535 + filename="libsoup/soup-message-headers.c" 4536 + line="896">How a message body is encoded for transport</doc> 4537 + <member name="unrecognized" 4538 + value="0" 4539 + c:identifier="SOUP_ENCODING_UNRECOGNIZED" 4540 + glib:nick="unrecognized" 4541 + glib:name="SOUP_ENCODING_UNRECOGNIZED"> 4542 + <doc xml:space="preserve" 4543 + filename="libsoup/soup-message-headers.c" 4544 + line="898">unknown / error</doc> 4545 + </member> 4546 + <member name="none" 4547 + value="1" 4548 + c:identifier="SOUP_ENCODING_NONE" 4549 + glib:nick="none" 4550 + glib:name="SOUP_ENCODING_NONE"> 4551 + <doc xml:space="preserve" 4552 + filename="libsoup/soup-message-headers.c" 4553 + line="899">no body is present (which is not the same as a 4554 + 0-length body, and only occurs in certain places)</doc> 4555 + </member> 4556 + <member name="content_length" 4557 + value="2" 4558 + c:identifier="SOUP_ENCODING_CONTENT_LENGTH" 4559 + glib:nick="content-length" 4560 + glib:name="SOUP_ENCODING_CONTENT_LENGTH"> 4561 + <doc xml:space="preserve" 4562 + filename="libsoup/soup-message-headers.c" 4563 + line="901">Content-Length encoding</doc> 4564 + </member> 4565 + <member name="eof" 4566 + value="3" 4567 + c:identifier="SOUP_ENCODING_EOF" 4568 + glib:nick="eof" 4569 + glib:name="SOUP_ENCODING_EOF"> 4570 + <doc xml:space="preserve" 4571 + filename="libsoup/soup-message-headers.c" 4572 + line="902">Response body ends when the connection is closed</doc> 4573 + </member> 4574 + <member name="chunked" 4575 + value="4" 4576 + c:identifier="SOUP_ENCODING_CHUNKED" 4577 + glib:nick="chunked" 4578 + glib:name="SOUP_ENCODING_CHUNKED"> 4579 + <doc xml:space="preserve" 4580 + filename="libsoup/soup-message-headers.c" 4581 + line="903">chunked encoding (currently only supported 4582 + for response)</doc> 4583 + </member> 4584 + <member name="byteranges" 4585 + value="5" 4586 + c:identifier="SOUP_ENCODING_BYTERANGES" 4587 + glib:nick="byteranges" 4588 + glib:name="SOUP_ENCODING_BYTERANGES"> 4589 + <doc xml:space="preserve" 4590 + filename="libsoup/soup-message-headers.c" 4591 + line="905">multipart/byteranges (Reserved for future 4592 + use: NOT CURRENTLY IMPLEMENTED)</doc> 4593 + </member> 4594 + </enumeration> 4595 + <bitfield name="Expectation" 4596 + glib:type-name="SoupExpectation" 4597 + glib:get-type="soup_expectation_get_type" 4598 + c:type="SoupExpectation"> 4599 + <doc xml:space="preserve" 4600 + filename="libsoup/soup-message-headers.c" 4601 + line="1045">Represents the parsed value of the "Expect" header.</doc> 4602 + <member name="unrecognized" 4603 + value="1" 4604 + c:identifier="SOUP_EXPECTATION_UNRECOGNIZED" 4605 + glib:nick="unrecognized" 4606 + glib:name="SOUP_EXPECTATION_UNRECOGNIZED"> 4607 + <doc xml:space="preserve" 4608 + filename="libsoup/soup-message-headers.c" 4609 + line="1048">any unrecognized expectation</doc> 4610 + </member> 4611 + <member name="continue" 4612 + value="2" 4613 + c:identifier="SOUP_EXPECTATION_CONTINUE" 4614 + glib:nick="continue" 4615 + glib:name="SOUP_EXPECTATION_CONTINUE"> 4616 + <doc xml:space="preserve" 4617 + filename="libsoup/soup-message-headers.c" 4618 + line="1047">"100-continue"</doc> 4619 + </member> 4620 + </bitfield> 4621 + <constant name="FORM_MIME_TYPE_MULTIPART" 4622 + value="multipart/form-data" 4623 + c:type="SOUP_FORM_MIME_TYPE_MULTIPART"> 4624 + <doc xml:space="preserve" 4625 + filename="libsoup/soup-form.c" 4626 + line="25">A macro containing the value 4627 + `multipart/form-data`; the MIME type used for 4628 + posting form data that contains files to be uploaded.</doc> 4629 + <source-position filename="libsoup/soup-form.h" line="15"/> 4630 + <type name="utf8" c:type="gchar*"/> 4631 + </constant> 4632 + <constant name="FORM_MIME_TYPE_URLENCODED" 4633 + value="application/x-www-form-urlencoded" 4634 + c:type="SOUP_FORM_MIME_TYPE_URLENCODED"> 4635 + <doc xml:space="preserve" 4636 + filename="libsoup/soup-form.c" 4637 + line="17">A macro containing the value 4638 + `application/x-www-form-urlencoded`; the default 4639 + MIME type for POSTing HTML form data.</doc> 4640 + <source-position filename="libsoup/soup-form.h" line="14"/> 4641 + <type name="utf8" c:type="gchar*"/> 4642 + </constant> 4643 + <class name="HSTSEnforcer" 4644 + c:symbol-prefix="hsts_enforcer" 4645 + c:type="SoupHSTSEnforcer" 4646 + parent="GObject.Object" 4647 + glib:type-name="SoupHSTSEnforcer" 4648 + glib:get-type="soup_hsts_enforcer_get_type" 4649 + glib:type-struct="HSTSEnforcerClass"> 4650 + <doc xml:space="preserve" 4651 + filename="libsoup/hsts/soup-hsts-enforcer.c" 4652 + line="21">Automatic HTTP Strict Transport Security enforcing for [class@Session]. 4653 + 4654 + A #SoupHSTSEnforcer stores HSTS policies and enforces them when 4655 + required. #SoupHSTSEnforcer implements [iface@SessionFeature], so you 4656 + can add an HSTS enforcer to a session with 4657 + [method@Session.add_feature] or [method@Session.add_feature_by_type]. 4658 + 4659 + #SoupHSTSEnforcer keeps track of all the HTTPS destinations that, 4660 + when connected to, return the Strict-Transport-Security header with 4661 + valid values. #SoupHSTSEnforcer will forget those destinations 4662 + upon expiry or when the server requests it. 4663 + 4664 + When the [class@Session] the #SoupHSTSEnforcer is attached to queues or 4665 + restarts a message, the #SoupHSTSEnforcer will rewrite the URI to HTTPS if 4666 + the destination is a known HSTS host and is contacted over an insecure 4667 + transport protocol (HTTP). Users of #SoupHSTSEnforcer are advised to listen 4668 + to changes in the [property@Message:uri] property in order to be aware of 4669 + changes in the message URI. 4670 + 4671 + Note that #SoupHSTSEnforcer does not support any form of long-term 4672 + HSTS policy persistence. See [class@HSTSEnforcerDB] for a persistent 4673 + enforcer.</doc> 4674 + <source-position filename="libsoup/hsts/soup-hsts-enforcer.h" line="44"/> 4675 + <implements name="SessionFeature"/> 4676 + <constructor name="new" c:identifier="soup_hsts_enforcer_new"> 4677 + <doc xml:space="preserve" 4678 + filename="libsoup/hsts/soup-hsts-enforcer.c" 4679 + line="185">Creates a new #SoupHSTSEnforcer. 4680 + 4681 + The base #SoupHSTSEnforcer class does not support persistent storage of HSTS 4682 + policies, see [class@HSTSEnforcerDB] for that.</doc> 4683 + <source-position filename="libsoup/hsts/soup-hsts-enforcer.h" 4684 + line="47"/> 4685 + <return-value transfer-ownership="full"> 4686 + <doc xml:space="preserve" 4687 + filename="libsoup/hsts/soup-hsts-enforcer.c" 4688 + line="193">a new #SoupHSTSEnforcer</doc> 4689 + <type name="HSTSEnforcer" c:type="SoupHSTSEnforcer*"/> 4690 + </return-value> 4691 + </constructor> 4692 + <virtual-method name="changed"> 4693 + <doc xml:space="preserve" 4694 + filename="libsoup/hsts/soup-hsts-enforcer.h" 4695 + line="27">The class closure for the #SoupHSTSEnforcer::changed signal.</doc> 4696 + <source-position filename="libsoup/hsts/soup-hsts-enforcer.h" 4697 + line="38"/> 4698 + <return-value transfer-ownership="none"> 4699 + <type name="none" c:type="void"/> 4700 + </return-value> 4701 + <parameters> 4702 + <instance-parameter name="enforcer" transfer-ownership="none"> 4703 + <type name="HSTSEnforcer" c:type="SoupHSTSEnforcer*"/> 4704 + </instance-parameter> 4705 + <parameter name="old_policy" transfer-ownership="none"> 4706 + <type name="HSTSPolicy" c:type="SoupHSTSPolicy*"/> 4707 + </parameter> 4708 + <parameter name="new_policy" transfer-ownership="none"> 4709 + <type name="HSTSPolicy" c:type="SoupHSTSPolicy*"/> 4710 + </parameter> 4711 + </parameters> 4712 + </virtual-method> 4713 + <virtual-method name="has_valid_policy" invoker="has_valid_policy"> 4714 + <doc xml:space="preserve" 4715 + filename="libsoup/hsts/soup-hsts-enforcer.c" 4716 + line="604">Gets whether @hsts_enforcer has a currently valid policy for @domain.</doc> 4717 + <source-position filename="libsoup/hsts/soup-hsts-enforcer.h" 4718 + line="35"/> 4719 + <return-value transfer-ownership="none"> 4720 + <doc xml:space="preserve" 4721 + filename="libsoup/hsts/soup-hsts-enforcer.c" 4722 + line="611">%TRUE if access to @domain should happen over HTTPS, false 4723 + otherwise.</doc> 4724 + <type name="gboolean" c:type="gboolean"/> 4725 + </return-value> 4726 + <parameters> 4727 + <instance-parameter name="hsts_enforcer" transfer-ownership="none"> 4728 + <doc xml:space="preserve" 4729 + filename="libsoup/hsts/soup-hsts-enforcer.c" 4730 + line="606">a #SoupHSTSEnforcer</doc> 4731 + <type name="HSTSEnforcer" c:type="SoupHSTSEnforcer*"/> 4732 + </instance-parameter> 4733 + <parameter name="domain" transfer-ownership="none"> 4734 + <doc xml:space="preserve" 4735 + filename="libsoup/hsts/soup-hsts-enforcer.c" 4736 + line="607">a domain.</doc> 4737 + <type name="utf8" c:type="const char*"/> 4738 + </parameter> 4739 + </parameters> 4740 + </virtual-method> 4741 + <virtual-method name="is_persistent" invoker="is_persistent"> 4742 + <doc xml:space="preserve" 4743 + filename="libsoup/hsts/soup-hsts-enforcer.c" 4744 + line="588">Gets whether @hsts_enforcer stores policies persistenly.</doc> 4745 + <source-position filename="libsoup/hsts/soup-hsts-enforcer.h" 4746 + line="34"/> 4747 + <return-value transfer-ownership="none"> 4748 + <doc xml:space="preserve" 4749 + filename="libsoup/hsts/soup-hsts-enforcer.c" 4750 + line="594">%TRUE if @hsts_enforcer storage is persistent or %FALSE otherwise.</doc> 4751 + <type name="gboolean" c:type="gboolean"/> 4752 + </return-value> 4753 + <parameters> 4754 + <instance-parameter name="hsts_enforcer" transfer-ownership="none"> 4755 + <doc xml:space="preserve" 4756 + filename="libsoup/hsts/soup-hsts-enforcer.c" 4757 + line="590">a #SoupHSTSEnforcer</doc> 4758 + <type name="HSTSEnforcer" c:type="SoupHSTSEnforcer*"/> 4759 + </instance-parameter> 4760 + </parameters> 4761 + </virtual-method> 4762 + <method name="get_domains" c:identifier="soup_hsts_enforcer_get_domains"> 4763 + <doc xml:space="preserve" 4764 + filename="libsoup/hsts/soup-hsts-enforcer.c" 4765 + line="646">Gets a list of domains for which there are policies in @enforcer.</doc> 4766 + <source-position filename="libsoup/hsts/soup-hsts-enforcer.h" 4767 + line="62"/> 4768 + <return-value transfer-ownership="full"> 4769 + <doc xml:space="preserve" 4770 + filename="libsoup/hsts/soup-hsts-enforcer.c" 4771 + line="653">a newly allocated 4772 + list of domains. Use [func@GLib.List.free_full] and [func@GLib.free] to free the 4773 + list.</doc> 4774 + <type name="GLib.List" c:type="GList*"> 4775 + <type name="utf8"/> 4776 + </type> 4777 + </return-value> 4778 + <parameters> 4779 + <instance-parameter name="hsts_enforcer" transfer-ownership="none"> 4780 + <doc xml:space="preserve" 4781 + filename="libsoup/hsts/soup-hsts-enforcer.c" 4782 + line="648">a #SoupHSTSEnforcer</doc> 4783 + <type name="HSTSEnforcer" c:type="SoupHSTSEnforcer*"/> 4784 + </instance-parameter> 4785 + <parameter name="session_policies" transfer-ownership="none"> 4786 + <doc xml:space="preserve" 4787 + filename="libsoup/hsts/soup-hsts-enforcer.c" 4788 + line="649">whether to include session policies</doc> 4789 + <type name="gboolean" c:type="gboolean"/> 4790 + </parameter> 4791 + </parameters> 4792 + </method> 4793 + <method name="get_policies" 4794 + c:identifier="soup_hsts_enforcer_get_policies"> 4795 + <doc xml:space="preserve" 4796 + filename="libsoup/hsts/soup-hsts-enforcer.c" 4797 + line="682">Gets a list with the policies in @enforcer.</doc> 4798 + <source-position filename="libsoup/hsts/soup-hsts-enforcer.h" 4799 + line="66"/> 4800 + <return-value transfer-ownership="full"> 4801 + <doc xml:space="preserve" 4802 + filename="libsoup/hsts/soup-hsts-enforcer.c" 4803 + line="689">a newly 4804 + allocated list of policies. Use [func@GLib.List.free_full] and 4805 + [method@HSTSPolicy.free] to free the list.</doc> 4806 + <type name="GLib.List" c:type="GList*"> 4807 + <type name="HSTSPolicy"/> 4808 + </type> 4809 + </return-value> 4810 + <parameters> 4811 + <instance-parameter name="hsts_enforcer" transfer-ownership="none"> 4812 + <doc xml:space="preserve" 4813 + filename="libsoup/hsts/soup-hsts-enforcer.c" 4814 + line="684">a #SoupHSTSEnforcer</doc> 4815 + <type name="HSTSEnforcer" c:type="SoupHSTSEnforcer*"/> 4816 + </instance-parameter> 4817 + <parameter name="session_policies" transfer-ownership="none"> 4818 + <doc xml:space="preserve" 4819 + filename="libsoup/hsts/soup-hsts-enforcer.c" 4820 + line="685">whether to include session policies</doc> 4821 + <type name="gboolean" c:type="gboolean"/> 4822 + </parameter> 4823 + </parameters> 4824 + </method> 4825 + <method name="has_valid_policy" 4826 + c:identifier="soup_hsts_enforcer_has_valid_policy"> 4827 + <doc xml:space="preserve" 4828 + filename="libsoup/hsts/soup-hsts-enforcer.c" 4829 + line="604">Gets whether @hsts_enforcer has a currently valid policy for @domain.</doc> 4830 + <source-position filename="libsoup/hsts/soup-hsts-enforcer.h" 4831 + line="51"/> 4832 + <return-value transfer-ownership="none"> 4833 + <doc xml:space="preserve" 4834 + filename="libsoup/hsts/soup-hsts-enforcer.c" 4835 + line="611">%TRUE if access to @domain should happen over HTTPS, false 4836 + otherwise.</doc> 4837 + <type name="gboolean" c:type="gboolean"/> 4838 + </return-value> 4839 + <parameters> 4840 + <instance-parameter name="hsts_enforcer" transfer-ownership="none"> 4841 + <doc xml:space="preserve" 4842 + filename="libsoup/hsts/soup-hsts-enforcer.c" 4843 + line="606">a #SoupHSTSEnforcer</doc> 4844 + <type name="HSTSEnforcer" c:type="SoupHSTSEnforcer*"/> 4845 + </instance-parameter> 4846 + <parameter name="domain" transfer-ownership="none"> 4847 + <doc xml:space="preserve" 4848 + filename="libsoup/hsts/soup-hsts-enforcer.c" 4849 + line="607">a domain.</doc> 4850 + <type name="utf8" c:type="const char*"/> 4851 + </parameter> 4852 + </parameters> 4853 + </method> 4854 + <method name="is_persistent" 4855 + c:identifier="soup_hsts_enforcer_is_persistent"> 4856 + <doc xml:space="preserve" 4857 + filename="libsoup/hsts/soup-hsts-enforcer.c" 4858 + line="588">Gets whether @hsts_enforcer stores policies persistenly.</doc> 4859 + <source-position filename="libsoup/hsts/soup-hsts-enforcer.h" 4860 + line="49"/> 4861 + <return-value transfer-ownership="none"> 4862 + <doc xml:space="preserve" 4863 + filename="libsoup/hsts/soup-hsts-enforcer.c" 4864 + line="594">%TRUE if @hsts_enforcer storage is persistent or %FALSE otherwise.</doc> 4865 + <type name="gboolean" c:type="gboolean"/> 4866 + </return-value> 4867 + <parameters> 4868 + <instance-parameter name="hsts_enforcer" transfer-ownership="none"> 4869 + <doc xml:space="preserve" 4870 + filename="libsoup/hsts/soup-hsts-enforcer.c" 4871 + line="590">a #SoupHSTSEnforcer</doc> 4872 + <type name="HSTSEnforcer" c:type="SoupHSTSEnforcer*"/> 4873 + </instance-parameter> 4874 + </parameters> 4875 + </method> 4876 + <method name="set_policy" c:identifier="soup_hsts_enforcer_set_policy"> 4877 + <doc xml:space="preserve" 4878 + filename="libsoup/hsts/soup-hsts-enforcer.c" 4879 + line="314">Sets @policy to @hsts_enforcer. 4880 + 4881 + If @policy is expired, any existing HSTS policy for its host will be removed 4882 + instead. If a policy existed for this host, it will be replaced. Otherwise, 4883 + the new policy will be inserted. If the policy is a session policy, that is, 4884 + one created with [ctor@HSTSPolicy.new_session_policy], the policy will not 4885 + expire and will be enforced during the lifetime of @hsts_enforcer's 4886 + [class@Session].</doc> 4887 + <source-position filename="libsoup/hsts/soup-hsts-enforcer.h" 4888 + line="58"/> 4889 + <return-value transfer-ownership="none"> 4890 + <type name="none" c:type="void"/> 4891 + </return-value> 4892 + <parameters> 4893 + <instance-parameter name="hsts_enforcer" transfer-ownership="none"> 4894 + <doc xml:space="preserve" 4895 + filename="libsoup/hsts/soup-hsts-enforcer.c" 4896 + line="316">a #SoupHSTSEnforcer</doc> 4897 + <type name="HSTSEnforcer" c:type="SoupHSTSEnforcer*"/> 4898 + </instance-parameter> 4899 + <parameter name="policy" transfer-ownership="none"> 4900 + <doc xml:space="preserve" 4901 + filename="libsoup/hsts/soup-hsts-enforcer.c" 4902 + line="317">the policy of the HSTS host</doc> 4903 + <type name="HSTSPolicy" c:type="SoupHSTSPolicy*"/> 4904 + </parameter> 4905 + </parameters> 4906 + </method> 4907 + <method name="set_session_policy" 4908 + c:identifier="soup_hsts_enforcer_set_session_policy"> 4909 + <doc xml:space="preserve" 4910 + filename="libsoup/hsts/soup-hsts-enforcer.c" 4911 + line="364">Sets a session policy for @domain. 4912 + 4913 + A session policy is a policy that is permanent to the lifetime of 4914 + @hsts_enforcer's [class@Session] and doesn't expire.</doc> 4915 + <source-position filename="libsoup/hsts/soup-hsts-enforcer.h" 4916 + line="54"/> 4917 + <return-value transfer-ownership="none"> 4918 + <type name="none" c:type="void"/> 4919 + </return-value> 4920 + <parameters> 4921 + <instance-parameter name="hsts_enforcer" transfer-ownership="none"> 4922 + <doc xml:space="preserve" 4923 + filename="libsoup/hsts/soup-hsts-enforcer.c" 4924 + line="366">a #SoupHSTSEnforcer</doc> 4925 + <type name="HSTSEnforcer" c:type="SoupHSTSEnforcer*"/> 4926 + </instance-parameter> 4927 + <parameter name="domain" transfer-ownership="none"> 4928 + <doc xml:space="preserve" 4929 + filename="libsoup/hsts/soup-hsts-enforcer.c" 4930 + line="367">policy domain or hostname</doc> 4931 + <type name="utf8" c:type="const char*"/> 4932 + </parameter> 4933 + <parameter name="include_subdomains" transfer-ownership="none"> 4934 + <doc xml:space="preserve" 4935 + filename="libsoup/hsts/soup-hsts-enforcer.c" 4936 + line="368">%TRUE if the policy applies on sub domains</doc> 4937 + <type name="gboolean" c:type="gboolean"/> 4938 + </parameter> 4939 + </parameters> 4940 + </method> 4941 + <field name="parent_instance"> 4942 + <type name="GObject.Object" c:type="GObject"/> 4943 + </field> 4944 + <glib:signal name="changed" when="first"> 4945 + <doc xml:space="preserve" 4946 + filename="libsoup/hsts/soup-hsts-enforcer.c" 4947 + line="154">Emitted when @hsts_enforcer changes. 4948 + 4949 + If a policy has been added, 4950 + @new_policy will contain the newly-added policy and 4951 + @old_policy will be %NULL. If a policy has been deleted, 4952 + @old_policy will contain the to-be-deleted policy and 4953 + @new_policy will be %NULL. If a policy has been changed, 4954 + @old_policy will contain its old value, and @new_policy its 4955 + new value. 4956 + 4957 + Note that you shouldn't modify the policies from a callback to 4958 + this signal.</doc> 4959 + <return-value transfer-ownership="none"> 4960 + <type name="none" c:type="void"/> 4961 + </return-value> 4962 + <parameters> 4963 + <parameter name="old_policy" transfer-ownership="none"> 4964 + <doc xml:space="preserve" 4965 + filename="libsoup/hsts/soup-hsts-enforcer.c" 4966 + line="157">the old #SoupHSTSPolicy value</doc> 4967 + <type name="HSTSPolicy"/> 4968 + </parameter> 4969 + <parameter name="new_policy" transfer-ownership="none"> 4970 + <doc xml:space="preserve" 4971 + filename="libsoup/hsts/soup-hsts-enforcer.c" 4972 + line="158">the new #SoupHSTSPolicy value</doc> 4973 + <type name="HSTSPolicy"/> 4974 + </parameter> 4975 + </parameters> 4976 + </glib:signal> 4977 + </class> 4978 + <record name="HSTSEnforcerClass" 4979 + c:type="SoupHSTSEnforcerClass" 4980 + glib:is-gtype-struct-for="HSTSEnforcer"> 4981 + <doc xml:space="preserve" 4982 + filename="libsoup/hsts/soup-hsts-enforcer.h" 4983 + line="17">Class structure for #SoupHSTSEnforcer.</doc> 4984 + <source-position filename="libsoup/hsts/soup-hsts-enforcer.h" line="44"/> 4985 + <field name="parent_class"> 4986 + <doc xml:space="preserve" 4987 + filename="libsoup/hsts/soup-hsts-enforcer.h" 4988 + line="19">The parent class.</doc> 4989 + <type name="GObject.ObjectClass" c:type="GObjectClass"/> 4990 + </field> 4991 + <field name="is_persistent"> 4992 + <doc xml:space="preserve" 4993 + filename="libsoup/hsts/soup-hsts-enforcer.h" 4994 + line="20">The @is_persistent function advertises whether the enforcer is persistent or 4995 + whether changes made to it will be lost when the underlying [class@Session] is finished.</doc> 4996 + <callback name="is_persistent"> 4997 + <source-position filename="libsoup/hsts/soup-hsts-enforcer.h" 4998 + line="34"/> 4999 + <return-value transfer-ownership="none"> 5000 + <doc xml:space="preserve" 5001 + filename="libsoup/hsts/soup-hsts-enforcer.c" 5002 + line="594">%TRUE if @hsts_enforcer storage is persistent or %FALSE otherwise.</doc> 5003 + <type name="gboolean" c:type="gboolean"/> 5004 + </return-value> 5005 + <parameters> 5006 + <parameter name="hsts_enforcer" transfer-ownership="none"> 5007 + <doc xml:space="preserve" 5008 + filename="libsoup/hsts/soup-hsts-enforcer.c" 5009 + line="590">a #SoupHSTSEnforcer</doc> 5010 + <type name="HSTSEnforcer" c:type="SoupHSTSEnforcer*"/> 5011 + </parameter> 5012 + </parameters> 5013 + </callback> 5014 + </field> 5015 + <field name="has_valid_policy"> 5016 + <doc xml:space="preserve" 5017 + filename="libsoup/hsts/soup-hsts-enforcer.h" 5018 + line="22">The @has_valid_policy function is called to check whether there is a valid 5019 + policy for the given domain. This method should return %TRUE for #SoupHSTSEnforcer to 5020 + change the scheme of the #GUri in the #SoupMessage to HTTPS. Implementations might want to 5021 + chain up to the @has_valid_policy in the parent class to check, for instance, for runtime 5022 + policies.</doc> 5023 + <callback name="has_valid_policy"> 5024 + <source-position filename="libsoup/hsts/soup-hsts-enforcer.h" 5025 + line="35"/> 5026 + <return-value transfer-ownership="none"> 5027 + <doc xml:space="preserve" 5028 + filename="libsoup/hsts/soup-hsts-enforcer.c" 5029 + line="611">%TRUE if access to @domain should happen over HTTPS, false 5030 + otherwise.</doc> 5031 + <type name="gboolean" c:type="gboolean"/> 5032 + </return-value> 5033 + <parameters> 5034 + <parameter name="hsts_enforcer" transfer-ownership="none"> 5035 + <doc xml:space="preserve" 5036 + filename="libsoup/hsts/soup-hsts-enforcer.c" 5037 + line="606">a #SoupHSTSEnforcer</doc> 5038 + <type name="HSTSEnforcer" c:type="SoupHSTSEnforcer*"/> 5039 + </parameter> 5040 + <parameter name="domain" transfer-ownership="none"> 5041 + <doc xml:space="preserve" 5042 + filename="libsoup/hsts/soup-hsts-enforcer.c" 5043 + line="607">a domain.</doc> 5044 + <type name="utf8" c:type="const char*"/> 5045 + </parameter> 5046 + </parameters> 5047 + </callback> 5048 + </field> 5049 + <field name="changed"> 5050 + <doc xml:space="preserve" 5051 + filename="libsoup/hsts/soup-hsts-enforcer.h" 5052 + line="27">The class closure for the #SoupHSTSEnforcer::changed signal.</doc> 5053 + <callback name="changed"> 5054 + <source-position filename="libsoup/hsts/soup-hsts-enforcer.h" 5055 + line="38"/> 5056 + <return-value transfer-ownership="none"> 5057 + <type name="none" c:type="void"/> 5058 + </return-value> 5059 + <parameters> 5060 + <parameter name="enforcer" transfer-ownership="none"> 5061 + <type name="HSTSEnforcer" c:type="SoupHSTSEnforcer*"/> 5062 + </parameter> 5063 + <parameter name="old_policy" transfer-ownership="none"> 5064 + <type name="HSTSPolicy" c:type="SoupHSTSPolicy*"/> 5065 + </parameter> 5066 + <parameter name="new_policy" transfer-ownership="none"> 5067 + <type name="HSTSPolicy" c:type="SoupHSTSPolicy*"/> 5068 + </parameter> 5069 + </parameters> 5070 + </callback> 5071 + </field> 5072 + <field name="padding" readable="0" private="1"> 5073 + <array zero-terminated="0" fixed-size="4"> 5074 + <type name="gpointer" c:type="gpointer"/> 5075 + </array> 5076 + </field> 5077 + </record> 5078 + <class name="HSTSEnforcerDB" 5079 + c:symbol-prefix="hsts_enforcer_db" 5080 + c:type="SoupHSTSEnforcerDB" 5081 + parent="HSTSEnforcer" 5082 + final="1" 5083 + glib:type-name="SoupHSTSEnforcerDB" 5084 + glib:get-type="soup_hsts_enforcer_db_get_type" 5085 + glib:type-struct="HSTSEnforcerDBClass"> 5086 + <doc xml:space="preserve" 5087 + filename="libsoup/hsts/soup-hsts-enforcer-db.c" 5088 + line="21">Persistent HTTP Strict Transport Security enforcer. 5089 + 5090 + #SoupHSTSEnforcerDB is a [class@HSTSEnforcer] that uses a SQLite 5091 + database as a backend for persistency.</doc> 5092 + <source-position filename="libsoup/hsts/soup-hsts-enforcer-db.h" 5093 + line="15"/> 5094 + <implements name="SessionFeature"/> 5095 + <constructor name="new" c:identifier="soup_hsts_enforcer_db_new"> 5096 + <doc xml:space="preserve" 5097 + filename="libsoup/hsts/soup-hsts-enforcer-db.c" 5098 + line="103">Creates a #SoupHSTSEnforcerDB. 5099 + 5100 + @filename will be read in during the initialization of a 5101 + #SoupHSTSEnforcerDB, in order to create an initial set of HSTS 5102 + policies. If the file doesn't exist, a new database will be created 5103 + and initialized. Changes to the policies during the lifetime of a 5104 + #SoupHSTSEnforcerDB will be written to @filename when 5105 + [signal@HSTSEnforcer::changed] is emitted.</doc> 5106 + <source-position filename="libsoup/hsts/soup-hsts-enforcer-db.h" 5107 + line="18"/> 5108 + <return-value transfer-ownership="full"> 5109 + <doc xml:space="preserve" 5110 + filename="libsoup/hsts/soup-hsts-enforcer-db.c" 5111 + line="116">the new #SoupHSTSEnforcer</doc> 5112 + <type name="HSTSEnforcer" c:type="SoupHSTSEnforcer*"/> 5113 + </return-value> 5114 + <parameters> 5115 + <parameter name="filename" transfer-ownership="none"> 5116 + <doc xml:space="preserve" 5117 + filename="libsoup/hsts/soup-hsts-enforcer-db.c" 5118 + line="105">the filename of the database to read/write from.</doc> 5119 + <type name="utf8" c:type="const char*"/> 5120 + </parameter> 5121 + </parameters> 5122 + </constructor> 5123 + <property name="filename" 5124 + writable="1" 5125 + construct-only="1" 5126 + transfer-ownership="none" 5127 + default-value="NULL"> 5128 + <doc xml:space="preserve" 5129 + filename="libsoup/hsts/soup-hsts-enforcer-db.c" 5130 + line="329">The filename of the SQLite database where HSTS policies are stored.</doc> 5131 + <type name="utf8" c:type="gchar*"/> 5132 + </property> 5133 + </class> 5134 + <record name="HSTSEnforcerDBClass" 5135 + c:type="SoupHSTSEnforcerDBClass" 5136 + glib:is-gtype-struct-for="HSTSEnforcerDB"> 5137 + <source-position filename="libsoup/hsts/soup-hsts-enforcer-db.h" 5138 + line="15"/> 5139 + <field name="parent_class"> 5140 + <type name="HSTSEnforcerClass" c:type="SoupHSTSEnforcerClass"/> 5141 + </field> 5142 + </record> 5143 + <record name="HSTSPolicy" 5144 + c:type="SoupHSTSPolicy" 5145 + opaque="1" 5146 + glib:type-name="SoupHSTSPolicy" 5147 + glib:get-type="soup_hsts_policy_get_type" 5148 + c:symbol-prefix="hsts_policy"> 5149 + <doc xml:space="preserve" 5150 + filename="libsoup/hsts/soup-hsts-policy.c" 5151 + line="21">#SoupHSTSPolicy implements HTTP policies, as described by 5152 + [RFC 6797](http://tools.ietf.org/html/rfc6797). 5153 + 5154 + @domain represents the host that this policy applies to. The domain 5155 + must be IDNA-canonicalized. [ctor@HSTSPolicy.new] and related methods 5156 + will do this for you. 5157 + 5158 + @max_age contains the 'max-age' value from the Strict Transport 5159 + Security header and indicates the time to live of this policy, 5160 + in seconds. 5161 + 5162 + @expires will be non-%NULL if the policy has been set by the host and 5163 + hence has an expiry time. If @expires is %NULL, it indicates that the 5164 + policy is a permanent session policy set by the user agent. 5165 + 5166 + If @include_subdomains is %TRUE, the Strict Transport Security policy 5167 + must also be enforced on subdomains of @domain.</doc> 5168 + <source-position filename="libsoup/soup-types.h" line="23"/> 5169 + <constructor name="new" c:identifier="soup_hsts_policy_new"> 5170 + <doc xml:space="preserve" 5171 + filename="libsoup/hsts/soup-hsts-policy.c" 5172 + line="120">Creates a new #SoupHSTSPolicy with the given attributes. 5173 + 5174 + @domain is a domain on which the strict transport security policy 5175 + represented by this object must be enforced. 5176 + 5177 + @max_age is used to set the "expires" attribute on the policy; pass 5178 + %SOUP_HSTS_POLICY_MAX_AGE_PAST for an already-expired policy, or a 5179 + lifetime in seconds. 5180 + 5181 + If @include_subdomains is %TRUE, the strict transport security policy 5182 + must also be enforced on all subdomains of @domain.</doc> 5183 + <source-position filename="libsoup/hsts/soup-hsts-policy.h" line="27"/> 5184 + <return-value transfer-ownership="full"> 5185 + <doc xml:space="preserve" 5186 + filename="libsoup/hsts/soup-hsts-policy.c" 5187 + line="138">a new #SoupHSTSPolicy.</doc> 5188 + <type name="HSTSPolicy" c:type="SoupHSTSPolicy*"/> 5189 + </return-value> 5190 + <parameters> 5191 + <parameter name="domain" transfer-ownership="none"> 5192 + <doc xml:space="preserve" 5193 + filename="libsoup/hsts/soup-hsts-policy.c" 5194 + line="122">policy domain or hostname</doc> 5195 + <type name="utf8" c:type="const char*"/> 5196 + </parameter> 5197 + <parameter name="max_age" transfer-ownership="none"> 5198 + <doc xml:space="preserve" 5199 + filename="libsoup/hsts/soup-hsts-policy.c" 5200 + line="123">max age of the policy</doc> 5201 + <type name="gulong" c:type="unsigned long"/> 5202 + </parameter> 5203 + <parameter name="include_subdomains" transfer-ownership="none"> 5204 + <doc xml:space="preserve" 5205 + filename="libsoup/hsts/soup-hsts-policy.c" 5206 + line="124">%TRUE if the policy applies on subdomains</doc> 5207 + <type name="gboolean" c:type="gboolean"/> 5208 + </parameter> 5209 + </parameters> 5210 + </constructor> 5211 + <constructor name="new_from_response" 5212 + c:identifier="soup_hsts_policy_new_from_response"> 5213 + <doc xml:space="preserve" 5214 + filename="libsoup/hsts/soup-hsts-policy.c" 5215 + line="236">Parses @msg's first "Strict-Transport-Security" response header and 5216 + returns a #SoupHSTSPolicy.</doc> 5217 + <source-position filename="libsoup/hsts/soup-hsts-policy.h" line="39"/> 5218 + <return-value transfer-ownership="full" nullable="1"> 5219 + <doc xml:space="preserve" 5220 + filename="libsoup/hsts/soup-hsts-policy.c" 5221 + line="243">a new #SoupHSTSPolicy, or %NULL if no valid 5222 + "Strict-Transport-Security" response header was found.</doc> 5223 + <type name="HSTSPolicy" c:type="SoupHSTSPolicy*"/> 5224 + </return-value> 5225 + <parameters> 5226 + <parameter name="msg" transfer-ownership="none"> 5227 + <doc xml:space="preserve" 5228 + filename="libsoup/hsts/soup-hsts-policy.c" 5229 + line="238">a #SoupMessage</doc> 5230 + <type name="Message" c:type="SoupMessage*"/> 5231 + </parameter> 5232 + </parameters> 5233 + </constructor> 5234 + <constructor name="new_full" c:identifier="soup_hsts_policy_new_full"> 5235 + <doc xml:space="preserve" 5236 + filename="libsoup/hsts/soup-hsts-policy.c" 5237 + line="161">Full version of [ctor@HSTSPolicy.new], to use with an existing 5238 + expiration date. 5239 + 5240 + See [ctor@HSTSPolicy.new] for details.</doc> 5241 + <source-position filename="libsoup/hsts/soup-hsts-policy.h" line="31"/> 5242 + <return-value transfer-ownership="full"> 5243 + <doc xml:space="preserve" 5244 + filename="libsoup/hsts/soup-hsts-policy.c" 5245 + line="173">a new #SoupHSTSPolicy.</doc> 5246 + <type name="HSTSPolicy" c:type="SoupHSTSPolicy*"/> 5247 + </return-value> 5248 + <parameters> 5249 + <parameter name="domain" transfer-ownership="none"> 5250 + <doc xml:space="preserve" 5251 + filename="libsoup/hsts/soup-hsts-policy.c" 5252 + line="163">policy domain or hostname</doc> 5253 + <type name="utf8" c:type="const char*"/> 5254 + </parameter> 5255 + <parameter name="max_age" transfer-ownership="none"> 5256 + <doc xml:space="preserve" 5257 + filename="libsoup/hsts/soup-hsts-policy.c" 5258 + line="164">max age of the policy</doc> 5259 + <type name="gulong" c:type="unsigned long"/> 5260 + </parameter> 5261 + <parameter name="expires" transfer-ownership="none"> 5262 + <doc xml:space="preserve" 5263 + filename="libsoup/hsts/soup-hsts-policy.c" 5264 + line="165">the date of expiration of the policy or %NULL for a permanent policy</doc> 5265 + <type name="GLib.DateTime" c:type="GDateTime*"/> 5266 + </parameter> 5267 + <parameter name="include_subdomains" transfer-ownership="none"> 5268 + <doc xml:space="preserve" 5269 + filename="libsoup/hsts/soup-hsts-policy.c" 5270 + line="166">%TRUE if the policy applies on subdomains</doc> 5271 + <type name="gboolean" c:type="gboolean"/> 5272 + </parameter> 5273 + </parameters> 5274 + </constructor> 5275 + <constructor name="new_session_policy" 5276 + c:identifier="soup_hsts_policy_new_session_policy"> 5277 + <doc xml:space="preserve" 5278 + filename="libsoup/hsts/soup-hsts-policy.c" 5279 + line="204">Creates a new session #SoupHSTSPolicy with the given attributes. 5280 + 5281 + A session policy is a policy that is valid during the lifetime of 5282 + the [class@HSTSEnforcer] it is added to. Contrary to regular policies, 5283 + it has no expiration date and is not stored in persistent 5284 + enforcers. These policies are useful for user-agent to load their 5285 + own or user-defined rules. 5286 + 5287 + @domain is a domain on which the strict transport security policy 5288 + represented by this object must be enforced. 5289 + 5290 + If @include_subdomains is %TRUE, the strict transport security policy 5291 + must also be enforced on all subdomains of @domain.</doc> 5292 + <source-position filename="libsoup/hsts/soup-hsts-policy.h" line="36"/> 5293 + <return-value transfer-ownership="full"> 5294 + <doc xml:space="preserve" 5295 + filename="libsoup/hsts/soup-hsts-policy.c" 5296 + line="223">a new #SoupHSTSPolicy.</doc> 5297 + <type name="HSTSPolicy" c:type="SoupHSTSPolicy*"/> 5298 + </return-value> 5299 + <parameters> 5300 + <parameter name="domain" transfer-ownership="none"> 5301 + <doc xml:space="preserve" 5302 + filename="libsoup/hsts/soup-hsts-policy.c" 5303 + line="206">policy domain or hostname</doc> 5304 + <type name="utf8" c:type="const char*"/> 5305 + </parameter> 5306 + <parameter name="include_subdomains" transfer-ownership="none"> 5307 + <doc xml:space="preserve" 5308 + filename="libsoup/hsts/soup-hsts-policy.c" 5309 + line="207">%TRUE if the policy applies on sub domains</doc> 5310 + <type name="gboolean" c:type="gboolean"/> 5311 + </parameter> 5312 + </parameters> 5313 + </constructor> 5314 + <method name="copy" c:identifier="soup_hsts_policy_copy"> 5315 + <doc xml:space="preserve" 5316 + filename="libsoup/hsts/soup-hsts-policy.c" 5317 + line="52">Copies @policy.</doc> 5318 + <source-position filename="libsoup/hsts/soup-hsts-policy.h" line="42"/> 5319 + <return-value transfer-ownership="full"> 5320 + <doc xml:space="preserve" 5321 + filename="libsoup/hsts/soup-hsts-policy.c" 5322 + line="58">a copy of @policy</doc> 5323 + <type name="HSTSPolicy" c:type="SoupHSTSPolicy*"/> 5324 + </return-value> 5325 + <parameters> 5326 + <instance-parameter name="policy" transfer-ownership="none"> 5327 + <doc xml:space="preserve" 5328 + filename="libsoup/hsts/soup-hsts-policy.c" 5329 + line="54">a #SoupHSTSPolicy</doc> 5330 + <type name="HSTSPolicy" c:type="SoupHSTSPolicy*"/> 5331 + </instance-parameter> 5332 + </parameters> 5333 + </method> 5334 + <method name="equal" c:identifier="soup_hsts_policy_equal"> 5335 + <doc xml:space="preserve" 5336 + filename="libsoup/hsts/soup-hsts-policy.c" 5337 + line="74">Tests if @policy1 and @policy2 are equal.</doc> 5338 + <source-position filename="libsoup/hsts/soup-hsts-policy.h" line="44"/> 5339 + <return-value transfer-ownership="none"> 5340 + <doc xml:space="preserve" 5341 + filename="libsoup/hsts/soup-hsts-policy.c" 5342 + line="81">whether the policies are equal.</doc> 5343 + <type name="gboolean" c:type="gboolean"/> 5344 + </return-value> 5345 + <parameters> 5346 + <instance-parameter name="policy1" transfer-ownership="none"> 5347 + <doc xml:space="preserve" 5348 + filename="libsoup/hsts/soup-hsts-policy.c" 5349 + line="76">a #SoupHSTSPolicy</doc> 5350 + <type name="HSTSPolicy" c:type="SoupHSTSPolicy*"/> 5351 + </instance-parameter> 5352 + <parameter name="policy2" transfer-ownership="none"> 5353 + <doc xml:space="preserve" 5354 + filename="libsoup/hsts/soup-hsts-policy.c" 5355 + line="77">a #SoupHSTSPolicy</doc> 5356 + <type name="HSTSPolicy" c:type="SoupHSTSPolicy*"/> 5357 + </parameter> 5358 + </parameters> 5359 + </method> 5360 + <method name="free" c:identifier="soup_hsts_policy_free"> 5361 + <doc xml:space="preserve" 5362 + filename="libsoup/hsts/soup-hsts-policy.c" 5363 + line="398">Frees @policy.</doc> 5364 + <source-position filename="libsoup/hsts/soup-hsts-policy.h" line="56"/> 5365 + <return-value transfer-ownership="none"> 5366 + <type name="none" c:type="void"/> 5367 + </return-value> 5368 + <parameters> 5369 + <instance-parameter name="policy" transfer-ownership="full"> 5370 + <doc xml:space="preserve" 5371 + filename="libsoup/hsts/soup-hsts-policy.c" 5372 + line="400">a #SoupHSTSPolicy</doc> 5373 + <type name="HSTSPolicy" c:type="SoupHSTSPolicy*"/> 5374 + </instance-parameter> 5375 + </parameters> 5376 + </method> 5377 + <method name="get_domain" c:identifier="soup_hsts_policy_get_domain"> 5378 + <doc xml:space="preserve" 5379 + filename="libsoup/hsts/soup-hsts-policy.c" 5380 + line="298">Gets @policy's domain.</doc> 5381 + <source-position filename="libsoup/hsts/soup-hsts-policy.h" line="47"/> 5382 + <return-value transfer-ownership="none"> 5383 + <doc xml:space="preserve" 5384 + filename="libsoup/hsts/soup-hsts-policy.c" 5385 + line="304">@policy's domain.</doc> 5386 + <type name="utf8" c:type="const char*"/> 5387 + </return-value> 5388 + <parameters> 5389 + <instance-parameter name="policy" transfer-ownership="none"> 5390 + <doc xml:space="preserve" 5391 + filename="libsoup/hsts/soup-hsts-policy.c" 5392 + line="300">a #SoupHSTSPolicy</doc> 5393 + <type name="HSTSPolicy" c:type="SoupHSTSPolicy*"/> 5394 + </instance-parameter> 5395 + </parameters> 5396 + </method> 5397 + <method name="get_expires" c:identifier="soup_hsts_policy_get_expires"> 5398 + <doc xml:space="preserve" 5399 + filename="libsoup/hsts/soup-hsts-policy.c" 5400 + line="366">Returns the expiration date for @policy.</doc> 5401 + <source-position filename="libsoup/hsts/soup-hsts-policy.h" line="59"/> 5402 + <return-value transfer-ownership="full"> 5403 + <doc xml:space="preserve" 5404 + filename="libsoup/hsts/soup-hsts-policy.c" 5405 + line="372">A #GDateTime or %NULL if unset</doc> 5406 + <type name="GLib.DateTime" c:type="GDateTime*"/> 5407 + </return-value> 5408 + <parameters> 5409 + <instance-parameter name="policy" transfer-ownership="none"> 5410 + <doc xml:space="preserve" 5411 + filename="libsoup/hsts/soup-hsts-policy.c" 5412 + line="368">a #SoupHSTSPolicy</doc> 5413 + <type name="HSTSPolicy" c:type="SoupHSTSPolicy*"/> 5414 + </instance-parameter> 5415 + </parameters> 5416 + </method> 5417 + <method name="get_max_age" c:identifier="soup_hsts_policy_get_max_age"> 5418 + <doc xml:space="preserve" 5419 + filename="libsoup/hsts/soup-hsts-policy.c" 5420 + line="382">Returns the max age for @policy.</doc> 5421 + <source-position filename="libsoup/hsts/soup-hsts-policy.h" line="62"/> 5422 + <return-value transfer-ownership="none"> 5423 + <doc xml:space="preserve" 5424 + filename="libsoup/hsts/soup-hsts-policy.c" 5425 + line="388">Max age in seconds</doc> 5426 + <type name="gulong" c:type="gulong"/> 5427 + </return-value> 5428 + <parameters> 5429 + <instance-parameter name="policy" transfer-ownership="none"> 5430 + <doc xml:space="preserve" 5431 + filename="libsoup/hsts/soup-hsts-policy.c" 5432 + line="384">a #SoupHSTSPolicy</doc> 5433 + <type name="HSTSPolicy" c:type="SoupHSTSPolicy*"/> 5434 + </instance-parameter> 5435 + </parameters> 5436 + </method> 5437 + <method name="includes_subdomains" 5438 + c:identifier="soup_hsts_policy_includes_subdomains"> 5439 + <doc xml:space="preserve" 5440 + filename="libsoup/hsts/soup-hsts-policy.c" 5441 + line="332">Gets whether @policy include its subdomains.</doc> 5442 + <source-position filename="libsoup/hsts/soup-hsts-policy.h" line="51"/> 5443 + <return-value transfer-ownership="none"> 5444 + <doc xml:space="preserve" 5445 + filename="libsoup/hsts/soup-hsts-policy.c" 5446 + line="338">%TRUE if @policy includes subdomains, %FALSE otherwise.</doc> 5447 + <type name="gboolean" c:type="gboolean"/> 5448 + </return-value> 5449 + <parameters> 5450 + <instance-parameter name="policy" transfer-ownership="none"> 5451 + <doc xml:space="preserve" 5452 + filename="libsoup/hsts/soup-hsts-policy.c" 5453 + line="334">a #SoupHSTSPolicy</doc> 5454 + <type name="HSTSPolicy" c:type="SoupHSTSPolicy*"/> 5455 + </instance-parameter> 5456 + </parameters> 5457 + </method> 5458 + <method name="is_expired" c:identifier="soup_hsts_policy_is_expired"> 5459 + <doc xml:space="preserve" 5460 + filename="libsoup/hsts/soup-hsts-policy.c" 5461 + line="314">Gets whether @policy is expired. 5462 + 5463 + Permanent policies never expire.</doc> 5464 + <source-position filename="libsoup/hsts/soup-hsts-policy.h" line="49"/> 5465 + <return-value transfer-ownership="none"> 5466 + <doc xml:space="preserve" 5467 + filename="libsoup/hsts/soup-hsts-policy.c" 5468 + line="322">%TRUE if @policy is expired, %FALSE otherwise.</doc> 5469 + <type name="gboolean" c:type="gboolean"/> 5470 + </return-value> 5471 + <parameters> 5472 + <instance-parameter name="policy" transfer-ownership="none"> 5473 + <doc xml:space="preserve" 5474 + filename="libsoup/hsts/soup-hsts-policy.c" 5475 + line="316">a #SoupHSTSPolicy</doc> 5476 + <type name="HSTSPolicy" c:type="SoupHSTSPolicy*"/> 5477 + </instance-parameter> 5478 + </parameters> 5479 + </method> 5480 + <method name="is_session_policy" 5481 + c:identifier="soup_hsts_policy_is_session_policy"> 5482 + <doc xml:space="preserve" 5483 + filename="libsoup/hsts/soup-hsts-policy.c" 5484 + line="348">Gets whether @policy is a non-permanent, non-expirable session policy. 5485 + 5486 + See [ctor@HSTSPolicy.new_session_policy] for details.</doc> 5487 + <source-position filename="libsoup/hsts/soup-hsts-policy.h" line="53"/> 5488 + <return-value transfer-ownership="none"> 5489 + <doc xml:space="preserve" 5490 + filename="libsoup/hsts/soup-hsts-policy.c" 5491 + line="356">%TRUE if @policy is permanent, %FALSE otherwise</doc> 5492 + <type name="gboolean" c:type="gboolean"/> 5493 + </return-value> 5494 + <parameters> 5495 + <instance-parameter name="policy" transfer-ownership="none"> 5496 + <doc xml:space="preserve" 5497 + filename="libsoup/hsts/soup-hsts-policy.c" 5498 + line="350">a #SoupHSTSPolicy</doc> 5499 + <type name="HSTSPolicy" c:type="SoupHSTSPolicy*"/> 5500 + </instance-parameter> 5501 + </parameters> 5502 + </method> 5503 + </record> 5504 + <constant name="HSTS_POLICY_MAX_AGE_PAST" 5505 + value="0" 5506 + c:type="SOUP_HSTS_POLICY_MAX_AGE_PAST"> 5507 + <doc xml:space="preserve" 5508 + filename="libsoup/hsts/soup-hsts-policy.h" 5509 + line="19">An expiration date that is always in the past.</doc> 5510 + <source-position filename="libsoup/hsts/soup-hsts-policy.h" line="24"/> 5511 + <type name="gint" c:type="gint"/> 5512 + </constant> 5513 + <enumeration name="HTTPVersion" 5514 + glib:type-name="SoupHTTPVersion" 5515 + glib:get-type="soup_http_version_get_type" 5516 + c:type="SoupHTTPVersion"> 5517 + <doc xml:space="preserve" 5518 + filename="libsoup/soup-status.c" 5519 + line="244">Indicates the HTTP protocol version being used.</doc> 5520 + <member name="http_1_0" 5521 + value="0" 5522 + c:identifier="SOUP_HTTP_1_0" 5523 + glib:nick="http-1-0" 5524 + glib:name="SOUP_HTTP_1_0"> 5525 + <doc xml:space="preserve" 5526 + filename="libsoup/soup-status.c" 5527 + line="246">HTTP 1.0 (RFC 1945)</doc> 5528 + </member> 5529 + <member name="http_1_1" 5530 + value="1" 5531 + c:identifier="SOUP_HTTP_1_1" 5532 + glib:nick="http-1-1" 5533 + glib:name="SOUP_HTTP_1_1"> 5534 + <doc xml:space="preserve" 5535 + filename="libsoup/soup-status.c" 5536 + line="247">HTTP 1.1 (RFC 2616)</doc> 5537 + </member> 5538 + <member name="http_2_0" 5539 + value="2" 5540 + c:identifier="SOUP_HTTP_2_0" 5541 + glib:nick="http-2-0" 5542 + glib:name="SOUP_HTTP_2_0"> 5543 + <doc xml:space="preserve" 5544 + filename="libsoup/soup-status.c" 5545 + line="248">HTTP 2.0 (RFC 7540)</doc> 5546 + </member> 5547 + </enumeration> 5548 + <constant name="HTTP_URI_FLAGS" value="482" c:type="SOUP_HTTP_URI_FLAGS"> 5549 + <doc xml:space="preserve" 5550 + filename="libsoup/soup-uri-utils.c" 5551 + line="35">The set of #GUriFlags libsoup expects all #GUri to use.</doc> 5552 + <source-position filename="libsoup/soup-uri-utils.h" line="40"/> 5553 + <type name="gint" c:type="gint"/> 5554 + </constant> 5555 + <class name="Logger" 5556 + c:symbol-prefix="logger" 5557 + c:type="SoupLogger" 5558 + parent="GObject.Object" 5559 + final="1" 5560 + glib:type-name="SoupLogger" 5561 + glib:get-type="soup_logger_get_type" 5562 + glib:type-struct="LoggerClass"> 5563 + <doc xml:space="preserve" 5564 + filename="libsoup/soup-logger.c" 5565 + line="25">Debug logging support 5566 + 5567 + #SoupLogger watches a [class@Session] and logs the HTTP traffic that 5568 + it generates, for debugging purposes. Many applications use an 5569 + environment variable to determine whether or not to use 5570 + #SoupLogger, and to determine the amount of debugging output. 5571 + 5572 + To use #SoupLogger, first create a logger with [ctor@Logger.new], optionally 5573 + configure it with [method@Logger.set_request_filter], 5574 + [method@Logger.set_response_filter], and [method@Logger.set_printer], and 5575 + then attach it to a session (or multiple sessions) with 5576 + [method@Session.add_feature]. 5577 + 5578 + By default, the debugging output is sent to `stdout`, and looks something 5579 + like: 5580 + 5581 + ``` 5582 + &gt; POST /unauth HTTP/1.1 5583 + &gt; Soup-Debug-Timestamp: 1200171744 5584 + &gt; Soup-Debug: SoupSession 1 (0x612190), SoupMessage 1 (0x617000), GSocket 1 (0x612220) 5585 + &gt; Host: localhost 5586 + &gt; Content-Type: text/plain 5587 + &gt; Connection: close 5588 + 5589 + &amp;lt; HTTP/1.1 201 Created 5590 + &amp;lt; Soup-Debug-Timestamp: 1200171744 5591 + &amp;lt; Soup-Debug: SoupMessage 1 (0x617000) 5592 + &amp;lt; Date: Sun, 12 Jan 2008 21:02:24 GMT 5593 + &amp;lt; Content-Length: 0 5594 + ``` 5595 + 5596 + The `Soup-Debug-Timestamp` line gives the time (as a `time_t`) when the 5597 + request was sent, or the response fully received. 5598 + 5599 + The `Soup-Debug` line gives further debugging information about the 5600 + [class@Session], [class@Message], and [class@Gio.Socket] involved; the hex 5601 + numbers are the addresses of the objects in question (which may be useful if 5602 + you are running in a debugger). The decimal IDs are simply counters that 5603 + uniquely identify objects across the lifetime of the #SoupLogger. In 5604 + particular, this can be used to identify when multiple messages are sent 5605 + across the same connection. 5606 + 5607 + Currently, the request half of the message is logged just before 5608 + the first byte of the request gets written to the network (from the 5609 + [signal@Message::starting] signal). 5610 + 5611 + The response is logged just after the last byte of the response body is read 5612 + from the network (from the [signal@Message::got-body] or 5613 + [signal@Message::got-informational] signal), which means that the 5614 + [signal@Message::got-headers] signal, and anything triggered off it (such as 5615 + #SoupMessage::authenticate) will be emitted *before* the response headers are 5616 + actually logged. 5617 + 5618 + If the response doesn't happen to trigger the [signal@Message::got-body] nor 5619 + [signal@Message::got-informational] signals due to, for example, a 5620 + cancellation before receiving the last byte of the response body, the 5621 + response will still be logged on the event of the [signal@Message::finished] 5622 + signal.</doc> 5623 + <source-position filename="libsoup/soup-logger.h" line="14"/> 5624 + <implements name="SessionFeature"/> 5625 + <constructor name="new" c:identifier="soup_logger_new"> 5626 + <doc xml:space="preserve" 5627 + filename="libsoup/soup-logger.c" 5628 + line="370">Creates a new #SoupLogger with the given debug level. 5629 + 5630 + If you need finer control over what message parts are and aren't 5631 + logged, use [method@Logger.set_request_filter] and 5632 + [method@Logger.set_response_filter].</doc> 5633 + <source-position filename="libsoup/soup-logger.h" line="34"/> 5634 + <return-value transfer-ownership="full"> 5635 + <doc xml:space="preserve" 5636 + filename="libsoup/soup-logger.c" 5637 + line="380">a new #SoupLogger</doc> 5638 + <type name="Logger" c:type="SoupLogger*"/> 5639 + </return-value> 5640 + <parameters> 5641 + <parameter name="level" transfer-ownership="none"> 5642 + <doc xml:space="preserve" 5643 + filename="libsoup/soup-logger.c" 5644 + line="372">the debug level</doc> 5645 + <type name="LoggerLogLevel" c:type="SoupLoggerLogLevel"/> 5646 + </parameter> 5647 + </parameters> 5648 + </constructor> 5649 + <method name="get_max_body_size" 5650 + c:identifier="soup_logger_get_max_body_size" 5651 + glib:get-property="max-body-size"> 5652 + <attribute name="org.gtk.Method.get_property" value="max-body-size"/> 5653 + <doc xml:space="preserve" 5654 + filename="libsoup/soup-logger.c" 5655 + line="520">Get the maximum body size for @logger.</doc> 5656 + <source-position filename="libsoup/soup-logger.h" line="59"/> 5657 + <return-value transfer-ownership="none"> 5658 + <doc xml:space="preserve" 5659 + filename="libsoup/soup-logger.c" 5660 + line="526">the maximum body size, or -1 if unlimited</doc> 5661 + <type name="gint" c:type="int"/> 5662 + </return-value> 5663 + <parameters> 5664 + <instance-parameter name="logger" transfer-ownership="none"> 5665 + <doc xml:space="preserve" 5666 + filename="libsoup/soup-logger.c" 5667 + line="522">a #SoupLogger</doc> 5668 + <type name="Logger" c:type="SoupLogger*"/> 5669 + </instance-parameter> 5670 + </parameters> 5671 + </method> 5672 + <method name="set_max_body_size" 5673 + c:identifier="soup_logger_set_max_body_size" 5674 + glib:set-property="max-body-size"> 5675 + <attribute name="org.gtk.Method.set_property" value="max-body-size"/> 5676 + <doc xml:space="preserve" 5677 + filename="libsoup/soup-logger.c" 5678 + line="505">Sets the maximum body size for @logger (-1 means no limit).</doc> 5679 + <source-position filename="libsoup/soup-logger.h" line="55"/> 5680 + <return-value transfer-ownership="none"> 5681 + <type name="none" c:type="void"/> 5682 + </return-value> 5683 + <parameters> 5684 + <instance-parameter name="logger" transfer-ownership="none"> 5685 + <doc xml:space="preserve" 5686 + filename="libsoup/soup-logger.c" 5687 + line="507">a #SoupLogger</doc> 5688 + <type name="Logger" c:type="SoupLogger*"/> 5689 + </instance-parameter> 5690 + <parameter name="max_body_size" transfer-ownership="none"> 5691 + <doc xml:space="preserve" 5692 + filename="libsoup/soup-logger.c" 5693 + line="508">the maximum body size to log</doc> 5694 + <type name="gint" c:type="int"/> 5695 + </parameter> 5696 + </parameters> 5697 + </method> 5698 + <method name="set_printer" c:identifier="soup_logger_set_printer"> 5699 + <doc xml:space="preserve" 5700 + filename="libsoup/soup-logger.c" 5701 + line="482">Sets up an alternate log printing routine, if you don't want 5702 + the log to go to `stdout`.</doc> 5703 + <source-position filename="libsoup/soup-logger.h" line="49"/> 5704 + <return-value transfer-ownership="none"> 5705 + <type name="none" c:type="void"/> 5706 + </return-value> 5707 + <parameters> 5708 + <instance-parameter name="logger" transfer-ownership="none"> 5709 + <doc xml:space="preserve" 5710 + filename="libsoup/soup-logger.c" 5711 + line="484">a #SoupLogger</doc> 5712 + <type name="Logger" c:type="SoupLogger*"/> 5713 + </instance-parameter> 5714 + <parameter name="printer" 5715 + transfer-ownership="none" 5716 + scope="notified" 5717 + closure="1" 5718 + destroy="2"> 5719 + <doc xml:space="preserve" 5720 + filename="libsoup/soup-logger.c" 5721 + line="485">the callback for printing logging output</doc> 5722 + <type name="LoggerPrinter" c:type="SoupLoggerPrinter"/> 5723 + </parameter> 5724 + <parameter name="printer_data" 5725 + transfer-ownership="none" 5726 + nullable="1" 5727 + allow-none="1"> 5728 + <doc xml:space="preserve" 5729 + filename="libsoup/soup-logger.c" 5730 + line="486">data to pass to the callback</doc> 5731 + <type name="gpointer" c:type="gpointer"/> 5732 + </parameter> 5733 + <parameter name="destroy" transfer-ownership="none" scope="async"> 5734 + <doc xml:space="preserve" 5735 + filename="libsoup/soup-logger.c" 5736 + line="487">a #GDestroyNotify to free @printer_data</doc> 5737 + <type name="GLib.DestroyNotify" c:type="GDestroyNotify"/> 5738 + </parameter> 5739 + </parameters> 5740 + </method> 5741 + <method name="set_request_filter" 5742 + c:identifier="soup_logger_set_request_filter"> 5743 + <doc xml:space="preserve" 5744 + filename="libsoup/soup-logger.c" 5745 + line="405">Sets up a filter to determine the log level for a given request. 5746 + 5747 + For each HTTP request @logger will invoke @request_filter to 5748 + determine how much (if any) of that request to log. (If you do not 5749 + set a request filter, @logger will just always log requests at the 5750 + level passed to [ctor@Logger.new].)</doc> 5751 + <source-position filename="libsoup/soup-logger.h" line="38"/> 5752 + <return-value transfer-ownership="none"> 5753 + <type name="none" c:type="void"/> 5754 + </return-value> 5755 + <parameters> 5756 + <instance-parameter name="logger" transfer-ownership="none"> 5757 + <doc xml:space="preserve" 5758 + filename="libsoup/soup-logger.c" 5759 + line="407">a #SoupLogger</doc> 5760 + <type name="Logger" c:type="SoupLogger*"/> 5761 + </instance-parameter> 5762 + <parameter name="request_filter" 5763 + transfer-ownership="none" 5764 + scope="notified" 5765 + closure="1" 5766 + destroy="2"> 5767 + <doc xml:space="preserve" 5768 + filename="libsoup/soup-logger.c" 5769 + line="408">the callback for request debugging</doc> 5770 + <type name="LoggerFilter" c:type="SoupLoggerFilter"/> 5771 + </parameter> 5772 + <parameter name="filter_data" 5773 + transfer-ownership="none" 5774 + nullable="1" 5775 + allow-none="1"> 5776 + <doc xml:space="preserve" 5777 + filename="libsoup/soup-logger.c" 5778 + line="409">data to pass to the callback</doc> 5779 + <type name="gpointer" c:type="gpointer"/> 5780 + </parameter> 5781 + <parameter name="destroy" transfer-ownership="none" scope="async"> 5782 + <doc xml:space="preserve" 5783 + filename="libsoup/soup-logger.c" 5784 + line="410">a #GDestroyNotify to free @filter_data</doc> 5785 + <type name="GLib.DestroyNotify" c:type="GDestroyNotify"/> 5786 + </parameter> 5787 + </parameters> 5788 + </method> 5789 + <method name="set_response_filter" 5790 + c:identifier="soup_logger_set_response_filter"> 5791 + <doc xml:space="preserve" 5792 + filename="libsoup/soup-logger.c" 5793 + line="432">Sets up a filter to determine the log level for a given response. 5794 + 5795 + For each HTTP response @logger will invoke @response_filter to 5796 + determine how much (if any) of that response to log. (If you do not 5797 + set a response filter, @logger will just always log responses at 5798 + the level passed to [ctor@Logger.new].)</doc> 5799 + <source-position filename="libsoup/soup-logger.h" line="43"/> 5800 + <return-value transfer-ownership="none"> 5801 + <type name="none" c:type="void"/> 5802 + </return-value> 5803 + <parameters> 5804 + <instance-parameter name="logger" transfer-ownership="none"> 5805 + <doc xml:space="preserve" 5806 + filename="libsoup/soup-logger.c" 5807 + line="434">a #SoupLogger</doc> 5808 + <type name="Logger" c:type="SoupLogger*"/> 5809 + </instance-parameter> 5810 + <parameter name="response_filter" 5811 + transfer-ownership="none" 5812 + scope="notified" 5813 + closure="1" 5814 + destroy="2"> 5815 + <doc xml:space="preserve" 5816 + filename="libsoup/soup-logger.c" 5817 + line="435">the callback for response debugging</doc> 5818 + <type name="LoggerFilter" c:type="SoupLoggerFilter"/> 5819 + </parameter> 5820 + <parameter name="filter_data" 5821 + transfer-ownership="none" 5822 + nullable="1" 5823 + allow-none="1"> 5824 + <doc xml:space="preserve" 5825 + filename="libsoup/soup-logger.c" 5826 + line="436">data to pass to the callback</doc> 5827 + <type name="gpointer" c:type="gpointer"/> 5828 + </parameter> 5829 + <parameter name="destroy" transfer-ownership="none" scope="async"> 5830 + <doc xml:space="preserve" 5831 + filename="libsoup/soup-logger.c" 5832 + line="437">a #GDestroyNotify to free @filter_data</doc> 5833 + <type name="GLib.DestroyNotify" c:type="GDestroyNotify"/> 5834 + </parameter> 5835 + </parameters> 5836 + </method> 5837 + <property name="level" 5838 + writable="1" 5839 + transfer-ownership="none" 5840 + default-value="SOUP_LOGGER_LOG_MINIMAL"> 5841 + <doc xml:space="preserve" 5842 + filename="libsoup/soup-logger.c" 5843 + line="325">The level of logging output.</doc> 5844 + <type name="LoggerLogLevel"/> 5845 + </property> 5846 + <property name="max-body-size" 5847 + writable="1" 5848 + construct="1" 5849 + transfer-ownership="none" 5850 + setter="set_max_body_size" 5851 + getter="get_max_body_size" 5852 + default-value="-1"> 5853 + <attribute name="org.gtk.Property.get" 5854 + value="soup_logger_get_max_body_size"/> 5855 + <attribute name="org.gtk.Property.set" 5856 + value="soup_logger_set_max_body_size"/> 5857 + <doc xml:space="preserve" 5858 + filename="libsoup/soup-logger.c" 5859 + line="338">If [property@Logger:level] is %SOUP_LOGGER_LOG_BODY, this gives 5860 + the maximum number of bytes of the body that will be logged. 5861 + (-1 means "no limit".)</doc> 5862 + <type name="gint" c:type="gint"/> 5863 + </property> 5864 + </class> 5865 + <record name="LoggerClass" 5866 + c:type="SoupLoggerClass" 5867 + glib:is-gtype-struct-for="Logger"> 5868 + <source-position filename="libsoup/soup-logger.h" line="14"/> 5869 + <field name="parent_class"> 5870 + <type name="GObject.ObjectClass" c:type="GObjectClass"/> 5871 + </field> 5872 + </record> 5873 + <callback name="LoggerFilter" c:type="SoupLoggerFilter"> 5874 + <doc xml:space="preserve" 5875 + filename="libsoup/soup-logger.c" 5876 + line="388">The prototype for a logging filter. 5877 + 5878 + The filter callback will be invoked for each request or response, and should 5879 + analyze it and return a [enum@LoggerLogLevel] value indicating how much of 5880 + the message to log.</doc> 5881 + <source-position filename="libsoup/soup-logger.h" line="23"/> 5882 + <return-value transfer-ownership="none"> 5883 + <doc xml:space="preserve" 5884 + filename="libsoup/soup-logger.c" 5885 + line="401">a [enum@LoggerLogLevel] value indicating how much of the message to 5886 + log</doc> 5887 + <type name="LoggerLogLevel" c:type="SoupLoggerLogLevel"/> 5888 + </return-value> 5889 + <parameters> 5890 + <parameter name="logger" transfer-ownership="none"> 5891 + <doc xml:space="preserve" 5892 + filename="libsoup/soup-logger.c" 5893 + line="390">the #SoupLogger</doc> 5894 + <type name="Logger" c:type="SoupLogger*"/> 5895 + </parameter> 5896 + <parameter name="msg" transfer-ownership="none"> 5897 + <doc xml:space="preserve" 5898 + filename="libsoup/soup-logger.c" 5899 + line="391">the message being logged</doc> 5900 + <type name="Message" c:type="SoupMessage*"/> 5901 + </parameter> 5902 + <parameter name="user_data" 5903 + transfer-ownership="none" 5904 + nullable="1" 5905 + allow-none="1" 5906 + closure="2"> 5907 + <doc xml:space="preserve" 5908 + filename="libsoup/soup-logger.c" 5909 + line="392">the data passed to [method@Logger.set_request_filter] 5910 + or [method@Logger.set_response_filter]</doc> 5911 + <type name="gpointer" c:type="gpointer"/> 5912 + </parameter> 5913 + </parameters> 5914 + </callback> 5915 + <enumeration name="LoggerLogLevel" 5916 + glib:type-name="SoupLoggerLogLevel" 5917 + glib:get-type="soup_logger_log_level_get_type" 5918 + c:type="SoupLoggerLogLevel"> 5919 + <doc xml:space="preserve" 5920 + filename="libsoup/soup-logger.c" 5921 + line="359">Describes the level of logging output to provide.</doc> 5922 + <member name="none" 5923 + value="0" 5924 + c:identifier="SOUP_LOGGER_LOG_NONE" 5925 + glib:nick="none" 5926 + glib:name="SOUP_LOGGER_LOG_NONE"> 5927 + <doc xml:space="preserve" 5928 + filename="libsoup/soup-logger.c" 5929 + line="361">No logging</doc> 5930 + </member> 5931 + <member name="minimal" 5932 + value="1" 5933 + c:identifier="SOUP_LOGGER_LOG_MINIMAL" 5934 + glib:nick="minimal" 5935 + glib:name="SOUP_LOGGER_LOG_MINIMAL"> 5936 + <doc xml:space="preserve" 5937 + filename="libsoup/soup-logger.c" 5938 + line="362">Log the Request-Line or Status-Line and 5939 + the Soup-Debug pseudo-headers</doc> 5940 + </member> 5941 + <member name="headers" 5942 + value="2" 5943 + c:identifier="SOUP_LOGGER_LOG_HEADERS" 5944 + glib:nick="headers" 5945 + glib:name="SOUP_LOGGER_LOG_HEADERS"> 5946 + <doc xml:space="preserve" 5947 + filename="libsoup/soup-logger.c" 5948 + line="364">Log the full request/response headers</doc> 5949 + </member> 5950 + <member name="body" 5951 + value="3" 5952 + c:identifier="SOUP_LOGGER_LOG_BODY" 5953 + glib:nick="body" 5954 + glib:name="SOUP_LOGGER_LOG_BODY"> 5955 + <doc xml:space="preserve" 5956 + filename="libsoup/soup-logger.c" 5957 + line="365">Log the full headers and request/response bodies</doc> 5958 + </member> 5959 + </enumeration> 5960 + <callback name="LoggerPrinter" c:type="SoupLoggerPrinter"> 5961 + <doc xml:space="preserve" 5962 + filename="libsoup/soup-logger.c" 5963 + line="459">The prototype for a custom printing callback. 5964 + 5965 + @level indicates what kind of information is being printed. Eg, it 5966 + will be %SOUP_LOGGER_LOG_HEADERS if @data is header data. 5967 + 5968 + @direction is either '&lt;', '&gt;', or ' ', and @data is the single line 5969 + to print; the printer is expected to add a terminating newline. 5970 + 5971 + To get the effect of the default printer, you would do: 5972 + 5973 + ```c 5974 + printf ("%c %s\n", direction, data); 5975 + ```</doc> 5976 + <source-position filename="libsoup/soup-logger.h" line="27"/> 5977 + <return-value transfer-ownership="none"> 5978 + <type name="none" c:type="void"/> 5979 + </return-value> 5980 + <parameters> 5981 + <parameter name="logger" transfer-ownership="none"> 5982 + <doc xml:space="preserve" 5983 + filename="libsoup/soup-logger.c" 5984 + line="461">the #SoupLogger</doc> 5985 + <type name="Logger" c:type="SoupLogger*"/> 5986 + </parameter> 5987 + <parameter name="level" transfer-ownership="none"> 5988 + <doc xml:space="preserve" 5989 + filename="libsoup/soup-logger.c" 5990 + line="462">the level of the information being printed.</doc> 5991 + <type name="LoggerLogLevel" c:type="SoupLoggerLogLevel"/> 5992 + </parameter> 5993 + <parameter name="direction" transfer-ownership="none"> 5994 + <doc xml:space="preserve" 5995 + filename="libsoup/soup-logger.c" 5996 + line="463">a single-character prefix to @data</doc> 5997 + <type name="gchar" c:type="char"/> 5998 + </parameter> 5999 + <parameter name="data" transfer-ownership="none"> 6000 + <doc xml:space="preserve" 6001 + filename="libsoup/soup-logger.c" 6002 + line="464">data to print</doc> 6003 + <type name="utf8" c:type="const char*"/> 6004 + </parameter> 6005 + <parameter name="user_data" 6006 + transfer-ownership="none" 6007 + nullable="1" 6008 + allow-none="1" 6009 + closure="4"> 6010 + <doc xml:space="preserve" 6011 + filename="libsoup/soup-logger.c" 6012 + line="465">the data passed to [method@Logger.set_printer]</doc> 6013 + <type name="gpointer" c:type="gpointer"/> 6014 + </parameter> 6015 + </parameters> 6016 + </callback> 6017 + <constant name="MAJOR_VERSION" value="3" c:type="SOUP_MAJOR_VERSION"> 6018 + <doc xml:space="preserve" 6019 + filename="libsoup/soup-version.c" 6020 + line="14">Like [func@get_major_version], but from the headers used at application 6021 + compile time, rather than from the library linked against at application run 6022 + time.</doc> 6023 + <source-position filename="libsoup/soup-version.h" line="14"/> 6024 + <type name="gint" c:type="gint"/> 6025 + </constant> 6026 + <constant name="MICRO_VERSION" value="4" c:type="SOUP_MICRO_VERSION"> 6027 + <doc xml:space="preserve" 6028 + filename="libsoup/soup-version.c" 6029 + line="32">Like [func@get_micro_version], but from the headers used at 6030 + application compile time, rather than from the library linked 6031 + against at application run time.</doc> 6032 + <source-position filename="libsoup/soup-version.h" line="16"/> 6033 + <type name="gint" c:type="gint"/> 6034 + </constant> 6035 + <constant name="MINOR_VERSION" value="4" c:type="SOUP_MINOR_VERSION"> 6036 + <doc xml:space="preserve" 6037 + filename="libsoup/soup-version.c" 6038 + line="23">Like [func@get_minor_version], but from the headers used at 6039 + application compile time, rather than from the library linked 6040 + against at application run time.</doc> 6041 + <source-position filename="libsoup/soup-version.h" line="15"/> 6042 + <type name="gint" c:type="gint"/> 6043 + </constant> 6044 + <enumeration name="MemoryUse" 6045 + glib:type-name="SoupMemoryUse" 6046 + glib:get-type="soup_memory_use_get_type" 6047 + c:type="SoupMemoryUse"> 6048 + <doc xml:space="preserve" 6049 + filename="libsoup/server/soup-message-body.c" 6050 + line="17">The lifetime of the memory being passed.</doc> 6051 + <member name="static" 6052 + value="0" 6053 + c:identifier="SOUP_MEMORY_STATIC" 6054 + glib:nick="static" 6055 + glib:name="SOUP_MEMORY_STATIC"> 6056 + <doc xml:space="preserve" 6057 + filename="libsoup/server/soup-message-body.c" 6058 + line="19">The memory is statically allocated and 6059 + constant; libsoup can use the passed-in buffer directly and not 6060 + need to worry about it being modified or freed.</doc> 6061 + </member> 6062 + <member name="take" 6063 + value="1" 6064 + c:identifier="SOUP_MEMORY_TAKE" 6065 + glib:nick="take" 6066 + glib:name="SOUP_MEMORY_TAKE"> 6067 + <doc xml:space="preserve" 6068 + filename="libsoup/server/soup-message-body.c" 6069 + line="22">The caller has allocated the memory and libsoup 6070 + will assume ownership of it and free it with [func@GLib.free].</doc> 6071 + </member> 6072 + <member name="copy" 6073 + value="2" 6074 + c:identifier="SOUP_MEMORY_COPY" 6075 + glib:nick="copy" 6076 + glib:name="SOUP_MEMORY_COPY"> 6077 + <doc xml:space="preserve" 6078 + filename="libsoup/server/soup-message-body.c" 6079 + line="24">The passed-in data belongs to the caller and 6080 + libsoup will copy it into new memory leaving the caller free 6081 + to reuse the original memory.</doc> 6082 + </member> 6083 + </enumeration> 6084 + <class name="Message" 6085 + c:symbol-prefix="message" 6086 + c:type="SoupMessage" 6087 + parent="GObject.Object" 6088 + final="1" 6089 + glib:type-name="SoupMessage" 6090 + glib:get-type="soup_message_get_type" 6091 + glib:type-struct="MessageClass"> 6092 + <doc xml:space="preserve" 6093 + filename="libsoup/soup-message.c" 6094 + line="23">Represents an HTTP message being sent or received. 6095 + 6096 + A #SoupMessage represents an HTTP message that is being sent or 6097 + received. 6098 + 6099 + You would create a #SoupMessage with [ctor@Message.new] or 6100 + [ctor@Message.new_from_uri], set up its fields appropriately, and send it. 6101 + 6102 + [property@Message:status-code] will normally be a [enum@Status] value, eg, 6103 + %SOUP_STATUS_OK, though of course it might actually be an unknown status 6104 + code. [property@Message:reason-phrase] is the actual text returned from the 6105 + server, which may or may not correspond to the "standard" description of 6106 + @status_code. At any rate, it is almost certainly not localized, and not very 6107 + descriptive even if it is in the user's language; you should not use 6108 + [property@Message:reason-phrase] in user-visible messages. Rather, you should 6109 + look at [property@Message:status-code], and determine an end-user-appropriate 6110 + message based on that and on what you were trying to do. 6111 + 6112 + Note that libsoup's terminology here does not quite match the HTTP 6113 + specification: in RFC 2616, an "HTTP-message" is *either* a Request, *or* a 6114 + Response. In libsoup, a #SoupMessage combines both the request and the 6115 + response.</doc> 6116 + <source-position filename="libsoup/soup-message.h" line="18"/> 6117 + <constructor name="new" c:identifier="soup_message_new"> 6118 + <doc xml:space="preserve" 6119 + filename="libsoup/soup-message.c" 6120 + line="957">Creates a new empty #SoupMessage, which will connect to @uri.</doc> 6121 + <source-position filename="libsoup/soup-message.h" line="21"/> 6122 + <return-value transfer-ownership="full" nullable="1"> 6123 + <doc xml:space="preserve" 6124 + filename="libsoup/soup-message.c" 6125 + line="964">the new #SoupMessage (or %NULL if @uri 6126 + could not be parsed).</doc> 6127 + <type name="Message" c:type="SoupMessage*"/> 6128 + </return-value> 6129 + <parameters> 6130 + <parameter name="method" transfer-ownership="none"> 6131 + <doc xml:space="preserve" 6132 + filename="libsoup/soup-message.c" 6133 + line="959">the HTTP method for the created request</doc> 6134 + <type name="utf8" c:type="const char*"/> 6135 + </parameter> 6136 + <parameter name="uri_string" transfer-ownership="none"> 6137 + <doc xml:space="preserve" 6138 + filename="libsoup/soup-message.c" 6139 + line="960">the destination endpoint (as a string)</doc> 6140 + <type name="utf8" c:type="const char*"/> 6141 + </parameter> 6142 + </parameters> 6143 + </constructor> 6144 + <constructor name="new_from_encoded_form" 6145 + c:identifier="soup_message_new_from_encoded_form"> 6146 + <doc xml:space="preserve" 6147 + filename="libsoup/soup-message.c" 6148 + line="1031">Creates a new #SoupMessage and sets it up to send the given @encoded_form 6149 + to @uri via @method. If @method is "GET", it will include the form data 6150 + into @uri's query field, and if @method is "POST" or "PUT", it will be set as 6151 + request body. 6152 + 6153 + This function takes the ownership of @encoded_form, that will be released 6154 + with [func@GLib.free] when no longer in use. See also [func@form_encode], 6155 + [func@form_encode_hash] and [func@form_encode_datalist].</doc> 6156 + <source-position filename="libsoup/soup-message.h" line="31"/> 6157 + <return-value transfer-ownership="full" nullable="1"> 6158 + <doc xml:space="preserve" 6159 + filename="libsoup/soup-message.c" 6160 + line="1046">the new #SoupMessage, or %NULL if 6161 + @uri_string could not be parsed or @method is not "GET, "POST" or "PUT"</doc> 6162 + <type name="Message" c:type="SoupMessage*"/> 6163 + </return-value> 6164 + <parameters> 6165 + <parameter name="method" transfer-ownership="none"> 6166 + <doc xml:space="preserve" 6167 + filename="libsoup/soup-message.c" 6168 + line="1033">the HTTP method for the created request (GET, POST or PUT)</doc> 6169 + <type name="utf8" c:type="const char*"/> 6170 + </parameter> 6171 + <parameter name="uri_string" transfer-ownership="none"> 6172 + <doc xml:space="preserve" 6173 + filename="libsoup/soup-message.c" 6174 + line="1034">the destination endpoint (as a string)</doc> 6175 + <type name="utf8" c:type="const char*"/> 6176 + </parameter> 6177 + <parameter name="encoded_form" transfer-ownership="full"> 6178 + <doc xml:space="preserve" 6179 + filename="libsoup/soup-message.c" 6180 + line="1035">a encoded form</doc> 6181 + <type name="utf8" c:type="char*"/> 6182 + </parameter> 6183 + </parameters> 6184 + </constructor> 6185 + <constructor name="new_from_multipart" 6186 + c:identifier="soup_message_new_from_multipart"> 6187 + <doc xml:space="preserve" 6188 + filename="libsoup/soup-message.c" 6189 + line="1088">Creates a new #SoupMessage and sets it up to send @multipart to 6190 + @uri_string via POST.</doc> 6191 + <source-position filename="libsoup/soup-message.h" line="36"/> 6192 + <return-value transfer-ownership="full" nullable="1"> 6193 + <doc xml:space="preserve" 6194 + filename="libsoup/soup-message.c" 6195 + line="1096">the new #SoupMessage, or %NULL if @uri_string 6196 + could not be parsed</doc> 6197 + <type name="Message" c:type="SoupMessage*"/> 6198 + </return-value> 6199 + <parameters> 6200 + <parameter name="uri_string" transfer-ownership="none"> 6201 + <doc xml:space="preserve" 6202 + filename="libsoup/soup-message.c" 6203 + line="1090">the destination endpoint</doc> 6204 + <type name="utf8" c:type="const char*"/> 6205 + </parameter> 6206 + <parameter name="multipart" transfer-ownership="none"> 6207 + <doc xml:space="preserve" 6208 + filename="libsoup/soup-message.c" 6209 + line="1091">a #SoupMultipart</doc> 6210 + <type name="Multipart" c:type="SoupMultipart*"/> 6211 + </parameter> 6212 + </parameters> 6213 + </constructor> 6214 + <constructor name="new_from_uri" 6215 + c:identifier="soup_message_new_from_uri"> 6216 + <doc xml:space="preserve" 6217 + filename="libsoup/soup-message.c" 6218 + line="989">Creates a new empty #SoupMessage, which will connect to @uri.</doc> 6219 + <source-position filename="libsoup/soup-message.h" line="24"/> 6220 + <return-value transfer-ownership="full"> 6221 + <doc xml:space="preserve" 6222 + filename="libsoup/soup-message.c" 6223 + line="996">the new #SoupMessage</doc> 6224 + <type name="Message" c:type="SoupMessage*"/> 6225 + </return-value> 6226 + <parameters> 6227 + <parameter name="method" transfer-ownership="none"> 6228 + <doc xml:space="preserve" 6229 + filename="libsoup/soup-message.c" 6230 + line="991">the HTTP method for the created request</doc> 6231 + <type name="utf8" c:type="const char*"/> 6232 + </parameter> 6233 + <parameter name="uri" transfer-ownership="none"> 6234 + <doc xml:space="preserve" 6235 + filename="libsoup/soup-message.c" 6236 + line="992">the destination endpoint</doc> 6237 + <type name="GLib.Uri" c:type="GUri*"/> 6238 + </parameter> 6239 + </parameters> 6240 + </constructor> 6241 + <constructor name="new_options_ping" 6242 + c:identifier="soup_message_new_options_ping"> 6243 + <doc xml:space="preserve" 6244 + filename="libsoup/soup-message.c" 6245 + line="1010">Creates a new #SoupMessage to send `OPTIONS *` to a server. The path of 6246 + @base_uri will be ignored.</doc> 6247 + <source-position filename="libsoup/soup-message.h" line="28"/> 6248 + <return-value transfer-ownership="full"> 6249 + <doc xml:space="preserve" 6250 + filename="libsoup/soup-message.c" 6251 + line="1017">the new #SoupMessage</doc> 6252 + <type name="Message" c:type="SoupMessage*"/> 6253 + </return-value> 6254 + <parameters> 6255 + <parameter name="base_uri" transfer-ownership="none"> 6256 + <doc xml:space="preserve" 6257 + filename="libsoup/soup-message.c" 6258 + line="1012">the destination endpoint</doc> 6259 + <type name="GLib.Uri" c:type="GUri*"/> 6260 + </parameter> 6261 + </parameters> 6262 + </constructor> 6263 + <method name="add_flags" c:identifier="soup_message_add_flags"> 6264 + <doc xml:space="preserve" 6265 + filename="libsoup/soup-message.c" 6266 + line="1959">Adds @flags to the set of @msg's flags.</doc> 6267 + <source-position filename="libsoup/soup-message.h" line="92"/> 6268 + <return-value transfer-ownership="none"> 6269 + <type name="none" c:type="void"/> 6270 + </return-value> 6271 + <parameters> 6272 + <instance-parameter name="msg" transfer-ownership="none"> 6273 + <doc xml:space="preserve" 6274 + filename="libsoup/soup-message.c" 6275 + line="1961">a #SoupMessage</doc> 6276 + <type name="Message" c:type="SoupMessage*"/> 6277 + </instance-parameter> 6278 + <parameter name="flags" transfer-ownership="none"> 6279 + <doc xml:space="preserve" 6280 + filename="libsoup/soup-message.c" 6281 + line="1962">a set of #SoupMessageFlags values</doc> 6282 + <type name="MessageFlags" c:type="SoupMessageFlags"/> 6283 + </parameter> 6284 + </parameters> 6285 + </method> 6286 + <method name="add_header_handler" 6287 + c:identifier="soup_message_add_header_handler" 6288 + introspectable="0"> 6289 + <doc xml:space="preserve" 6290 + filename="libsoup/soup-message.c" 6291 + line="1320">Adds a signal handler to @msg for @signal. 6292 + 6293 + Similar to [func@GObject.signal_connect], but the @callback will only be run 6294 + if @msg's incoming messages headers (that is, the `request_headers`) contain 6295 + a header named @header.</doc> 6296 + <source-position filename="libsoup/soup-message.h" line="125"/> 6297 + <return-value transfer-ownership="none"> 6298 + <doc xml:space="preserve" 6299 + filename="libsoup/soup-message.c" 6300 + line="1334">the handler ID from [func@GObject.signal_connect]</doc> 6301 + <type name="guint" c:type="guint"/> 6302 + </return-value> 6303 + <parameters> 6304 + <instance-parameter name="msg" transfer-ownership="none"> 6305 + <doc xml:space="preserve" 6306 + filename="libsoup/soup-message.c" 6307 + line="1322">a #SoupMessage</doc> 6308 + <type name="Message" c:type="SoupMessage*"/> 6309 + </instance-parameter> 6310 + <parameter name="signal" transfer-ownership="none"> 6311 + <doc xml:space="preserve" 6312 + filename="libsoup/soup-message.c" 6313 + line="1323">signal to connect the handler to.</doc> 6314 + <type name="utf8" c:type="const char*"/> 6315 + </parameter> 6316 + <parameter name="header" transfer-ownership="none"> 6317 + <doc xml:space="preserve" 6318 + filename="libsoup/soup-message.c" 6319 + line="1324">HTTP response header to match against</doc> 6320 + <type name="utf8" c:type="const char*"/> 6321 + </parameter> 6322 + <parameter name="callback" transfer-ownership="none" closure="3"> 6323 + <doc xml:space="preserve" 6324 + filename="libsoup/soup-message.c" 6325 + line="1325">the header handler</doc> 6326 + <type name="GObject.Callback" c:type="GCallback"/> 6327 + </parameter> 6328 + <parameter name="user_data" 6329 + transfer-ownership="none" 6330 + nullable="1" 6331 + allow-none="1"> 6332 + <doc xml:space="preserve" 6333 + filename="libsoup/soup-message.c" 6334 + line="1326">data to pass to @handler_cb</doc> 6335 + <type name="gpointer" c:type="gpointer"/> 6336 + </parameter> 6337 + </parameters> 6338 + </method> 6339 + <method name="add_status_code_handler" 6340 + c:identifier="soup_message_add_status_code_handler" 6341 + introspectable="0"> 6342 + <doc xml:space="preserve" 6343 + filename="libsoup/soup-message.c" 6344 + line="1378">Adds a signal handler to @msg for @signal. 6345 + 6346 + Similar to [func@GObject.signal_connect], but the @callback will only be run 6347 + if @msg has the status @status_code. 6348 + 6349 + @signal must be a signal that will be emitted after @msg's status 6350 + is set (this means it can't be a "wrote" signal).</doc> 6351 + <source-position filename="libsoup/soup-message.h" line="132"/> 6352 + <return-value transfer-ownership="none"> 6353 + <doc xml:space="preserve" 6354 + filename="libsoup/soup-message.c" 6355 + line="1394">the handler ID from [func@GObject.signal_connect]</doc> 6356 + <type name="guint" c:type="guint"/> 6357 + </return-value> 6358 + <parameters> 6359 + <instance-parameter name="msg" transfer-ownership="none"> 6360 + <doc xml:space="preserve" 6361 + filename="libsoup/soup-message.c" 6362 + line="1380">a #SoupMessage</doc> 6363 + <type name="Message" c:type="SoupMessage*"/> 6364 + </instance-parameter> 6365 + <parameter name="signal" transfer-ownership="none"> 6366 + <doc xml:space="preserve" 6367 + filename="libsoup/soup-message.c" 6368 + line="1381">signal to connect the handler to.</doc> 6369 + <type name="utf8" c:type="const char*"/> 6370 + </parameter> 6371 + <parameter name="status_code" transfer-ownership="none"> 6372 + <doc xml:space="preserve" 6373 + filename="libsoup/soup-message.c" 6374 + line="1382">status code to match against</doc> 6375 + <type name="guint" c:type="guint"/> 6376 + </parameter> 6377 + <parameter name="callback" transfer-ownership="none" closure="3"> 6378 + <doc xml:space="preserve" 6379 + filename="libsoup/soup-message.c" 6380 + line="1383">the header handler</doc> 6381 + <type name="GObject.Callback" c:type="GCallback"/> 6382 + </parameter> 6383 + <parameter name="user_data" 6384 + transfer-ownership="none" 6385 + nullable="1" 6386 + allow-none="1"> 6387 + <doc xml:space="preserve" 6388 + filename="libsoup/soup-message.c" 6389 + line="1384">data to pass to @handler_cb</doc> 6390 + <type name="gpointer" c:type="gpointer"/> 6391 + </parameter> 6392 + </parameters> 6393 + </method> 6394 + <method name="disable_feature" 6395 + c:identifier="soup_message_disable_feature"> 6396 + <doc xml:space="preserve" 6397 + filename="libsoup/soup-message.c" 6398 + line="2211">Disables the actions of [iface@SessionFeature]s with the 6399 + given @feature_type (or a subclass of that type) on @msg. 6400 + 6401 + @msg is processed as though the feature(s) hadn't been added to the 6402 + session. Eg, passing #SOUP_TYPE_CONTENT_SNIFFER for @feature_type 6403 + will disable Content-Type sniffing on the message. 6404 + 6405 + You must call this before queueing @msg on a session; calling it on 6406 + a message that has already been queued is undefined. In particular, 6407 + you cannot call this on a message that is being requeued after a 6408 + redirect or authentication.</doc> 6409 + <source-position filename="libsoup/soup-message.h" line="140"/> 6410 + <return-value transfer-ownership="none"> 6411 + <type name="none" c:type="void"/> 6412 + </return-value> 6413 + <parameters> 6414 + <instance-parameter name="msg" transfer-ownership="none"> 6415 + <doc xml:space="preserve" 6416 + filename="libsoup/soup-message.c" 6417 + line="2213">a #SoupMessage</doc> 6418 + <type name="Message" c:type="SoupMessage*"/> 6419 + </instance-parameter> 6420 + <parameter name="feature_type" transfer-ownership="none"> 6421 + <doc xml:space="preserve" 6422 + filename="libsoup/soup-message.c" 6423 + line="2214">the #GType of a #SoupSessionFeature</doc> 6424 + <type name="GType" c:type="GType"/> 6425 + </parameter> 6426 + </parameters> 6427 + </method> 6428 + <method name="get_connection_id" 6429 + c:identifier="soup_message_get_connection_id"> 6430 + <doc xml:space="preserve" 6431 + filename="libsoup/soup-message.c" 6432 + line="3102">Returns the unique idenfier for the last connection used. 6433 + 6434 + This may be 0 if it was a cached resource or it has not gotten 6435 + a connection yet.</doc> 6436 + <source-position filename="libsoup/soup-message.h" line="190"/> 6437 + <return-value transfer-ownership="none"> 6438 + <doc xml:space="preserve" 6439 + filename="libsoup/soup-message.c" 6440 + line="3111">An id or 0 if no connection.</doc> 6441 + <type name="guint64" c:type="guint64"/> 6442 + </return-value> 6443 + <parameters> 6444 + <instance-parameter name="msg" transfer-ownership="none"> 6445 + <doc xml:space="preserve" 6446 + filename="libsoup/soup-message.c" 6447 + line="3104">The #SoupMessage</doc> 6448 + <type name="Message" c:type="SoupMessage*"/> 6449 + </instance-parameter> 6450 + </parameters> 6451 + </method> 6452 + <method name="get_first_party" 6453 + c:identifier="soup_message_get_first_party" 6454 + glib:get-property="first-party"> 6455 + <attribute name="org.gtk.Method.get_property" value="first-party"/> 6456 + <doc xml:space="preserve" 6457 + filename="libsoup/soup-message.c" 6458 + line="2307">Gets @msg's first-party [struct@GLib.Uri].</doc> 6459 + <source-position filename="libsoup/soup-message.h" line="61"/> 6460 + <return-value transfer-ownership="none"> 6461 + <doc xml:space="preserve" 6462 + filename="libsoup/soup-message.c" 6463 + line="2313">the @msg's first party #GUri</doc> 6464 + <type name="GLib.Uri" c:type="GUri*"/> 6465 + </return-value> 6466 + <parameters> 6467 + <instance-parameter name="msg" transfer-ownership="none"> 6468 + <doc xml:space="preserve" 6469 + filename="libsoup/soup-message.c" 6470 + line="2309">a #SoupMessage</doc> 6471 + <type name="Message" c:type="SoupMessage*"/> 6472 + </instance-parameter> 6473 + </parameters> 6474 + </method> 6475 + <method name="get_flags" 6476 + c:identifier="soup_message_get_flags" 6477 + glib:get-property="flags"> 6478 + <attribute name="org.gtk.Method.get_property" value="flags"/> 6479 + <doc xml:space="preserve" 6480 + filename="libsoup/soup-message.c" 6481 + line="1939">Gets the flags on @msg.</doc> 6482 + <source-position filename="libsoup/soup-message.h" line="89"/> 6483 + <return-value transfer-ownership="none"> 6484 + <doc xml:space="preserve" 6485 + filename="libsoup/soup-message.c" 6486 + line="1945">the flags</doc> 6487 + <type name="MessageFlags" c:type="SoupMessageFlags"/> 6488 + </return-value> 6489 + <parameters> 6490 + <instance-parameter name="msg" transfer-ownership="none"> 6491 + <doc xml:space="preserve" 6492 + filename="libsoup/soup-message.c" 6493 + line="1941">a #SoupMessage</doc> 6494 + <type name="Message" c:type="SoupMessage*"/> 6495 + </instance-parameter> 6496 + </parameters> 6497 + </method> 6498 + <method name="get_force_http1" 6499 + c:identifier="soup_message_get_force_http1" 6500 + version="3.4"> 6501 + <doc xml:space="preserve" 6502 + filename="libsoup/soup-message.c" 6503 + line="3341">Returns whether HTTP/1 version is currently demanded for the @msg send.</doc> 6504 + <source-position filename="libsoup/soup-message.h" line="202"/> 6505 + <return-value transfer-ownership="none"> 6506 + <doc xml:space="preserve" 6507 + filename="libsoup/soup-message.c" 6508 + line="3347">%TRUE, when HTTP/1 is demanded, %FALSE otherwise.</doc> 6509 + <type name="gboolean" c:type="gboolean"/> 6510 + </return-value> 6511 + <parameters> 6512 + <instance-parameter name="msg" transfer-ownership="none"> 6513 + <doc xml:space="preserve" 6514 + filename="libsoup/soup-message.c" 6515 + line="3343">The #SoupMessage</doc> 6516 + <type name="Message" c:type="SoupMessage*"/> 6517 + </instance-parameter> 6518 + </parameters> 6519 + </method> 6520 + <method name="get_http_version" 6521 + c:identifier="soup_message_get_http_version" 6522 + glib:get-property="http-version"> 6523 + <attribute name="org.gtk.Method.get_property" value="http-version"/> 6524 + <doc xml:space="preserve" 6525 + filename="libsoup/soup-message.c" 6526 + line="2042">Gets the HTTP version of @msg. 6527 + 6528 + This is the minimum of the version from the request and the version from the 6529 + response.</doc> 6530 + <source-position filename="libsoup/soup-message.h" line="50"/> 6531 + <return-value transfer-ownership="none"> 6532 + <doc xml:space="preserve" 6533 + filename="libsoup/soup-message.c" 6534 + line="2051">the HTTP version</doc> 6535 + <type name="HTTPVersion" c:type="SoupHTTPVersion"/> 6536 + </return-value> 6537 + <parameters> 6538 + <instance-parameter name="msg" transfer-ownership="none"> 6539 + <doc xml:space="preserve" 6540 + filename="libsoup/soup-message.c" 6541 + line="2044">a #SoupMessage</doc> 6542 + <type name="Message" c:type="SoupMessage*"/> 6543 + </instance-parameter> 6544 + </parameters> 6545 + </method> 6546 + <method name="get_is_options_ping" 6547 + c:identifier="soup_message_get_is_options_ping" 6548 + glib:get-property="is-options-ping"> 6549 + <doc xml:space="preserve" 6550 + filename="libsoup/soup-message.c" 6551 + line="3054">Gets whether @msg is intended to be used to send `OPTIONS *` to a server.</doc> 6552 + <source-position filename="libsoup/soup-message.h" line="184"/> 6553 + <return-value transfer-ownership="none"> 6554 + <doc xml:space="preserve" 6555 + filename="libsoup/soup-message.c" 6556 + line="3060">%TRUE if the message is options ping, or %FALSE otherwise</doc> 6557 + <type name="gboolean" c:type="gboolean"/> 6558 + </return-value> 6559 + <parameters> 6560 + <instance-parameter name="msg" transfer-ownership="none"> 6561 + <doc xml:space="preserve" 6562 + filename="libsoup/soup-message.c" 6563 + line="3056">a #SoupMessage</doc> 6564 + <type name="Message" c:type="SoupMessage*"/> 6565 + </instance-parameter> 6566 + </parameters> 6567 + </method> 6568 + <method name="get_is_top_level_navigation" 6569 + c:identifier="soup_message_get_is_top_level_navigation" 6570 + glib:get-property="is-top-level-navigation"> 6571 + <attribute name="org.gtk.Method.get_property" 6572 + value="is-top-level-navigation"/> 6573 + <doc xml:space="preserve" 6574 + filename="libsoup/soup-message.c" 6575 + line="2454">Returns if this message is set as a top level navigation. 6576 + 6577 + Used for same-site policy checks.</doc> 6578 + <source-position filename="libsoup/soup-message.h" line="74"/> 6579 + <return-value transfer-ownership="none"> 6580 + <doc xml:space="preserve" 6581 + filename="libsoup/soup-message.c" 6582 + line="2462">Whether the current request is a top-level navitation</doc> 6583 + <type name="gboolean" c:type="gboolean"/> 6584 + </return-value> 6585 + <parameters> 6586 + <instance-parameter name="msg" transfer-ownership="none"> 6587 + <doc xml:space="preserve" 6588 + filename="libsoup/soup-message.c" 6589 + line="2456">a #SoupMessage</doc> 6590 + <type name="Message" c:type="SoupMessage*"/> 6591 + </instance-parameter> 6592 + </parameters> 6593 + </method> 6594 + <method name="get_method" 6595 + c:identifier="soup_message_get_method" 6596 + glib:get-property="method"> 6597 + <attribute name="org.gtk.Method.get_property" value="method"/> 6598 + <doc xml:space="preserve" 6599 + filename="libsoup/soup-message.c" 6600 + line="2923">Returns the method of this message.</doc> 6601 + <source-position filename="libsoup/soup-message.h" line="165"/> 6602 + <return-value transfer-ownership="none"> 6603 + <doc xml:space="preserve" 6604 + filename="libsoup/soup-message.c" 6605 + line="2929">A method such as %SOUP_METHOD_GET</doc> 6606 + <type name="utf8" c:type="const char*"/> 6607 + </return-value> 6608 + <parameters> 6609 + <instance-parameter name="msg" transfer-ownership="none"> 6610 + <doc xml:space="preserve" 6611 + filename="libsoup/soup-message.c" 6612 + line="2925">The #SoupMessage</doc> 6613 + <type name="Message" c:type="SoupMessage*"/> 6614 + </instance-parameter> 6615 + </parameters> 6616 + </method> 6617 + <method name="get_metrics" c:identifier="soup_message_get_metrics"> 6618 + <doc xml:space="preserve" 6619 + filename="libsoup/soup-message.c" 6620 + line="3150">Get the [struct@MessageMetrics] of @msg. 6621 + 6622 + If the flag %SOUP_MESSAGE_COLLECT_METRICS is not enabled for @msg this will 6623 + return %NULL.</doc> 6624 + <source-position filename="libsoup/soup-message.h" line="196"/> 6625 + <return-value transfer-ownership="none" nullable="1"> 6626 + <doc xml:space="preserve" 6627 + filename="libsoup/soup-message.c" 6628 + line="3159">a #SoupMessageMetrics</doc> 6629 + <type name="MessageMetrics" c:type="SoupMessageMetrics*"/> 6630 + </return-value> 6631 + <parameters> 6632 + <instance-parameter name="msg" transfer-ownership="none"> 6633 + <doc xml:space="preserve" 6634 + filename="libsoup/soup-message.c" 6635 + line="3152">The #SoupMessage</doc> 6636 + <type name="Message" c:type="SoupMessage*"/> 6637 + </instance-parameter> 6638 + </parameters> 6639 + </method> 6640 + <method name="get_priority" 6641 + c:identifier="soup_message_get_priority" 6642 + glib:get-property="priority"> 6643 + <doc xml:space="preserve" 6644 + filename="libsoup/soup-message.c" 6645 + line="2696">Retrieves the [enum@MessagePriority]. 6646 + 6647 + If not set this value defaults to #SOUP_MESSAGE_PRIORITY_NORMAL.</doc> 6648 + <source-position filename="libsoup/soup-message.h" line="162"/> 6649 + <return-value transfer-ownership="none"> 6650 + <doc xml:space="preserve" 6651 + filename="libsoup/soup-message.c" 6652 + line="2704">the priority of the message.</doc> 6653 + <type name="MessagePriority" c:type="SoupMessagePriority"/> 6654 + </return-value> 6655 + <parameters> 6656 + <instance-parameter name="msg" transfer-ownership="none"> 6657 + <doc xml:space="preserve" 6658 + filename="libsoup/soup-message.c" 6659 + line="2698">a #SoupMessage</doc> 6660 + <type name="Message" c:type="SoupMessage*"/> 6661 + </instance-parameter> 6662 + </parameters> 6663 + </method> 6664 + <method name="get_reason_phrase" 6665 + c:identifier="soup_message_get_reason_phrase" 6666 + glib:get-property="reason-phrase"> 6667 + <attribute name="org.gtk.Method.get_property" value="reason-phrase"/> 6668 + <doc xml:space="preserve" 6669 + filename="libsoup/soup-message.c" 6670 + line="2959">Returns the reason phrase for the status of this message.</doc> 6671 + <source-position filename="libsoup/soup-message.h" line="175"/> 6672 + <return-value transfer-ownership="none" nullable="1"> 6673 + <doc xml:space="preserve" 6674 + filename="libsoup/soup-message.c" 6675 + line="2965">the phrase</doc> 6676 + <type name="utf8" c:type="const char*"/> 6677 + </return-value> 6678 + <parameters> 6679 + <instance-parameter name="msg" transfer-ownership="none"> 6680 + <doc xml:space="preserve" 6681 + filename="libsoup/soup-message.c" 6682 + line="2961">The #SoupMessage</doc> 6683 + <type name="Message" c:type="SoupMessage*"/> 6684 + </instance-parameter> 6685 + </parameters> 6686 + </method> 6687 + <method name="get_remote_address" 6688 + c:identifier="soup_message_get_remote_address" 6689 + glib:get-property="remote-address"> 6690 + <doc xml:space="preserve" 6691 + filename="libsoup/soup-message.c" 6692 + line="3123">Get the remote [class@Gio.SocketAddress] of the connection associated with 6693 + the message. 6694 + 6695 + The returned address can be %NULL if the connection hasn't been established 6696 + yet, or the resource was loaded from the disk cache. In case of proxy 6697 + connections, the remote address returned is a [class@Gio.ProxyAddress]. If 6698 + [property@Session:remote-connectable] is set the returned address id for the 6699 + connection to the session's remote connectable.</doc> 6700 + <source-position filename="libsoup/soup-message.h" line="193"/> 6701 + <return-value transfer-ownership="none" nullable="1"> 6702 + <doc xml:space="preserve" 6703 + filename="libsoup/soup-message.c" 6704 + line="3136">a #GSocketAddress or %NULL if the connection 6705 + hasn't been established</doc> 6706 + <type name="Gio.SocketAddress" c:type="GSocketAddress*"/> 6707 + </return-value> 6708 + <parameters> 6709 + <instance-parameter name="msg" transfer-ownership="none"> 6710 + <doc xml:space="preserve" 6711 + filename="libsoup/soup-message.c" 6712 + line="3125">The #SoupMessage</doc> 6713 + <type name="Message" c:type="SoupMessage*"/> 6714 + </instance-parameter> 6715 + </parameters> 6716 + </method> 6717 + <method name="get_request_headers" 6718 + c:identifier="soup_message_get_request_headers" 6719 + glib:get-property="request-headers"> 6720 + <attribute name="org.gtk.Method.get_property" value="request-headers"/> 6721 + <doc xml:space="preserve" 6722 + filename="libsoup/soup-message.c" 6723 + line="2977">Returns the headers sent with the request.</doc> 6724 + <source-position filename="libsoup/soup-message.h" line="178"/> 6725 + <return-value transfer-ownership="none"> 6726 + <doc xml:space="preserve" 6727 + filename="libsoup/soup-message.c" 6728 + line="2983">The #SoupMessageHeaders</doc> 6729 + <type name="MessageHeaders" c:type="SoupMessageHeaders*"/> 6730 + </return-value> 6731 + <parameters> 6732 + <instance-parameter name="msg" transfer-ownership="none"> 6733 + <doc xml:space="preserve" 6734 + filename="libsoup/soup-message.c" 6735 + line="2979">The #SoupMessage</doc> 6736 + <type name="Message" c:type="SoupMessage*"/> 6737 + </instance-parameter> 6738 + </parameters> 6739 + </method> 6740 + <method name="get_response_headers" 6741 + c:identifier="soup_message_get_response_headers" 6742 + glib:get-property="response-headers"> 6743 + <attribute name="org.gtk.Method.get_property" 6744 + value="response-headers"/> 6745 + <doc xml:space="preserve" 6746 + filename="libsoup/soup-message.c" 6747 + line="2995">Returns the headers recieved with the response.</doc> 6748 + <source-position filename="libsoup/soup-message.h" line="181"/> 6749 + <return-value transfer-ownership="none"> 6750 + <doc xml:space="preserve" 6751 + filename="libsoup/soup-message.c" 6752 + line="3001">The #SoupMessageHeaders</doc> 6753 + <type name="MessageHeaders" c:type="SoupMessageHeaders*"/> 6754 + </return-value> 6755 + <parameters> 6756 + <instance-parameter name="msg" transfer-ownership="none"> 6757 + <doc xml:space="preserve" 6758 + filename="libsoup/soup-message.c" 6759 + line="2997">The #SoupMessage</doc> 6760 + <type name="Message" c:type="SoupMessage*"/> 6761 + </instance-parameter> 6762 + </parameters> 6763 + </method> 6764 + <method name="get_site_for_cookies" 6765 + c:identifier="soup_message_get_site_for_cookies" 6766 + glib:get-property="site-for-cookies"> 6767 + <attribute name="org.gtk.Method.get_property" 6768 + value="site-for-cookies"/> 6769 + <doc xml:space="preserve" 6770 + filename="libsoup/soup-message.c" 6771 + line="2364">Gets @msg's site for cookies #GUri.</doc> 6772 + <source-position filename="libsoup/soup-message.h" line="66"/> 6773 + <return-value transfer-ownership="none"> 6774 + <doc xml:space="preserve" 6775 + filename="libsoup/soup-message.c" 6776 + line="2370">the @msg's site for cookies #GUri</doc> 6777 + <type name="GLib.Uri" c:type="GUri*"/> 6778 + </return-value> 6779 + <parameters> 6780 + <instance-parameter name="msg" transfer-ownership="none"> 6781 + <doc xml:space="preserve" 6782 + filename="libsoup/soup-message.c" 6783 + line="2366">a #SoupMessage</doc> 6784 + <type name="Message" c:type="SoupMessage*"/> 6785 + </instance-parameter> 6786 + </parameters> 6787 + </method> 6788 + <method name="get_status" c:identifier="soup_message_get_status"> 6789 + <doc xml:space="preserve" 6790 + filename="libsoup/soup-message.c" 6791 + line="2941">Returns the set status of this message.</doc> 6792 + <source-position filename="libsoup/soup-message.h" line="172"/> 6793 + <return-value transfer-ownership="none"> 6794 + <doc xml:space="preserve" 6795 + filename="libsoup/soup-message.c" 6796 + line="2947">The #SoupStatus</doc> 6797 + <type name="Status" c:type="SoupStatus"/> 6798 + </return-value> 6799 + <parameters> 6800 + <instance-parameter name="msg" transfer-ownership="none"> 6801 + <doc xml:space="preserve" 6802 + filename="libsoup/soup-message.c" 6803 + line="2943">The #SoupMessage</doc> 6804 + <type name="Message" c:type="SoupMessage*"/> 6805 + </instance-parameter> 6806 + </parameters> 6807 + </method> 6808 + <method name="get_tls_ciphersuite_name" 6809 + c:identifier="soup_message_get_tls_ciphersuite_name" 6810 + glib:get-property="tls-ciphersuite-name"> 6811 + <doc xml:space="preserve" 6812 + filename="libsoup/soup-message.c" 6813 + line="2543">Gets the name of the TLS ciphersuite negotiated for @msg's connection.</doc> 6814 + <source-position filename="libsoup/soup-message.h" line="113"/> 6815 + <return-value transfer-ownership="none"> 6816 + <doc xml:space="preserve" 6817 + filename="libsoup/soup-message.c" 6818 + line="2549">the name of the TLS ciphersuite, 6819 + or %NULL if @msg's connection is not SSL.</doc> 6820 + <type name="utf8" c:type="const char*"/> 6821 + </return-value> 6822 + <parameters> 6823 + <instance-parameter name="msg" transfer-ownership="none"> 6824 + <doc xml:space="preserve" 6825 + filename="libsoup/soup-message.c" 6826 + line="2545">a #SoupMessage</doc> 6827 + <type name="Message" c:type="SoupMessage*"/> 6828 + </instance-parameter> 6829 + </parameters> 6830 + </method> 6831 + <method name="get_tls_peer_certificate" 6832 + c:identifier="soup_message_get_tls_peer_certificate" 6833 + glib:get-property="tls-peer-certificate"> 6834 + <doc xml:space="preserve" 6835 + filename="libsoup/soup-message.c" 6836 + line="2475">Gets the peer's [class@Gio.TlsCertificate] associated with @msg's connection. 6837 + 6838 + Note that this is not set yet during the emission of 6839 + [signal@Message::accept-certificate] signal.</doc> 6840 + <source-position filename="libsoup/soup-message.h" line="104"/> 6841 + <return-value transfer-ownership="none" nullable="1"> 6842 + <doc xml:space="preserve" 6843 + filename="libsoup/soup-message.c" 6844 + line="2484">@msg's TLS peer certificate, 6845 + or %NULL if @msg's connection is not SSL.</doc> 6846 + <type name="Gio.TlsCertificate" c:type="GTlsCertificate*"/> 6847 + </return-value> 6848 + <parameters> 6849 + <instance-parameter name="msg" transfer-ownership="none"> 6850 + <doc xml:space="preserve" 6851 + filename="libsoup/soup-message.c" 6852 + line="2477">a #SoupMessage</doc> 6853 + <type name="Message" c:type="SoupMessage*"/> 6854 + </instance-parameter> 6855 + </parameters> 6856 + </method> 6857 + <method name="get_tls_peer_certificate_errors" 6858 + c:identifier="soup_message_get_tls_peer_certificate_errors" 6859 + glib:get-property="tls-peer-certificate-errors"> 6860 + <doc xml:space="preserve" 6861 + filename="libsoup/soup-message.c" 6862 + line="2499">Gets the errors associated with validating @msg's TLS peer certificate. 6863 + Note that this is not set yet during the emission of 6864 + [signal@Message::accept-certificate] signal.</doc> 6865 + <source-position filename="libsoup/soup-message.h" line="107"/> 6866 + <return-value transfer-ownership="none"> 6867 + <doc xml:space="preserve" 6868 + filename="libsoup/soup-message.c" 6869 + line="2507">a #GTlsCertificateFlags with @msg's TLS peer certificate errors.</doc> 6870 + <type name="Gio.TlsCertificateFlags" c:type="GTlsCertificateFlags"/> 6871 + </return-value> 6872 + <parameters> 6873 + <instance-parameter name="msg" transfer-ownership="none"> 6874 + <doc xml:space="preserve" 6875 + filename="libsoup/soup-message.c" 6876 + line="2501">a #SoupMessage</doc> 6877 + <type name="Message" c:type="SoupMessage*"/> 6878 + </instance-parameter> 6879 + </parameters> 6880 + </method> 6881 + <method name="get_tls_protocol_version" 6882 + c:identifier="soup_message_get_tls_protocol_version" 6883 + glib:get-property="tls-protocol-version"> 6884 + <doc xml:space="preserve" 6885 + filename="libsoup/soup-message.c" 6886 + line="2521">Gets the TLS protocol version negotiated for @msg's connection. 6887 + 6888 + If the message connection is not SSL, %G_TLS_PROTOCOL_VERSION_UNKNOWN is returned.</doc> 6889 + <source-position filename="libsoup/soup-message.h" line="110"/> 6890 + <return-value transfer-ownership="none"> 6891 + <doc xml:space="preserve" 6892 + filename="libsoup/soup-message.c" 6893 + line="2529">a #GTlsProtocolVersion</doc> 6894 + <type name="Gio.TlsProtocolVersion" c:type="GTlsProtocolVersion"/> 6895 + </return-value> 6896 + <parameters> 6897 + <instance-parameter name="msg" transfer-ownership="none"> 6898 + <doc xml:space="preserve" 6899 + filename="libsoup/soup-message.c" 6900 + line="2523">a #SoupMessage</doc> 6901 + <type name="Message" c:type="SoupMessage*"/> 6902 + </instance-parameter> 6903 + </parameters> 6904 + </method> 6905 + <method name="get_uri" 6906 + c:identifier="soup_message_get_uri" 6907 + glib:get-property="uri"> 6908 + <attribute name="org.gtk.Method.get_property" value="method"/> 6909 + <doc xml:space="preserve" 6910 + filename="libsoup/soup-message.c" 6911 + line="2157">Gets @msg's URI.</doc> 6912 + <source-position filename="libsoup/soup-message.h" line="56"/> 6913 + <return-value transfer-ownership="none"> 6914 + <doc xml:space="preserve" 6915 + filename="libsoup/soup-message.c" 6916 + line="2163">the URI @msg is targeted for.</doc> 6917 + <type name="GLib.Uri" c:type="GUri*"/> 6918 + </return-value> 6919 + <parameters> 6920 + <instance-parameter name="msg" transfer-ownership="none"> 6921 + <doc xml:space="preserve" 6922 + filename="libsoup/soup-message.c" 6923 + line="2159">a #SoupMessage</doc> 6924 + <type name="Message" c:type="SoupMessage*"/> 6925 + </instance-parameter> 6926 + </parameters> 6927 + </method> 6928 + <method name="is_feature_disabled" 6929 + c:identifier="soup_message_is_feature_disabled"> 6930 + <doc xml:space="preserve" 6931 + filename="libsoup/soup-message.c" 6932 + line="2265">Get whether [iface@SessionFeature]s of the given @feature_type 6933 + (or a subclass of that type) are disabled on @msg. 6934 + 6935 + See [method@Message.disable_feature].</doc> 6936 + <source-position filename="libsoup/soup-message.h" line="144"/> 6937 + <return-value transfer-ownership="none"> 6938 + <doc xml:space="preserve" 6939 + filename="libsoup/soup-message.c" 6940 + line="2275">%TRUE if feature is disabled, or %FALSE otherwise.</doc> 6941 + <type name="gboolean" c:type="gboolean"/> 6942 + </return-value> 6943 + <parameters> 6944 + <instance-parameter name="msg" transfer-ownership="none"> 6945 + <doc xml:space="preserve" 6946 + filename="libsoup/soup-message.c" 6947 + line="2267">a #SoupMessage</doc> 6948 + <type name="Message" c:type="SoupMessage*"/> 6949 + </instance-parameter> 6950 + <parameter name="feature_type" transfer-ownership="none"> 6951 + <doc xml:space="preserve" 6952 + filename="libsoup/soup-message.c" 6953 + line="2268">the #GType of a #SoupSessionFeature</doc> 6954 + <type name="GType" c:type="GType"/> 6955 + </parameter> 6956 + </parameters> 6957 + </method> 6958 + <method name="is_keepalive" c:identifier="soup_message_is_keepalive"> 6959 + <doc xml:space="preserve" 6960 + filename="libsoup/soup-message.c" 6961 + line="2065">Determines whether or not @msg's connection can be kept alive for 6962 + further requests after processing @msg. 6963 + 6964 + The result is based on the HTTP version, Connection header, etc.</doc> 6965 + <source-position filename="libsoup/soup-message.h" line="53"/> 6966 + <return-value transfer-ownership="none"> 6967 + <doc xml:space="preserve" 6968 + filename="libsoup/soup-message.c" 6969 + line="2074">%TRUE or %FALSE.</doc> 6970 + <type name="gboolean" c:type="gboolean"/> 6971 + </return-value> 6972 + <parameters> 6973 + <instance-parameter name="msg" transfer-ownership="none"> 6974 + <doc xml:space="preserve" 6975 + filename="libsoup/soup-message.c" 6976 + line="2067">a #SoupMessage</doc> 6977 + <type name="Message" c:type="SoupMessage*"/> 6978 + </instance-parameter> 6979 + </parameters> 6980 + </method> 6981 + <method name="query_flags" c:identifier="soup_message_query_flags"> 6982 + <doc xml:space="preserve" 6983 + filename="libsoup/soup-message.c" 6984 + line="1978">Queries if @flags are present in the set of @msg's flags.</doc> 6985 + <source-position filename="libsoup/soup-message.h" line="100"/> 6986 + <return-value transfer-ownership="none"> 6987 + <doc xml:space="preserve" 6988 + filename="libsoup/soup-message.c" 6989 + line="1985">%TRUE if @flags are enabled in @msg</doc> 6990 + <type name="gboolean" c:type="gboolean"/> 6991 + </return-value> 6992 + <parameters> 6993 + <instance-parameter name="msg" transfer-ownership="none"> 6994 + <doc xml:space="preserve" 6995 + filename="libsoup/soup-message.c" 6996 + line="1980">a #SoupMessage</doc> 6997 + <type name="Message" c:type="SoupMessage*"/> 6998 + </instance-parameter> 6999 + <parameter name="flags" transfer-ownership="none"> 7000 + <doc xml:space="preserve" 7001 + filename="libsoup/soup-message.c" 7002 + line="1981">a set of #SoupMessageFlags values</doc> 7003 + <type name="MessageFlags" c:type="SoupMessageFlags"/> 7004 + </parameter> 7005 + </parameters> 7006 + </method> 7007 + <method name="remove_flags" c:identifier="soup_message_remove_flags"> 7008 + <doc xml:space="preserve" 7009 + filename="libsoup/soup-message.c" 7010 + line="1999">Removes @flags from the set of @msg's flags.</doc> 7011 + <source-position filename="libsoup/soup-message.h" line="96"/> 7012 + <return-value transfer-ownership="none"> 7013 + <type name="none" c:type="void"/> 7014 + </return-value> 7015 + <parameters> 7016 + <instance-parameter name="msg" transfer-ownership="none"> 7017 + <doc xml:space="preserve" 7018 + filename="libsoup/soup-message.c" 7019 + line="2001">a #SoupMessage</doc> 7020 + <type name="Message" c:type="SoupMessage*"/> 7021 + </instance-parameter> 7022 + <parameter name="flags" transfer-ownership="none"> 7023 + <doc xml:space="preserve" 7024 + filename="libsoup/soup-message.c" 7025 + line="2002">a set of #SoupMessageFlags values</doc> 7026 + <type name="MessageFlags" c:type="SoupMessageFlags"/> 7027 + </parameter> 7028 + </parameters> 7029 + </method> 7030 + <method name="set_first_party" 7031 + c:identifier="soup_message_set_first_party" 7032 + glib:set-property="first-party"> 7033 + <attribute name="org.gtk.Method.set_property" value="first-party"/> 7034 + <doc xml:space="preserve" 7035 + filename="libsoup/soup-message.c" 7036 + line="2326">Sets @first_party as the main document #GUri for @msg. 7037 + 7038 + For details of when and how this is used refer to the documentation for 7039 + [enum@CookieJarAcceptPolicy].</doc> 7040 + <source-position filename="libsoup/soup-message.h" line="63"/> 7041 + <return-value transfer-ownership="none"> 7042 + <type name="none" c:type="void"/> 7043 + </return-value> 7044 + <parameters> 7045 + <instance-parameter name="msg" transfer-ownership="none"> 7046 + <doc xml:space="preserve" 7047 + filename="libsoup/soup-message.c" 7048 + line="2328">a #SoupMessage</doc> 7049 + <type name="Message" c:type="SoupMessage*"/> 7050 + </instance-parameter> 7051 + <parameter name="first_party" transfer-ownership="none"> 7052 + <doc xml:space="preserve" 7053 + filename="libsoup/soup-message.c" 7054 + line="2329">the #GUri for the @msg's first party</doc> 7055 + <type name="GLib.Uri" c:type="GUri*"/> 7056 + </parameter> 7057 + </parameters> 7058 + </method> 7059 + <method name="set_flags" 7060 + c:identifier="soup_message_set_flags" 7061 + glib:set-property="flags"> 7062 + <attribute name="org.gtk.Method.set_property" value="flags"/> 7063 + <doc xml:space="preserve" 7064 + filename="libsoup/soup-message.c" 7065 + line="1916">Sets the specified flags on @msg.</doc> 7066 + <source-position filename="libsoup/soup-message.h" line="85"/> 7067 + <return-value transfer-ownership="none"> 7068 + <type name="none" c:type="void"/> 7069 + </return-value> 7070 + <parameters> 7071 + <instance-parameter name="msg" transfer-ownership="none"> 7072 + <doc xml:space="preserve" 7073 + filename="libsoup/soup-message.c" 7074 + line="1918">a #SoupMessage</doc> 7075 + <type name="Message" c:type="SoupMessage*"/> 7076 + </instance-parameter> 7077 + <parameter name="flags" transfer-ownership="none"> 7078 + <doc xml:space="preserve" 7079 + filename="libsoup/soup-message.c" 7080 + line="1919">a set of #SoupMessageFlags values</doc> 7081 + <type name="MessageFlags" c:type="SoupMessageFlags"/> 7082 + </parameter> 7083 + </parameters> 7084 + </method> 7085 + <method name="set_force_http1" 7086 + c:identifier="soup_message_set_force_http1" 7087 + version="3.4"> 7088 + <doc xml:space="preserve" 7089 + filename="libsoup/soup-message.c" 7090 + line="3320">Sets whether HTTP/1 version should be used when sending this message. 7091 + Some connections can still override it, if needed. 7092 + 7093 + Note the value is unset after the message send is finished.</doc> 7094 + <source-position filename="libsoup/soup-message.h" line="199"/> 7095 + <return-value transfer-ownership="none"> 7096 + <type name="none" c:type="void"/> 7097 + </return-value> 7098 + <parameters> 7099 + <instance-parameter name="msg" transfer-ownership="none"> 7100 + <doc xml:space="preserve" 7101 + filename="libsoup/soup-message.c" 7102 + line="3322">The #SoupMessage</doc> 7103 + <type name="Message" c:type="SoupMessage*"/> 7104 + </instance-parameter> 7105 + <parameter name="value" transfer-ownership="none"> 7106 + <doc xml:space="preserve" 7107 + filename="libsoup/soup-message.c" 7108 + line="3323">value to set</doc> 7109 + <type name="gboolean" c:type="gboolean"/> 7110 + </parameter> 7111 + </parameters> 7112 + </method> 7113 + <method name="set_is_options_ping" 7114 + c:identifier="soup_message_set_is_options_ping" 7115 + glib:set-property="is-options-ping"> 7116 + <doc xml:space="preserve" 7117 + filename="libsoup/soup-message.c" 7118 + line="3074">Set whether @msg is intended to be used to send `OPTIONS *` to a server. 7119 + 7120 + When set to %TRUE, the path of [property@Message:uri] will be ignored and 7121 + [property@Message:method] set to %SOUP_METHOD_OPTIONS.</doc> 7122 + <source-position filename="libsoup/soup-message.h" line="187"/> 7123 + <return-value transfer-ownership="none"> 7124 + <type name="none" c:type="void"/> 7125 + </return-value> 7126 + <parameters> 7127 + <instance-parameter name="msg" transfer-ownership="none"> 7128 + <doc xml:space="preserve" 7129 + filename="libsoup/soup-message.c" 7130 + line="3076">a #SoupMessage</doc> 7131 + <type name="Message" c:type="SoupMessage*"/> 7132 + </instance-parameter> 7133 + <parameter name="is_options_ping" transfer-ownership="none"> 7134 + <doc xml:space="preserve" 7135 + filename="libsoup/soup-message.c" 7136 + line="3077">the value to set</doc> 7137 + <type name="gboolean" c:type="gboolean"/> 7138 + </parameter> 7139 + </parameters> 7140 + </method> 7141 + <method name="set_is_top_level_navigation" 7142 + c:identifier="soup_message_set_is_top_level_navigation" 7143 + glib:set-property="is-top-level-navigation"> 7144 + <attribute name="org.gtk.Method.set_property" 7145 + value="is-top-level-navigation"/> 7146 + <doc xml:space="preserve" 7147 + filename="libsoup/soup-message.c" 7148 + line="2427">Sets whether the current request is a top-level navitation. 7149 + 7150 + See the [same-site spec](https://tools.ietf.org/html/draft-ietf-httpbis-cookie-same-site-00) 7151 + for more information.</doc> 7152 + <source-position filename="libsoup/soup-message.h" line="71"/> 7153 + <return-value transfer-ownership="none"> 7154 + <type name="none" c:type="void"/> 7155 + </return-value> 7156 + <parameters> 7157 + <instance-parameter name="msg" transfer-ownership="none"> 7158 + <doc xml:space="preserve" 7159 + filename="libsoup/soup-message.c" 7160 + line="2429">a #SoupMessage</doc> 7161 + <type name="Message" c:type="SoupMessage*"/> 7162 + </instance-parameter> 7163 + <parameter name="is_top_level_navigation" transfer-ownership="none"> 7164 + <doc xml:space="preserve" 7165 + filename="libsoup/soup-message.c" 7166 + line="2430">if %TRUE indicate the current request is a top-level navigation</doc> 7167 + <type name="gboolean" c:type="gboolean"/> 7168 + </parameter> 7169 + </parameters> 7170 + </method> 7171 + <method name="set_method" 7172 + c:identifier="soup_message_set_method" 7173 + glib:set-property="method"> 7174 + <attribute name="org.gtk.Method.set_property" value="method"/> 7175 + <doc xml:space="preserve" 7176 + filename="libsoup/soup-message.c" 7177 + line="3033">Set @msg's HTTP method to @method.</doc> 7178 + <source-position filename="libsoup/soup-message.h" line="168"/> 7179 + <return-value transfer-ownership="none"> 7180 + <type name="none" c:type="void"/> 7181 + </return-value> 7182 + <parameters> 7183 + <instance-parameter name="msg" transfer-ownership="none"> 7184 + <doc xml:space="preserve" 7185 + filename="libsoup/soup-message.c" 7186 + line="3035">a #SoupMessage</doc> 7187 + <type name="Message" c:type="SoupMessage*"/> 7188 + </instance-parameter> 7189 + <parameter name="method" transfer-ownership="none"> 7190 + <doc xml:space="preserve" 7191 + filename="libsoup/soup-message.c" 7192 + line="3036">the value to set</doc> 7193 + <type name="utf8" c:type="const char*"/> 7194 + </parameter> 7195 + </parameters> 7196 + </method> 7197 + <method name="set_priority" 7198 + c:identifier="soup_message_set_priority" 7199 + glib:set-property="priority"> 7200 + <doc xml:space="preserve" 7201 + filename="libsoup/soup-message.c" 7202 + line="2662">Sets the priority of a message. 7203 + 7204 + Note that this won't have any effect unless used before the message is added 7205 + to the session's message processing queue. 7206 + 7207 + The message will be placed just before any other previously added 7208 + message with lower priority (messages with the same priority are 7209 + processed on a FIFO basis). 7210 + 7211 + Setting priorities does not currently work with synchronous messages 7212 + because in the synchronous/blocking case, priority ends up being determined 7213 + semi-randomly by thread scheduling.</doc> 7214 + <source-position filename="libsoup/soup-message.h" line="157"/> 7215 + <return-value transfer-ownership="none"> 7216 + <type name="none" c:type="void"/> 7217 + </return-value> 7218 + <parameters> 7219 + <instance-parameter name="msg" transfer-ownership="none"> 7220 + <doc xml:space="preserve" 7221 + filename="libsoup/soup-message.c" 7222 + line="2664">a #SoupMessage</doc> 7223 + <type name="Message" c:type="SoupMessage*"/> 7224 + </instance-parameter> 7225 + <parameter name="priority" transfer-ownership="none"> 7226 + <doc xml:space="preserve" 7227 + filename="libsoup/soup-message.c" 7228 + line="2665">the #SoupMessagePriority</doc> 7229 + <type name="MessagePriority" c:type="SoupMessagePriority"/> 7230 + </parameter> 7231 + </parameters> 7232 + </method> 7233 + <method name="set_request_body" 7234 + c:identifier="soup_message_set_request_body"> 7235 + <doc xml:space="preserve" 7236 + filename="libsoup/soup-message.c" 7237 + line="1127">Set the request body of a #SoupMessage. 7238 + 7239 + If @content_type is %NULL and @stream is not %NULL the Content-Type header will 7240 + not be changed if present. 7241 + The request body needs to be set again in case @msg is restarted 7242 + (in case of redirection or authentication).</doc> 7243 + <source-position filename="libsoup/soup-message.h" line="40"/> 7244 + <return-value transfer-ownership="none"> 7245 + <type name="none" c:type="void"/> 7246 + </return-value> 7247 + <parameters> 7248 + <instance-parameter name="msg" transfer-ownership="none"> 7249 + <doc xml:space="preserve" 7250 + filename="libsoup/soup-message.c" 7251 + line="1129">the message</doc> 7252 + <type name="Message" c:type="SoupMessage*"/> 7253 + </instance-parameter> 7254 + <parameter name="content_type" 7255 + transfer-ownership="none" 7256 + nullable="1" 7257 + allow-none="1"> 7258 + <doc xml:space="preserve" 7259 + filename="libsoup/soup-message.c" 7260 + line="1130">MIME Content-Type of the body, or %NULL if unknown</doc> 7261 + <type name="utf8" c:type="const char*"/> 7262 + </parameter> 7263 + <parameter name="stream" 7264 + transfer-ownership="none" 7265 + nullable="1" 7266 + allow-none="1"> 7267 + <doc xml:space="preserve" 7268 + filename="libsoup/soup-message.c" 7269 + line="1131">a #GInputStream to read the request body from</doc> 7270 + <type name="Gio.InputStream" c:type="GInputStream*"/> 7271 + </parameter> 7272 + <parameter name="content_length" transfer-ownership="none"> 7273 + <doc xml:space="preserve" 7274 + filename="libsoup/soup-message.c" 7275 + line="1132">the byte length of @stream or -1 if unknown</doc> 7276 + <type name="gssize" c:type="gssize"/> 7277 + </parameter> 7278 + </parameters> 7279 + </method> 7280 + <method name="set_request_body_from_bytes" 7281 + c:identifier="soup_message_set_request_body_from_bytes"> 7282 + <doc xml:space="preserve" 7283 + filename="libsoup/soup-message.c" 7284 + line="1175">Set the request body of a #SoupMessage from [struct@GLib.Bytes]. 7285 + 7286 + If @content_type is %NULL and @bytes is not %NULL the Content-Type header will 7287 + not be changed if present. 7288 + The request body needs to be set again in case @msg is restarted 7289 + (in case of redirection or authentication).</doc> 7290 + <source-position filename="libsoup/soup-message.h" line="45"/> 7291 + <return-value transfer-ownership="none"> 7292 + <type name="none" c:type="void"/> 7293 + </return-value> 7294 + <parameters> 7295 + <instance-parameter name="msg" transfer-ownership="none"> 7296 + <doc xml:space="preserve" 7297 + filename="libsoup/soup-message.c" 7298 + line="1177">the message</doc> 7299 + <type name="Message" c:type="SoupMessage*"/> 7300 + </instance-parameter> 7301 + <parameter name="content_type" 7302 + transfer-ownership="none" 7303 + nullable="1" 7304 + allow-none="1"> 7305 + <doc xml:space="preserve" 7306 + filename="libsoup/soup-message.c" 7307 + line="1178">MIME Content-Type of the body, or %NULL if unknown</doc> 7308 + <type name="utf8" c:type="const char*"/> 7309 + </parameter> 7310 + <parameter name="bytes" 7311 + transfer-ownership="none" 7312 + nullable="1" 7313 + allow-none="1"> 7314 + <doc xml:space="preserve" 7315 + filename="libsoup/soup-message.c" 7316 + line="1179">a #GBytes with the request body data</doc> 7317 + <type name="GLib.Bytes" c:type="GBytes*"/> 7318 + </parameter> 7319 + </parameters> 7320 + </method> 7321 + <method name="set_site_for_cookies" 7322 + c:identifier="soup_message_set_site_for_cookies" 7323 + glib:set-property="site-for-cookies"> 7324 + <attribute name="org.gtk.Method.set_property" 7325 + value="site-for-cookies"/> 7326 + <doc xml:space="preserve" 7327 + filename="libsoup/soup-message.c" 7328 + line="2383">Sets @site_for_cookies as the policy URL for same-site cookies for @msg. 7329 + 7330 + It is either the URL of the top-level document or %NULL depending on whether 7331 + the registrable domain of this document's URL matches the registrable domain 7332 + of its parent's/opener's URL. For the top-level document it is set to the 7333 + document's URL. 7334 + 7335 + See the [same-site spec](https://tools.ietf.org/html/draft-ietf-httpbis-cookie-same-site-00) 7336 + for more information.</doc> 7337 + <source-position filename="libsoup/soup-message.h" line="68"/> 7338 + <return-value transfer-ownership="none"> 7339 + <type name="none" c:type="void"/> 7340 + </return-value> 7341 + <parameters> 7342 + <instance-parameter name="msg" transfer-ownership="none"> 7343 + <doc xml:space="preserve" 7344 + filename="libsoup/soup-message.c" 7345 + line="2385">a #SoupMessage</doc> 7346 + <type name="Message" c:type="SoupMessage*"/> 7347 + </instance-parameter> 7348 + <parameter name="site_for_cookies" 7349 + transfer-ownership="none" 7350 + nullable="1" 7351 + allow-none="1"> 7352 + <doc xml:space="preserve" 7353 + filename="libsoup/soup-message.c" 7354 + line="2386">the #GUri for the @msg's site for cookies</doc> 7355 + <type name="GLib.Uri" c:type="GUri*"/> 7356 + </parameter> 7357 + </parameters> 7358 + </method> 7359 + <method name="set_tls_client_certificate" 7360 + c:identifier="soup_message_set_tls_client_certificate"> 7361 + <doc xml:space="preserve" 7362 + filename="libsoup/soup-message.c" 7363 + line="2564">Sets the @certificate to be used by @msg's connection when a 7364 + client certificate is requested during the TLS handshake. 7365 + 7366 + You can call this as a response to [signal@Message::request-certificate] 7367 + signal, or before the connection is started. If @certificate is %NULL 7368 + the handshake will continue without providing a GTlsCertificate. 7369 + Note that the [class@Gio.TlsCertificate] set by this function will be ignored if 7370 + [property@Session:tls-interaction] is not %NULL.</doc> 7371 + <source-position filename="libsoup/soup-message.h" line="116"/> 7372 + <return-value transfer-ownership="none"> 7373 + <type name="none" c:type="void"/> 7374 + </return-value> 7375 + <parameters> 7376 + <instance-parameter name="msg" transfer-ownership="none"> 7377 + <doc xml:space="preserve" 7378 + filename="libsoup/soup-message.c" 7379 + line="2566">a #SoupMessage</doc> 7380 + <type name="Message" c:type="SoupMessage*"/> 7381 + </instance-parameter> 7382 + <parameter name="certificate" 7383 + transfer-ownership="none" 7384 + nullable="1" 7385 + allow-none="1"> 7386 + <doc xml:space="preserve" 7387 + filename="libsoup/soup-message.c" 7388 + line="2567">the #GTlsCertificate to set, or %NULL</doc> 7389 + <type name="Gio.TlsCertificate" c:type="GTlsCertificate*"/> 7390 + </parameter> 7391 + </parameters> 7392 + </method> 7393 + <method name="set_uri" 7394 + c:identifier="soup_message_set_uri" 7395 + glib:set-property="uri"> 7396 + <attribute name="org.gtk.Method.set_property" value="method"/> 7397 + <doc xml:space="preserve" 7398 + filename="libsoup/soup-message.c" 7399 + line="2119">Sets @msg's URI to @uri. 7400 + 7401 + If @msg has already been sent and you want to re-send it with the new URI, 7402 + you need to send it again.</doc> 7403 + <source-position filename="libsoup/soup-message.h" line="58"/> 7404 + <return-value transfer-ownership="none"> 7405 + <type name="none" c:type="void"/> 7406 + </return-value> 7407 + <parameters> 7408 + <instance-parameter name="msg" transfer-ownership="none"> 7409 + <doc xml:space="preserve" 7410 + filename="libsoup/soup-message.c" 7411 + line="2121">a #SoupMessage</doc> 7412 + <type name="Message" c:type="SoupMessage*"/> 7413 + </instance-parameter> 7414 + <parameter name="uri" transfer-ownership="none"> 7415 + <doc xml:space="preserve" 7416 + filename="libsoup/soup-message.c" 7417 + line="2122">the new #GUri</doc> 7418 + <type name="GLib.Uri" c:type="GUri*"/> 7419 + </parameter> 7420 + </parameters> 7421 + </method> 7422 + <method name="tls_client_certificate_password_request_complete" 7423 + c:identifier="soup_message_tls_client_certificate_password_request_complete"> 7424 + <doc xml:space="preserve" 7425 + filename="libsoup/soup-message.c" 7426 + line="2612">Completes a certificate password request. 7427 + 7428 + You must call this as a response to 7429 + [signal@Message::request-certificate-password] signal, to notify @msg that 7430 + the [class@Gio.TlsPassword] has already been updated.</doc> 7431 + <source-position filename="libsoup/soup-message.h" line="120"/> 7432 + <return-value transfer-ownership="none"> 7433 + <type name="none" c:type="void"/> 7434 + </return-value> 7435 + <parameters> 7436 + <instance-parameter name="msg" transfer-ownership="none"> 7437 + <doc xml:space="preserve" 7438 + filename="libsoup/soup-message.c" 7439 + line="2614">a #SoupMessage</doc> 7440 + <type name="Message" c:type="SoupMessage*"/> 7441 + </instance-parameter> 7442 + </parameters> 7443 + </method> 7444 + <property name="first-party" 7445 + writable="1" 7446 + transfer-ownership="none" 7447 + setter="set_first_party" 7448 + getter="get_first_party"> 7449 + <attribute name="org.gtk.Property.get" 7450 + value="soup_message_get_first_party"/> 7451 + <attribute name="org.gtk.Property.set" 7452 + value="soup_message_set_first_party"/> 7453 + <doc xml:space="preserve" 7454 + filename="libsoup/soup-message.c" 7455 + line="797">The [struct@GLib.Uri] loaded in the application when the message was 7456 + queued.</doc> 7457 + <type name="GLib.Uri"/> 7458 + </property> 7459 + <property name="flags" 7460 + writable="1" 7461 + transfer-ownership="none" 7462 + setter="set_flags" 7463 + getter="get_flags" 7464 + default-value="0"> 7465 + <attribute name="org.gtk.Property.get" value="soup_message_get_flags"/> 7466 + <attribute name="org.gtk.Property.set" value="soup_message_set_flags"/> 7467 + <doc xml:space="preserve" 7468 + filename="libsoup/soup-message.c" 7469 + line="760">Various message options.</doc> 7470 + <type name="MessageFlags"/> 7471 + </property> 7472 + <property name="http-version" 7473 + transfer-ownership="none" 7474 + getter="get_http_version" 7475 + default-value="SOUP_HTTP_1_1"> 7476 + <attribute name="org.gtk.Property.get" 7477 + value="soup_message_get_http_version"/> 7478 + <doc xml:space="preserve" 7479 + filename="libsoup/soup-message.c" 7480 + line="747">The HTTP protocol version to use.</doc> 7481 + <type name="HTTPVersion"/> 7482 + </property> 7483 + <property name="is-options-ping" 7484 + writable="1" 7485 + transfer-ownership="none" 7486 + setter="set_is_options_ping" 7487 + getter="get_is_options_ping" 7488 + default-value="FALSE"> 7489 + <attribute name="org.gtk.Property.get" 7490 + value="soup_message_get_is_options_ping"/> 7491 + <attribute name="org.gtk.Property.set" 7492 + value="soup_message_set_is_options_ping"/> 7493 + <doc xml:space="preserve" 7494 + filename="libsoup/soup-message.c" 7495 + line="935">Whether the message is an OPTIONS ping. 7496 + 7497 + The #SoupMessage is intended to be used to send 7498 + `OPTIONS *` to a server. When set to %TRUE, the 7499 + path of [property@Message:uri] will be ignored and 7500 + [property@Message:method] set to %SOUP_METHOD_OPTIONS.</doc> 7501 + <type name="gboolean" c:type="gboolean"/> 7502 + </property> 7503 + <property name="is-top-level-navigation" 7504 + writable="1" 7505 + transfer-ownership="none" 7506 + setter="set_is_top_level_navigation" 7507 + getter="get_is_top_level_navigation" 7508 + default-value="FALSE"> 7509 + <attribute name="org.gtk.Property.get" 7510 + value="soup_message_get_is_top_level_navigation"/> 7511 + <attribute name="org.gtk.Property.set" 7512 + value="soup_message_set_is_top_level_navigation"/> 7513 + <doc xml:space="preserve" 7514 + filename="libsoup/soup-message.c" 7515 + line="821">Set when the message is navigating between top level domains.</doc> 7516 + <type name="gboolean" c:type="gboolean"/> 7517 + </property> 7518 + <property name="method" 7519 + writable="1" 7520 + transfer-ownership="none" 7521 + setter="set_method" 7522 + getter="get_method" 7523 + default-value="GET"> 7524 + <attribute name="org.gtk.Property.get" 7525 + value="soup_message_get_method"/> 7526 + <attribute name="org.gtk.Property.set" 7527 + value="soup_message_set_method"/> 7528 + <doc xml:space="preserve" 7529 + filename="libsoup/soup-message.c" 7530 + line="722">The message's HTTP method.</doc> 7531 + <type name="utf8" c:type="gchar*"/> 7532 + </property> 7533 + <property name="priority" 7534 + writable="1" 7535 + transfer-ownership="none" 7536 + setter="set_priority" 7537 + getter="get_priority" 7538 + default-value="SOUP_MESSAGE_PRIORITY_NORMAL"> 7539 + <attribute name="org.gtk.Property.get" 7540 + value="soup_message_get_priority"/> 7541 + <attribute name="org.gtk.Property.set" 7542 + value="soup_message_set_priority"/> 7543 + <doc xml:space="preserve" 7544 + filename="libsoup/soup-message.c" 7545 + line="920">Sets the priority of the #SoupMessage. See 7546 + [method@Message.set_priority] for further details.</doc> 7547 + <type name="MessagePriority"/> 7548 + </property> 7549 + <property name="reason-phrase" 7550 + transfer-ownership="none" 7551 + getter="get_reason_phrase" 7552 + default-value="NULL"> 7553 + <attribute name="org.gtk.Property.get" 7554 + value="soup_message_get_reason_phrase"/> 7555 + <doc xml:space="preserve" 7556 + filename="libsoup/soup-message.c" 7557 + line="785">The HTTP response reason phrase.</doc> 7558 + <type name="utf8" c:type="gchar*"/> 7559 + </property> 7560 + <property name="remote-address" 7561 + transfer-ownership="none" 7562 + getter="get_remote_address"> 7563 + <attribute name="org.gtk.Property.get" 7564 + value="soup_message_get_remote_address"/> 7565 + <doc xml:space="preserve" 7566 + filename="libsoup/soup-message.c" 7567 + line="907">The remote [class@Gio.SocketAddress] of the connection associated 7568 + with the message.</doc> 7569 + <type name="Gio.SocketAddress"/> 7570 + </property> 7571 + <property name="request-headers" 7572 + transfer-ownership="none" 7573 + getter="get_request_headers"> 7574 + <attribute name="org.gtk.Property.get" 7575 + value="soup_message_get_request_headers"/> 7576 + <doc xml:space="preserve" 7577 + filename="libsoup/soup-message.c" 7578 + line="832">The HTTP request headers.</doc> 7579 + <type name="MessageHeaders"/> 7580 + </property> 7581 + <property name="response-headers" 7582 + transfer-ownership="none" 7583 + getter="get_response_headers"> 7584 + <attribute name="org.gtk.Property.get" 7585 + value="soup_message_get_response_headers"/> 7586 + <doc xml:space="preserve" 7587 + filename="libsoup/soup-message.c" 7588 + line="844">The HTTP response headers.</doc> 7589 + <type name="MessageHeaders"/> 7590 + </property> 7591 + <property name="site-for-cookies" 7592 + writable="1" 7593 + transfer-ownership="none" 7594 + setter="set_site_for_cookies" 7595 + getter="get_site_for_cookies"> 7596 + <attribute name="org.gtk.Property.get" 7597 + value="soup_message_get_site_for_cookies"/> 7598 + <attribute name="org.gtk.Property.set" 7599 + value="soup_message_set_site_for_cookies"/> 7600 + <doc xml:space="preserve" 7601 + filename="libsoup/soup-message.c" 7602 + line="810">Site used to compare cookies against. Used for SameSite cookie support.</doc> 7603 + <type name="GLib.Uri"/> 7604 + </property> 7605 + <property name="status-code" transfer-ownership="none" default-value="0"> 7606 + <doc xml:space="preserve" 7607 + filename="libsoup/soup-message.c" 7608 + line="773">The HTTP response status code.</doc> 7609 + <type name="guint" c:type="guint"/> 7610 + </property> 7611 + <property name="tls-ciphersuite-name" 7612 + transfer-ownership="none" 7613 + getter="get_tls_ciphersuite_name" 7614 + default-value="NULL"> 7615 + <attribute name="org.gtk.Property.get" 7616 + value="soup_message_get_tls_ciphersuite_name"/> 7617 + <doc xml:space="preserve" 7618 + filename="libsoup/soup-message.c" 7619 + line="894">The Name of TLS ciphersuite negotiated for this message connection.</doc> 7620 + <type name="utf8" c:type="gchar*"/> 7621 + </property> 7622 + <property name="tls-peer-certificate" 7623 + transfer-ownership="none" 7624 + getter="get_tls_peer_certificate"> 7625 + <attribute name="org.gtk.Property.get" 7626 + value="soup_message_get_tls_peer_certificate"/> 7627 + <doc xml:space="preserve" 7628 + filename="libsoup/soup-message.c" 7629 + line="856">The peer's [class@Gio.TlsCertificate] associated with the message.</doc> 7630 + <type name="Gio.TlsCertificate"/> 7631 + </property> 7632 + <property name="tls-peer-certificate-errors" 7633 + transfer-ownership="none" 7634 + getter="get_tls_peer_certificate_errors" 7635 + default-value="G_TLS_CERTIFICATE_NO_FLAGS"> 7636 + <attribute name="org.gtk.Property.get" 7637 + value="soup_message_get_tls_peer_certificate_errors"/> 7638 + <doc xml:space="preserve" 7639 + filename="libsoup/soup-message.c" 7640 + line="868">The verification errors on [property@Message:tls-peer-certificate].</doc> 7641 + <type name="Gio.TlsCertificateFlags"/> 7642 + </property> 7643 + <property name="tls-protocol-version" 7644 + transfer-ownership="none" 7645 + getter="get_tls_protocol_version" 7646 + default-value="G_TLS_PROTOCOL_VERSION_UNKNOWN"> 7647 + <attribute name="org.gtk.Property.get" 7648 + value="soup_message_get_tls_protocol_version"/> 7649 + <doc xml:space="preserve" 7650 + filename="libsoup/soup-message.c" 7651 + line="880">The TLS protocol version negotiated for the message connection.</doc> 7652 + <type name="Gio.TlsProtocolVersion"/> 7653 + </property> 7654 + <property name="uri" 7655 + writable="1" 7656 + transfer-ownership="none" 7657 + setter="set_uri" 7658 + getter="get_uri"> 7659 + <attribute name="org.gtk.Property.get" value="soup_message_get_uri"/> 7660 + <attribute name="org.gtk.Property.set" value="soup_message_set_uri"/> 7661 + <doc xml:space="preserve" 7662 + filename="libsoup/soup-message.c" 7663 + line="735">The message's Request-URI.</doc> 7664 + <type name="GLib.Uri"/> 7665 + </property> 7666 + <glib:signal name="accept-certificate" when="last"> 7667 + <doc xml:space="preserve" 7668 + filename="libsoup/soup-message.c" 7669 + line="617">Emitted during the @msg's connection TLS handshake 7670 + after an unacceptable TLS certificate has been received. 7671 + 7672 + You can return %TRUE to accept @tls_certificate despite 7673 + @tls_errors.</doc> 7674 + <return-value transfer-ownership="none"> 7675 + <doc xml:space="preserve" 7676 + filename="libsoup/soup-message.c" 7677 + line="629">%TRUE to accept the TLS certificate and stop other 7678 + handlers from being invoked, or %FALSE to propagate the 7679 + event further.</doc> 7680 + <type name="gboolean" c:type="gboolean"/> 7681 + </return-value> 7682 + <parameters> 7683 + <parameter name="tls_peer_certificate" transfer-ownership="none"> 7684 + <doc xml:space="preserve" 7685 + filename="libsoup/soup-message.c" 7686 + line="620">the peer's #GTlsCertificate</doc> 7687 + <type name="Gio.TlsCertificate"/> 7688 + </parameter> 7689 + <parameter name="tls_peer_errors" transfer-ownership="none"> 7690 + <doc xml:space="preserve" 7691 + filename="libsoup/soup-message.c" 7692 + line="621">the tls errors of @tls_certificate</doc> 7693 + <type name="Gio.TlsCertificateFlags"/> 7694 + </parameter> 7695 + </parameters> 7696 + </glib:signal> 7697 + <glib:signal name="authenticate" when="last"> 7698 + <doc xml:space="preserve" 7699 + filename="libsoup/soup-message.c" 7700 + line="552">Emitted when the message requires authentication. 7701 + 7702 + If credentials are available call [method@Auth.authenticate] on 7703 + @auth. If these credentials fail, the signal will be emitted again, 7704 + with @retrying set to %TRUE, which will continue until you return 7705 + without calling [method@Auth.authenticate] on @auth. 7706 + 7707 + Note that this may be emitted before @msg's body has been 7708 + fully read. 7709 + 7710 + You can authenticate @auth asynchronously by calling 7711 + [method@GObject.Object.ref] on @auth and returning %TRUE. The operation will 7712 + complete once either [method@Auth.authenticate] or 7713 + [method@Auth.cancel] are called.</doc> 7714 + <return-value transfer-ownership="none"> 7715 + <doc xml:space="preserve" 7716 + filename="libsoup/soup-message.c" 7717 + line="573">%TRUE to stop other handlers from being invoked 7718 + or %FALSE to propagate the event further.</doc> 7719 + <type name="gboolean" c:type="gboolean"/> 7720 + </return-value> 7721 + <parameters> 7722 + <parameter name="auth" transfer-ownership="none"> 7723 + <doc xml:space="preserve" 7724 + filename="libsoup/soup-message.c" 7725 + line="555">the #SoupAuth to authenticate</doc> 7726 + <type name="Auth"/> 7727 + </parameter> 7728 + <parameter name="retrying" transfer-ownership="none"> 7729 + <doc xml:space="preserve" 7730 + filename="libsoup/soup-message.c" 7731 + line="556">%TRUE if this is the second (or later) attempt</doc> 7732 + <type name="gboolean" c:type="gboolean"/> 7733 + </parameter> 7734 + </parameters> 7735 + </glib:signal> 7736 + <glib:signal name="content-sniffed" when="first"> 7737 + <doc xml:space="preserve" 7738 + filename="libsoup/soup-message.c" 7739 + line="475">This signal is emitted after [signal@Message::got-headers]. 7740 + 7741 + If content sniffing is disabled, or no content sniffing will be 7742 + performed, due to the sniffer deciding to trust the 7743 + Content-Type sent by the server, this signal is emitted 7744 + immediately after [signal@Message::got-headers], and @type is 7745 + %NULL.</doc> 7746 + <return-value transfer-ownership="none"> 7747 + <type name="none" c:type="void"/> 7748 + </return-value> 7749 + <parameters> 7750 + <parameter name="type" transfer-ownership="none"> 7751 + <doc xml:space="preserve" 7752 + filename="libsoup/soup-message.c" 7753 + line="478">the content type that we got from sniffing</doc> 7754 + <type name="utf8" c:type="gchar*"/> 7755 + </parameter> 7756 + <parameter name="params" transfer-ownership="none"> 7757 + <doc xml:space="preserve" 7758 + filename="libsoup/soup-message.c" 7759 + line="479">a #GHashTable with the parameters</doc> 7760 + <type name="GLib.HashTable"> 7761 + <type name="utf8"/> 7762 + <type name="utf8"/> 7763 + </type> 7764 + </parameter> 7765 + </parameters> 7766 + </glib:signal> 7767 + <glib:signal name="finished" when="first"> 7768 + <doc xml:space="preserve" 7769 + filename="libsoup/soup-message.c" 7770 + line="535">Emitted when all HTTP processing is finished for a message. 7771 + 7772 + (After [signal@Message::got_body]).</doc> 7773 + <return-value transfer-ownership="none"> 7774 + <type name="none" c:type="void"/> 7775 + </return-value> 7776 + </glib:signal> 7777 + <glib:signal name="got-body" when="first"> 7778 + <doc xml:space="preserve" 7779 + filename="libsoup/soup-message.c" 7780 + line="460">Emitted after receiving the complete message response body.</doc> 7781 + <return-value transfer-ownership="none"> 7782 + <type name="none" c:type="void"/> 7783 + </return-value> 7784 + </glib:signal> 7785 + <glib:signal name="got-body-data" when="first" version="3.4"> 7786 + <doc xml:space="preserve" 7787 + filename="libsoup/soup-message.c" 7788 + line="440">Emitted after reading a portion of the message 7789 + body from the network.</doc> 7790 + <return-value transfer-ownership="none"> 7791 + <type name="none" c:type="void"/> 7792 + </return-value> 7793 + <parameters> 7794 + <parameter name="chunk_size" transfer-ownership="none"> 7795 + <doc xml:space="preserve" 7796 + filename="libsoup/soup-message.c" 7797 + line="443">the number of bytes read</doc> 7798 + <type name="guint" c:type="guint"/> 7799 + </parameter> 7800 + </parameters> 7801 + </glib:signal> 7802 + <glib:signal name="got-headers" when="first"> 7803 + <doc xml:space="preserve" 7804 + filename="libsoup/soup-message.c" 7805 + line="412">Emitted after receiving the Status-Line and response headers. 7806 + 7807 + See also [method@Message.add_header_handler] and 7808 + [method@Message.add_status_code_handler], which can be used to 7809 + connect to a subset of emissions of this signal. 7810 + 7811 + If you cancel or requeue @msg while processing this signal, 7812 + then the current HTTP I/O will be stopped after this signal 7813 + emission finished, and @msg's connection will be closed. 7814 + (If you need to requeue a message--eg, after handling 7815 + authentication or redirection--it is usually better to 7816 + requeue it from a [signal@Message::got-body] handler rather 7817 + than a [signal@Message::got_headers] handler, so that the 7818 + existing HTTP connection can be reused.)</doc> 7819 + <return-value transfer-ownership="none"> 7820 + <type name="none" c:type="void"/> 7821 + </return-value> 7822 + </glib:signal> 7823 + <glib:signal name="got-informational" when="first"> 7824 + <doc xml:space="preserve" 7825 + filename="libsoup/soup-message.c" 7826 + line="388">Emitted after receiving a 1xx (Informational) response for 7827 + a (client-side) message. 7828 + 7829 + The response_headers will be filled in with the headers associated 7830 + with the informational response; however, those header values will be 7831 + erased after this signal is done. 7832 + 7833 + If you cancel or requeue @msg while processing this signal, 7834 + then the current HTTP I/O will be stopped after this signal 7835 + emission finished, and @msg's connection will be closed.</doc> 7836 + <return-value transfer-ownership="none"> 7837 + <type name="none" c:type="void"/> 7838 + </return-value> 7839 + </glib:signal> 7840 + <glib:signal name="hsts-enforced" when="last"> 7841 + <doc xml:space="preserve" 7842 + filename="libsoup/soup-message.c" 7843 + line="705">Emitted when [class@HSTSEnforcer] has upgraded the protocol 7844 + for @msg to HTTPS as a result of matching its domain with 7845 + a HSTS policy.</doc> 7846 + <return-value transfer-ownership="none"> 7847 + <type name="none" c:type="void"/> 7848 + </return-value> 7849 + </glib:signal> 7850 + <glib:signal name="network-event" when="first"> 7851 + <doc xml:space="preserve" 7852 + filename="libsoup/soup-message.c" 7853 + line="587">Emitted to indicate that some network-related event 7854 + related to @msg has occurred. 7855 + 7856 + This essentially proxies the [signal@Gio.SocketClient::event] signal, 7857 + but only for events that occur while @msg "owns" the connection; if 7858 + @msg is sent on an existing persistent connection, then this signal 7859 + will not be emitted. (If you want to force the message to be sent on 7860 + a new connection, set the %SOUP_MESSAGE_NEW_CONNECTION flag on it.) 7861 + 7862 + See [signal@Gio.SocketClient::event] for more information on what 7863 + the different values of @event correspond to, and what 7864 + @connection will be in each case.</doc> 7865 + <return-value transfer-ownership="none"> 7866 + <type name="none" c:type="void"/> 7867 + </return-value> 7868 + <parameters> 7869 + <parameter name="event" transfer-ownership="none"> 7870 + <doc xml:space="preserve" 7871 + filename="libsoup/soup-message.c" 7872 + line="590">the network event</doc> 7873 + <type name="Gio.SocketClientEvent"/> 7874 + </parameter> 7875 + <parameter name="connection" transfer-ownership="none"> 7876 + <doc xml:space="preserve" 7877 + filename="libsoup/soup-message.c" 7878 + line="591">the current state of the network connection</doc> 7879 + <type name="Gio.IOStream"/> 7880 + </parameter> 7881 + </parameters> 7882 + </glib:signal> 7883 + <glib:signal name="request-certificate" when="last"> 7884 + <doc xml:space="preserve" 7885 + filename="libsoup/soup-message.c" 7886 + line="644">Emitted during the @msg's connection TLS handshake when 7887 + @tls_connection requests a certificate from the client. 7888 + 7889 + You can set the client certificate by calling 7890 + [method@Message.set_tls_client_certificate] and returning %TRUE. It's 7891 + possible to handle the request asynchornously by returning %TRUE and 7892 + call [method@Message.set_tls_client_certificate] later once the 7893 + certificate is available. Note that this signal is not emitted if 7894 + [property@Session:tls-interaction] was set, or if 7895 + [method@Message.set_tls_client_certificate] was called before the 7896 + connection TLS handshake started.</doc> 7897 + <return-value transfer-ownership="none"> 7898 + <doc xml:space="preserve" 7899 + filename="libsoup/soup-message.c" 7900 + line="661">%TRUE to handle the request, or %FALSE to make the connection 7901 + fail with %G_TLS_ERROR_CERTIFICATE_REQUIRED.</doc> 7902 + <type name="gboolean" c:type="gboolean"/> 7903 + </return-value> 7904 + <parameters> 7905 + <parameter name="tls_connection" transfer-ownership="none"> 7906 + <doc xml:space="preserve" 7907 + filename="libsoup/soup-message.c" 7908 + line="647">the #GTlsClientConnection</doc> 7909 + <type name="Gio.TlsClientConnection"/> 7910 + </parameter> 7911 + </parameters> 7912 + </glib:signal> 7913 + <glib:signal name="request-certificate-password" when="last"> 7914 + <doc xml:space="preserve" 7915 + filename="libsoup/soup-message.c" 7916 + line="674">Emitted during the @msg's connection TLS handshake when 7917 + @tls_connection requests a certificate password from the client. 7918 + 7919 + You can set the certificate password on @password, then call 7920 + [method@Message.tls_client_certificate_password_request_complete] and 7921 + return %TRUE to handle the signal synchronously. It's possible to 7922 + handle the request asynchornously by calling 7923 + [method@GObject.Object.ref] on @password, then returning %TRUE and 7924 + call 7925 + [method@Message.tls_client_certificate_password_request_complete] 7926 + later after setting the password on @password. Note that this signal 7927 + is not emitted if [property@Session:tls-interaction] was set.</doc> 7928 + <return-value transfer-ownership="none"> 7929 + <doc xml:space="preserve" 7930 + filename="libsoup/soup-message.c" 7931 + line="692">%TRUE to handle the request, or %FALSE to make the connection 7932 + fail with %G_TLS_ERROR_CERTIFICATE_REQUIRED.</doc> 7933 + <type name="gboolean" c:type="gboolean"/> 7934 + </return-value> 7935 + <parameters> 7936 + <parameter name="tls_password" transfer-ownership="none"> 7937 + <doc xml:space="preserve" 7938 + filename="libsoup/soup-message.c" 7939 + line="677">the #GTlsPassword</doc> 7940 + <type name="Gio.TlsPassword"/> 7941 + </parameter> 7942 + </parameters> 7943 + </glib:signal> 7944 + <glib:signal name="restarted" when="first"> 7945 + <doc xml:space="preserve" 7946 + filename="libsoup/soup-message.c" 7947 + line="515">Emitted when a request that was already sent once is now 7948 + being sent again. 7949 + 7950 + e.g. because the first attempt received a 7951 + redirection response, or because we needed to use 7952 + authentication.</doc> 7953 + <return-value transfer-ownership="none"> 7954 + <type name="none" c:type="void"/> 7955 + </return-value> 7956 + </glib:signal> 7957 + <glib:signal name="starting" when="first"> 7958 + <doc xml:space="preserve" 7959 + filename="libsoup/soup-message.c" 7960 + line="500">Emitted just before a message is sent.</doc> 7961 + <return-value transfer-ownership="none"> 7962 + <type name="none" c:type="void"/> 7963 + </return-value> 7964 + </glib:signal> 7965 + <glib:signal name="wrote-body" when="first"> 7966 + <doc xml:space="preserve" 7967 + filename="libsoup/soup-message.c" 7968 + line="372">Emitted immediately after writing the complete body for a 7969 + message.</doc> 7970 + <return-value transfer-ownership="none"> 7971 + <type name="none" c:type="void"/> 7972 + </return-value> 7973 + </glib:signal> 7974 + <glib:signal name="wrote-body-data" when="first"> 7975 + <doc xml:space="preserve" 7976 + filename="libsoup/soup-message.c" 7977 + line="354">Emitted immediately after writing a portion of the message 7978 + body to the network.</doc> 7979 + <return-value transfer-ownership="none"> 7980 + <type name="none" c:type="void"/> 7981 + </return-value> 7982 + <parameters> 7983 + <parameter name="chunk_size" transfer-ownership="none"> 7984 + <doc xml:space="preserve" 7985 + filename="libsoup/soup-message.c" 7986 + line="357">the number of bytes written</doc> 7987 + <type name="guint" c:type="guint"/> 7988 + </parameter> 7989 + </parameters> 7990 + </glib:signal> 7991 + <glib:signal name="wrote-headers" when="first"> 7992 + <doc xml:space="preserve" 7993 + filename="libsoup/soup-message.c" 7994 + line="338">Emitted immediately after writing the request headers for a 7995 + message.</doc> 7996 + <return-value transfer-ownership="none"> 7997 + <type name="none" c:type="void"/> 7998 + </return-value> 7999 + </glib:signal> 8000 + </class> 8001 + <record name="MessageBody" 8002 + c:type="SoupMessageBody" 8003 + glib:type-name="SoupMessageBody" 8004 + glib:get-type="soup_message_body_get_type" 8005 + c:symbol-prefix="message_body"> 8006 + <doc xml:space="preserve" 8007 + filename="libsoup/server/soup-message-body.c" 8008 + line="31">#SoupMessageBody represents the request or response body of a 8009 + [class@Message]. 8010 + 8011 + Note that while @length always reflects the full length of the 8012 + message body, @data is normally %NULL, and will only be filled in 8013 + after [method@MessageBody.flatten] is called. For client-side 8014 + messages, this automatically happens for the response body after it 8015 + has been fully read. Likewise, for server-side 8016 + messages, the request body is automatically filled in after being 8017 + read. 8018 + 8019 + As an added bonus, when @data is filled in, it is always terminated 8020 + with a `\0` byte (which is not reflected in @length).</doc> 8021 + <source-position filename="libsoup/server/soup-message-body.h" 8022 + line="21"/> 8023 + <field name="data" writable="1"> 8024 + <doc xml:space="preserve" 8025 + filename="libsoup/server/soup-message-body.c" 8026 + line="33">the data</doc> 8027 + <array length="1" zero-terminated="0" c:type="const char*"> 8028 + <type name="guint8"/> 8029 + </array> 8030 + </field> 8031 + <field name="length" writable="1"> 8032 + <doc xml:space="preserve" 8033 + filename="libsoup/server/soup-message-body.c" 8034 + line="34">length of @data</doc> 8035 + <type name="gint64" c:type="goffset"/> 8036 + </field> 8037 + <constructor name="new" c:identifier="soup_message_body_new"> 8038 + <doc xml:space="preserve" 8039 + filename="libsoup/server/soup-message-body.c" 8040 + line="59">Creates a new #SoupMessageBody. 8041 + 8042 + [class@Message] uses this internally; you 8043 + will not normally need to call it yourself.</doc> 8044 + <source-position filename="libsoup/server/soup-message-body.h" 8045 + line="28"/> 8046 + <return-value transfer-ownership="full"> 8047 + <doc xml:space="preserve" 8048 + filename="libsoup/server/soup-message-body.c" 8049 + line="67">a new #SoupMessageBody.</doc> 8050 + <type name="MessageBody" c:type="SoupMessageBody*"/> 8051 + </return-value> 8052 + </constructor> 8053 + <method name="append" 8054 + c:identifier="soup_message_body_append" 8055 + shadowed-by="append_take"> 8056 + <doc xml:space="preserve" 8057 + filename="libsoup/server/soup-message-body.c" 8058 + line="142">Appends @length bytes from @data to @body according to @use.</doc> 8059 + <source-position filename="libsoup/server/soup-message-body.h" 8060 + line="43"/> 8061 + <return-value transfer-ownership="none"> 8062 + <type name="none" c:type="void"/> 8063 + </return-value> 8064 + <parameters> 8065 + <instance-parameter name="body" transfer-ownership="none"> 8066 + <doc xml:space="preserve" 8067 + filename="libsoup/server/soup-message-body.c" 8068 + line="144">a #SoupMessageBody</doc> 8069 + <type name="MessageBody" c:type="SoupMessageBody*"/> 8070 + </instance-parameter> 8071 + <parameter name="use" transfer-ownership="none"> 8072 + <doc xml:space="preserve" 8073 + filename="libsoup/server/soup-message-body.c" 8074 + line="145">how to use @data</doc> 8075 + <type name="MemoryUse" c:type="SoupMemoryUse"/> 8076 + </parameter> 8077 + <parameter name="data" transfer-ownership="none"> 8078 + <doc xml:space="preserve" 8079 + filename="libsoup/server/soup-message-body.c" 8080 + line="146">data to append</doc> 8081 + <array length="2" zero-terminated="0" c:type="gconstpointer"> 8082 + <type name="guint8"/> 8083 + </array> 8084 + </parameter> 8085 + <parameter name="length" transfer-ownership="none"> 8086 + <doc xml:space="preserve" 8087 + filename="libsoup/server/soup-message-body.c" 8088 + line="147">length of @data</doc> 8089 + <type name="gsize" c:type="gsize"/> 8090 + </parameter> 8091 + </parameters> 8092 + </method> 8093 + <method name="append_bytes" 8094 + c:identifier="soup_message_body_append_bytes"> 8095 + <doc xml:space="preserve" 8096 + filename="libsoup/server/soup-message-body.c" 8097 + line="188">Appends the data from @buffer to @body.</doc> 8098 + <source-position filename="libsoup/server/soup-message-body.h" 8099 + line="52"/> 8100 + <return-value transfer-ownership="none"> 8101 + <type name="none" c:type="void"/> 8102 + </return-value> 8103 + <parameters> 8104 + <instance-parameter name="body" transfer-ownership="none"> 8105 + <doc xml:space="preserve" 8106 + filename="libsoup/server/soup-message-body.c" 8107 + line="190">a #SoupMessageBody</doc> 8108 + <type name="MessageBody" c:type="SoupMessageBody*"/> 8109 + </instance-parameter> 8110 + <parameter name="buffer" transfer-ownership="none"> 8111 + <doc xml:space="preserve" 8112 + filename="libsoup/server/soup-message-body.c" 8113 + line="191">a #GBytes</doc> 8114 + <type name="GLib.Bytes" c:type="GBytes*"/> 8115 + </parameter> 8116 + </parameters> 8117 + </method> 8118 + <method name="append_take" 8119 + c:identifier="soup_message_body_append_take" 8120 + shadows="append"> 8121 + <doc xml:space="preserve" 8122 + filename="libsoup/server/soup-message-body.c" 8123 + line="169">Appends @length bytes from @data to @body. 8124 + 8125 + This function is exactly equivalent to [method@MessageBody.append] 8126 + with %SOUP_MEMORY_TAKE as second argument; it exists mainly for 8127 + convenience and simplifying language bindings.</doc> 8128 + <source-position filename="libsoup/server/soup-message-body.h" 8129 + line="48"/> 8130 + <return-value transfer-ownership="none"> 8131 + <type name="none" c:type="void"/> 8132 + </return-value> 8133 + <parameters> 8134 + <instance-parameter name="body" transfer-ownership="none"> 8135 + <doc xml:space="preserve" 8136 + filename="libsoup/server/soup-message-body.c" 8137 + line="171">a #SoupMessageBody</doc> 8138 + <type name="MessageBody" c:type="SoupMessageBody*"/> 8139 + </instance-parameter> 8140 + <parameter name="data" transfer-ownership="full"> 8141 + <doc xml:space="preserve" 8142 + filename="libsoup/server/soup-message-body.c" 8143 + line="172">data to append</doc> 8144 + <array length="1" zero-terminated="0" c:type="guchar*"> 8145 + <type name="guint8" c:type="guchar"/> 8146 + </array> 8147 + </parameter> 8148 + <parameter name="length" transfer-ownership="none"> 8149 + <doc xml:space="preserve" 8150 + filename="libsoup/server/soup-message-body.c" 8151 + line="173">length of @data</doc> 8152 + <type name="gsize" c:type="gsize"/> 8153 + </parameter> 8154 + </parameters> 8155 + </method> 8156 + <method name="complete" c:identifier="soup_message_body_complete"> 8157 + <doc xml:space="preserve" 8158 + filename="libsoup/server/soup-message-body.c" 8159 + line="221">Tags @body as being complete. 8160 + 8161 + Call this when using chunked encoding after you have appended the last chunk.</doc> 8162 + <source-position filename="libsoup/server/soup-message-body.h" 8163 + line="57"/> 8164 + <return-value transfer-ownership="none"> 8165 + <type name="none" c:type="void"/> 8166 + </return-value> 8167 + <parameters> 8168 + <instance-parameter name="body" transfer-ownership="none"> 8169 + <doc xml:space="preserve" 8170 + filename="libsoup/server/soup-message-body.c" 8171 + line="223">a #SoupMessageBody</doc> 8172 + <type name="MessageBody" c:type="SoupMessageBody*"/> 8173 + </instance-parameter> 8174 + </parameters> 8175 + </method> 8176 + <method name="flatten" c:identifier="soup_message_body_flatten"> 8177 + <doc xml:space="preserve" 8178 + filename="libsoup/server/soup-message-body.c" 8179 + line="235">Fills in @body's data field with a buffer containing all of the 8180 + data in @body. 8181 + 8182 + Adds an additional `\0` byte not counted by @body's 8183 + length field.</doc> 8184 + <source-position filename="libsoup/server/soup-message-body.h" 8185 + line="60"/> 8186 + <return-value transfer-ownership="full"> 8187 + <doc xml:space="preserve" 8188 + filename="libsoup/server/soup-message-body.c" 8189 + line="245">a #GBytes containing the same data as @body. 8190 + (You must [method@GLib.Bytes.unref] this if you do not want it.)</doc> 8191 + <type name="GLib.Bytes" c:type="GBytes*"/> 8192 + </return-value> 8193 + <parameters> 8194 + <instance-parameter name="body" transfer-ownership="none"> 8195 + <doc xml:space="preserve" 8196 + filename="libsoup/server/soup-message-body.c" 8197 + line="237">a #SoupMessageBody</doc> 8198 + <type name="MessageBody" c:type="SoupMessageBody*"/> 8199 + </instance-parameter> 8200 + </parameters> 8201 + </method> 8202 + <method name="get_accumulate" 8203 + c:identifier="soup_message_body_get_accumulate"> 8204 + <doc xml:space="preserve" 8205 + filename="libsoup/server/soup-message-body.c" 8206 + line="108">Gets the accumulate flag on @body. 8207 + 8208 + See [method@MessageBody.set_accumulate. for details.</doc> 8209 + <source-position filename="libsoup/server/soup-message-body.h" 8210 + line="40"/> 8211 + <return-value transfer-ownership="none"> 8212 + <doc xml:space="preserve" 8213 + filename="libsoup/server/soup-message-body.c" 8214 + line="116">the accumulate flag for @body.</doc> 8215 + <type name="gboolean" c:type="gboolean"/> 8216 + </return-value> 8217 + <parameters> 8218 + <instance-parameter name="body" transfer-ownership="none"> 8219 + <doc xml:space="preserve" 8220 + filename="libsoup/server/soup-message-body.c" 8221 + line="110">a #SoupMessageBody</doc> 8222 + <type name="MessageBody" c:type="SoupMessageBody*"/> 8223 + </instance-parameter> 8224 + </parameters> 8225 + </method> 8226 + <method name="get_chunk" c:identifier="soup_message_body_get_chunk"> 8227 + <doc xml:space="preserve" 8228 + filename="libsoup/server/soup-message-body.c" 8229 + line="278">Gets a [struct@GLib.Bytes] containing data from @body starting at @offset. 8230 + 8231 + The size of the returned chunk is unspecified. You can iterate 8232 + through the entire body by first calling 8233 + [method@MessageBody.get_chunk] with an offset of 0, and then on each 8234 + successive call, increment the offset by the length of the 8235 + previously-returned chunk. 8236 + 8237 + If @offset is greater than or equal to the total length of @body, 8238 + then the return value depends on whether or not 8239 + [method@MessageBody.complete] has been called or not; if it has, 8240 + then [method@MessageBody.get_chunk] will return a 0-length chunk 8241 + (indicating the end of @body). If it has not, then 8242 + [method@MessageBody.get_chunk] will return %NULL (indicating that 8243 + @body may still potentially have more data, but that data is not 8244 + currently available).</doc> 8245 + <source-position filename="libsoup/server/soup-message-body.h" 8246 + line="63"/> 8247 + <return-value transfer-ownership="full" nullable="1"> 8248 + <doc xml:space="preserve" 8249 + filename="libsoup/server/soup-message-body.c" 8250 + line="300">a #GBytes</doc> 8251 + <type name="GLib.Bytes" c:type="GBytes*"/> 8252 + </return-value> 8253 + <parameters> 8254 + <instance-parameter name="body" transfer-ownership="none"> 8255 + <doc xml:space="preserve" 8256 + filename="libsoup/server/soup-message-body.c" 8257 + line="280">a #SoupMessageBody</doc> 8258 + <type name="MessageBody" c:type="SoupMessageBody*"/> 8259 + </instance-parameter> 8260 + <parameter name="offset" transfer-ownership="none"> 8261 + <doc xml:space="preserve" 8262 + filename="libsoup/server/soup-message-body.c" 8263 + line="281">an offset</doc> 8264 + <type name="gint64" c:type="goffset"/> 8265 + </parameter> 8266 + </parameters> 8267 + </method> 8268 + <method name="got_chunk" c:identifier="soup_message_body_got_chunk"> 8269 + <doc xml:space="preserve" 8270 + filename="libsoup/server/soup-message-body.c" 8271 + line="326">Handles the #SoupMessageBody part of receiving a chunk of data from 8272 + the network. 8273 + 8274 + Normally this means appending @chunk to @body, exactly as with 8275 + [method@MessageBody.append_bytes], but if you have set @body's accumulate 8276 + flag to %FALSE, then that will not happen. 8277 + 8278 + This is a low-level method which you should not normally need to 8279 + use.</doc> 8280 + <source-position filename="libsoup/server/soup-message-body.h" 8281 + line="67"/> 8282 + <return-value transfer-ownership="none"> 8283 + <type name="none" c:type="void"/> 8284 + </return-value> 8285 + <parameters> 8286 + <instance-parameter name="body" transfer-ownership="none"> 8287 + <doc xml:space="preserve" 8288 + filename="libsoup/server/soup-message-body.c" 8289 + line="328">a #SoupMessageBody</doc> 8290 + <type name="MessageBody" c:type="SoupMessageBody*"/> 8291 + </instance-parameter> 8292 + <parameter name="chunk" transfer-ownership="none"> 8293 + <doc xml:space="preserve" 8294 + filename="libsoup/server/soup-message-body.c" 8295 + line="329">a #GBytes received from the network</doc> 8296 + <type name="GLib.Bytes" c:type="GBytes*"/> 8297 + </parameter> 8298 + </parameters> 8299 + </method> 8300 + <method name="ref" c:identifier="soup_message_body_ref"> 8301 + <doc xml:space="preserve" 8302 + filename="libsoup/server/soup-message-body.c" 8303 + line="388">Atomically increments the reference count of @body by one.</doc> 8304 + <source-position filename="libsoup/server/soup-message-body.h" 8305 + line="31"/> 8306 + <return-value transfer-ownership="full"> 8307 + <doc xml:space="preserve" 8308 + filename="libsoup/server/soup-message-body.c" 8309 + line="394">the passed in #SoupMessageBody</doc> 8310 + <type name="MessageBody" c:type="SoupMessageBody*"/> 8311 + </return-value> 8312 + <parameters> 8313 + <instance-parameter name="body" transfer-ownership="none"> 8314 + <doc xml:space="preserve" 8315 + filename="libsoup/server/soup-message-body.c" 8316 + line="390">a #SoupMessageBody</doc> 8317 + <type name="MessageBody" c:type="SoupMessageBody*"/> 8318 + </instance-parameter> 8319 + </parameters> 8320 + </method> 8321 + <method name="set_accumulate" 8322 + c:identifier="soup_message_body_set_accumulate"> 8323 + <doc xml:space="preserve" 8324 + filename="libsoup/server/soup-message-body.c" 8325 + line="80">Sets or clears the accumulate flag on @body. 8326 + 8327 + (The default value is %TRUE.) If set to %FALSE, @body's data field will not 8328 + be filled in after the body is fully sent/received, and the chunks that make 8329 + up @body may be discarded when they are no longer needed. 8330 + 8331 + If you set the flag to %FALSE on the [class@Message] request_body of a 8332 + client-side message, it will block the accumulation of chunks into 8333 + @body's data field, but it will not normally cause the chunks to 8334 + be discarded after being written like in the server-side 8335 + [class@Message] response_body case, because the request body needs to 8336 + be kept around in case the request needs to be sent a second time 8337 + due to redirection or authentication.</doc> 8338 + <source-position filename="libsoup/server/soup-message-body.h" 8339 + line="37"/> 8340 + <return-value transfer-ownership="none"> 8341 + <type name="none" c:type="void"/> 8342 + </return-value> 8343 + <parameters> 8344 + <instance-parameter name="body" transfer-ownership="none"> 8345 + <doc xml:space="preserve" 8346 + filename="libsoup/server/soup-message-body.c" 8347 + line="82">a #SoupMessageBody</doc> 8348 + <type name="MessageBody" c:type="SoupMessageBody*"/> 8349 + </instance-parameter> 8350 + <parameter name="accumulate" transfer-ownership="none"> 8351 + <doc xml:space="preserve" 8352 + filename="libsoup/server/soup-message-body.c" 8353 + line="83">whether or not to accumulate body chunks in @body</doc> 8354 + <type name="gboolean" c:type="gboolean"/> 8355 + </parameter> 8356 + </parameters> 8357 + </method> 8358 + <method name="truncate" c:identifier="soup_message_body_truncate"> 8359 + <doc xml:space="preserve" 8360 + filename="libsoup/server/soup-message-body.c" 8361 + line="202">Deletes all of the data in @body.</doc> 8362 + <source-position filename="libsoup/server/soup-message-body.h" 8363 + line="55"/> 8364 + <return-value transfer-ownership="none"> 8365 + <type name="none" c:type="void"/> 8366 + </return-value> 8367 + <parameters> 8368 + <instance-parameter name="body" transfer-ownership="none"> 8369 + <doc xml:space="preserve" 8370 + filename="libsoup/server/soup-message-body.c" 8371 + line="204">a #SoupMessageBody</doc> 8372 + <type name="MessageBody" c:type="SoupMessageBody*"/> 8373 + </instance-parameter> 8374 + </parameters> 8375 + </method> 8376 + <method name="unref" c:identifier="soup_message_body_unref"> 8377 + <doc xml:space="preserve" 8378 + filename="libsoup/server/soup-message-body.c" 8379 + line="404">Atomically decrements the reference count of @body by one. 8380 + 8381 + When the reference count reaches zero, the resources allocated by 8382 + @body are freed</doc> 8383 + <source-position filename="libsoup/server/soup-message-body.h" 8384 + line="34"/> 8385 + <return-value transfer-ownership="none"> 8386 + <type name="none" c:type="void"/> 8387 + </return-value> 8388 + <parameters> 8389 + <instance-parameter name="body" transfer-ownership="none"> 8390 + <doc xml:space="preserve" 8391 + filename="libsoup/server/soup-message-body.c" 8392 + line="406">a #SoupMessageBody</doc> 8393 + <type name="MessageBody" c:type="SoupMessageBody*"/> 8394 + </instance-parameter> 8395 + </parameters> 8396 + </method> 8397 + <method name="wrote_chunk" c:identifier="soup_message_body_wrote_chunk"> 8398 + <doc xml:space="preserve" 8399 + filename="libsoup/server/soup-message-body.c" 8400 + line="352">Handles the #SoupMessageBody part of writing a chunk of data to the 8401 + network. 8402 + 8403 + Normally this is a no-op, but if you have set @body's accumulate flag to 8404 + %FALSE, then this will cause @chunk to be discarded to free up memory. 8405 + 8406 + This is a low-level method which you should not need to use, and 8407 + there are further restrictions on its proper use which are not 8408 + documented here.</doc> 8409 + <source-position filename="libsoup/server/soup-message-body.h" 8410 + line="70"/> 8411 + <return-value transfer-ownership="none"> 8412 + <type name="none" c:type="void"/> 8413 + </return-value> 8414 + <parameters> 8415 + <instance-parameter name="body" transfer-ownership="none"> 8416 + <doc xml:space="preserve" 8417 + filename="libsoup/server/soup-message-body.c" 8418 + line="354">a #SoupMessageBody</doc> 8419 + <type name="MessageBody" c:type="SoupMessageBody*"/> 8420 + </instance-parameter> 8421 + <parameter name="chunk" transfer-ownership="none"> 8422 + <doc xml:space="preserve" 8423 + filename="libsoup/server/soup-message-body.c" 8424 + line="355">a #GBytes returned from [method@MessageBody.get_chunk]</doc> 8425 + <type name="GLib.Bytes" c:type="GBytes*"/> 8426 + </parameter> 8427 + </parameters> 8428 + </method> 8429 + </record> 8430 + <record name="MessageClass" 8431 + c:type="SoupMessageClass" 8432 + glib:is-gtype-struct-for="Message"> 8433 + <source-position filename="libsoup/soup-message.h" line="18"/> 8434 + <field name="parent_class"> 8435 + <type name="GObject.ObjectClass" c:type="GObjectClass"/> 8436 + </field> 8437 + </record> 8438 + <bitfield name="MessageFlags" 8439 + glib:type-name="SoupMessageFlags" 8440 + glib:get-type="soup_message_flags_get_type" 8441 + c:type="SoupMessageFlags"> 8442 + <doc xml:space="preserve" 8443 + filename="libsoup/soup-message.c" 8444 + line="1890">Various flags that can be set on a #SoupMessage to alter its 8445 + behavior.</doc> 8446 + <member name="no_redirect" 8447 + value="2" 8448 + c:identifier="SOUP_MESSAGE_NO_REDIRECT" 8449 + glib:nick="no-redirect" 8450 + glib:name="SOUP_MESSAGE_NO_REDIRECT"> 8451 + <doc xml:space="preserve" 8452 + filename="libsoup/soup-message.c" 8453 + line="1892">The session should not follow redirect 8454 + (3xx) responses received by this message.</doc> 8455 + </member> 8456 + <member name="new_connection" 8457 + value="4" 8458 + c:identifier="SOUP_MESSAGE_NEW_CONNECTION" 8459 + glib:nick="new-connection" 8460 + glib:name="SOUP_MESSAGE_NEW_CONNECTION"> 8461 + <doc xml:space="preserve" 8462 + filename="libsoup/soup-message.c" 8463 + line="1894">Requests that the message should be 8464 + sent on a newly-created connection, not reusing an existing 8465 + persistent connection. Note that messages with non-idempotent 8466 + [property@Message:method]s behave this way by default, unless 8467 + #SOUP_MESSAGE_IDEMPOTENT is set.</doc> 8468 + </member> 8469 + <member name="idempotent" 8470 + value="8" 8471 + c:identifier="SOUP_MESSAGE_IDEMPOTENT" 8472 + glib:nick="idempotent" 8473 + glib:name="SOUP_MESSAGE_IDEMPOTENT"> 8474 + <doc xml:space="preserve" 8475 + filename="libsoup/soup-message.c" 8476 + line="1899">The message is considered idempotent, 8477 + regardless its [property@Message:method], and allows reuse of existing 8478 + idle connections, instead of always requiring a new one, unless 8479 + #SOUP_MESSAGE_NEW_CONNECTION is set.</doc> 8480 + </member> 8481 + <member name="do_not_use_auth_cache" 8482 + value="16" 8483 + c:identifier="SOUP_MESSAGE_DO_NOT_USE_AUTH_CACHE" 8484 + glib:nick="do-not-use-auth-cache" 8485 + glib:name="SOUP_MESSAGE_DO_NOT_USE_AUTH_CACHE"> 8486 + <doc xml:space="preserve" 8487 + filename="libsoup/soup-message.c" 8488 + line="1903">The [class@AuthManager] should not use 8489 + the credentials cache for this message, neither to use cached credentials 8490 + to automatically authenticate this message nor to cache the credentials 8491 + after the message is successfully authenticated. This applies to both server 8492 + and proxy authentication. Note that [signal@Message::authenticate] signal will 8493 + be emitted, if you want to disable authentication for a message use 8494 + [method@Message.disable_feature] passing #SOUP_TYPE_AUTH_MANAGER instead.</doc> 8495 + </member> 8496 + <member name="collect_metrics" 8497 + value="32" 8498 + c:identifier="SOUP_MESSAGE_COLLECT_METRICS" 8499 + glib:nick="collect-metrics" 8500 + glib:name="SOUP_MESSAGE_COLLECT_METRICS"> 8501 + <doc xml:space="preserve" 8502 + filename="libsoup/soup-message.c" 8503 + line="1910">Metrics will be collected for this message.</doc> 8504 + </member> 8505 + </bitfield> 8506 + <record name="MessageHeaders" 8507 + c:type="SoupMessageHeaders" 8508 + opaque="1" 8509 + glib:type-name="SoupMessageHeaders" 8510 + glib:get-type="soup_message_headers_get_type" 8511 + c:symbol-prefix="message_headers"> 8512 + <doc xml:space="preserve" 8513 + filename="libsoup/soup-message-headers.c" 8514 + line="18">The HTTP message headers associated with a request or response.</doc> 8515 + <source-position filename="libsoup/soup-message-headers.h" line="12"/> 8516 + <constructor name="new" c:identifier="soup_message_headers_new"> 8517 + <doc xml:space="preserve" 8518 + filename="libsoup/soup-message-headers.c" 8519 + line="61">Creates a #SoupMessageHeaders. 8520 + 8521 + ([class@Message] does this automatically for its own headers. You would only 8522 + need to use this method if you are manually parsing or generating message 8523 + headers.)</doc> 8524 + <source-position filename="libsoup/soup-message-headers.h" line="24"/> 8525 + <return-value transfer-ownership="full"> 8526 + <doc xml:space="preserve" 8527 + filename="libsoup/soup-message-headers.c" 8528 + line="71">a new #SoupMessageHeaders</doc> 8529 + <type name="MessageHeaders" c:type="SoupMessageHeaders*"/> 8530 + </return-value> 8531 + <parameters> 8532 + <parameter name="type" transfer-ownership="none"> 8533 + <doc xml:space="preserve" 8534 + filename="libsoup/soup-message-headers.c" 8535 + line="63">the type of headers</doc> 8536 + <type name="MessageHeadersType" c:type="SoupMessageHeadersType"/> 8537 + </parameter> 8538 + </parameters> 8539 + </constructor> 8540 + <method name="append" c:identifier="soup_message_headers_append"> 8541 + <doc xml:space="preserve" 8542 + filename="libsoup/soup-message-headers.c" 8543 + line="289">Appends a new header with name @name and value @value to @hdrs. 8544 + 8545 + (If there is an existing header with name @name, then this creates a second 8546 + one, which is only allowed for list-valued headers; see also 8547 + [method@MessageHeaders.replace].) 8548 + 8549 + The caller is expected to make sure that @name and @value are 8550 + syntactically correct.</doc> 8551 + <source-position filename="libsoup/soup-message-headers.h" line="33"/> 8552 + <return-value transfer-ownership="none"> 8553 + <type name="none" c:type="void"/> 8554 + </return-value> 8555 + <parameters> 8556 + <instance-parameter name="hdrs" transfer-ownership="none"> 8557 + <doc xml:space="preserve" 8558 + filename="libsoup/soup-message-headers.c" 8559 + line="291">a #SoupMessageHeaders</doc> 8560 + <type name="MessageHeaders" c:type="SoupMessageHeaders*"/> 8561 + </instance-parameter> 8562 + <parameter name="name" transfer-ownership="none"> 8563 + <doc xml:space="preserve" 8564 + filename="libsoup/soup-message-headers.c" 8565 + line="292">the header name to add</doc> 8566 + <type name="utf8" c:type="const char*"/> 8567 + </parameter> 8568 + <parameter name="value" transfer-ownership="none"> 8569 + <doc xml:space="preserve" 8570 + filename="libsoup/soup-message-headers.c" 8571 + line="293">the new value of @name</doc> 8572 + <type name="utf8" c:type="const char*"/> 8573 + </parameter> 8574 + </parameters> 8575 + </method> 8576 + <method name="clean_connection_headers" 8577 + c:identifier="soup_message_headers_clean_connection_headers"> 8578 + <doc xml:space="preserve" 8579 + filename="libsoup/soup-message-headers.c" 8580 + line="247">Removes all the headers listed in the Connection header.</doc> 8581 + <source-position filename="libsoup/soup-message-headers.h" line="48"/> 8582 + <return-value transfer-ownership="none"> 8583 + <type name="none" c:type="void"/> 8584 + </return-value> 8585 + <parameters> 8586 + <instance-parameter name="hdrs" transfer-ownership="none"> 8587 + <doc xml:space="preserve" 8588 + filename="libsoup/soup-message-headers.c" 8589 + line="249">a #SoupMessageHeaders</doc> 8590 + <type name="MessageHeaders" c:type="SoupMessageHeaders*"/> 8591 + </instance-parameter> 8592 + </parameters> 8593 + </method> 8594 + <method name="clear" c:identifier="soup_message_headers_clear"> 8595 + <doc xml:space="preserve" 8596 + filename="libsoup/soup-message-headers.c" 8597 + line="209">Clears @hdrs.</doc> 8598 + <source-position filename="libsoup/soup-message-headers.h" line="45"/> 8599 + <return-value transfer-ownership="none"> 8600 + <type name="none" c:type="void"/> 8601 + </return-value> 8602 + <parameters> 8603 + <instance-parameter name="hdrs" transfer-ownership="none"> 8604 + <doc xml:space="preserve" 8605 + filename="libsoup/soup-message-headers.c" 8606 + line="211">a #SoupMessageHeaders</doc> 8607 + <type name="MessageHeaders" c:type="SoupMessageHeaders*"/> 8608 + </instance-parameter> 8609 + </parameters> 8610 + </method> 8611 + <method name="foreach" c:identifier="soup_message_headers_foreach"> 8612 + <doc xml:space="preserve" 8613 + filename="libsoup/soup-message-headers.c" 8614 + line="853">Calls @func once for each header value in @hdrs. 8615 + 8616 + Beware that unlike [method@MessageHeaders.get_list], this processes the 8617 + headers in exactly the way they were added, rather than 8618 + concatenating multiple same-named headers into a single value. 8619 + (This is intentional; it ensures that if you call 8620 + [method@MessageHeaders.append] multiple times with the same name, 8621 + then the I/O code will output multiple copies of the header when 8622 + sending the message to the remote implementation, which may be 8623 + required for interoperability in some cases.) 8624 + 8625 + You may not modify the headers from @func.</doc> 8626 + <source-position filename="libsoup/soup-message-headers.h" line="70"/> 8627 + <return-value transfer-ownership="none"> 8628 + <type name="none" c:type="void"/> 8629 + </return-value> 8630 + <parameters> 8631 + <instance-parameter name="hdrs" transfer-ownership="none"> 8632 + <doc xml:space="preserve" 8633 + filename="libsoup/soup-message-headers.c" 8634 + line="855">a #SoupMessageHeaders</doc> 8635 + <type name="MessageHeaders" c:type="SoupMessageHeaders*"/> 8636 + </instance-parameter> 8637 + <parameter name="func" 8638 + transfer-ownership="none" 8639 + scope="call" 8640 + closure="1"> 8641 + <doc xml:space="preserve" 8642 + filename="libsoup/soup-message-headers.c" 8643 + line="856">callback function to run for each header</doc> 8644 + <type name="MessageHeadersForeachFunc" 8645 + c:type="SoupMessageHeadersForeachFunc"/> 8646 + </parameter> 8647 + <parameter name="user_data" 8648 + transfer-ownership="none" 8649 + nullable="1" 8650 + allow-none="1"> 8651 + <doc xml:space="preserve" 8652 + filename="libsoup/soup-message-headers.c" 8653 + line="857">data to pass to @func</doc> 8654 + <type name="gpointer" c:type="gpointer"/> 8655 + </parameter> 8656 + </parameters> 8657 + </method> 8658 + <method name="free_ranges" 8659 + c:identifier="soup_message_headers_free_ranges"> 8660 + <doc xml:space="preserve" 8661 + filename="libsoup/soup-message-headers.c" 8662 + line="1278">Frees the array of ranges returned from [method@MessageHeaders.get_ranges].</doc> 8663 + <source-position filename="libsoup/soup-message-headers.h" line="135"/> 8664 + <return-value transfer-ownership="none"> 8665 + <type name="none" c:type="void"/> 8666 + </return-value> 8667 + <parameters> 8668 + <instance-parameter name="hdrs" transfer-ownership="none"> 8669 + <doc xml:space="preserve" 8670 + filename="libsoup/soup-message-headers.c" 8671 + line="1280">a #SoupMessageHeaders</doc> 8672 + <type name="MessageHeaders" c:type="SoupMessageHeaders*"/> 8673 + </instance-parameter> 8674 + <parameter name="ranges" transfer-ownership="none"> 8675 + <doc xml:space="preserve" 8676 + filename="libsoup/soup-message-headers.c" 8677 + line="1281">an array of #SoupRange</doc> 8678 + <type name="Range" c:type="SoupRange*"/> 8679 + </parameter> 8680 + </parameters> 8681 + </method> 8682 + <method name="get_content_disposition" 8683 + c:identifier="soup_message_headers_get_content_disposition"> 8684 + <doc xml:space="preserve" 8685 + filename="libsoup/soup-message-headers.c" 8686 + line="1566">Looks up the "Content-Disposition" header in @hdrs, parses it, and 8687 + returns its value in *@disposition and *@params. 8688 + 8689 + @params can be %NULL if you are only interested in the disposition-type. 8690 + 8691 + In HTTP, the most common use of this header is to set a 8692 + disposition-type of "attachment", to suggest to the browser that a 8693 + response should be saved to disk rather than displayed in the 8694 + browser. If @params contains a "filename" parameter, this is a 8695 + suggestion of a filename to use. (If the parameter value in the 8696 + header contains an absolute or relative path, libsoup will truncate 8697 + it down to just the final path component, so you do not need to 8698 + test this yourself.) 8699 + 8700 + Content-Disposition is also used in "multipart/form-data", however 8701 + this is handled automatically by [struct@Multipart] and the associated 8702 + form methods.</doc> 8703 + <source-position filename="libsoup/soup-message-headers.h" line="167"/> 8704 + <return-value transfer-ownership="none"> 8705 + <doc xml:space="preserve" 8706 + filename="libsoup/soup-message-headers.c" 8707 + line="1592">%TRUE if @hdrs contains a "Content-Disposition" 8708 + header, %FALSE if not (in which case *@disposition and *@params 8709 + will be unchanged).</doc> 8710 + <type name="gboolean" c:type="gboolean"/> 8711 + </return-value> 8712 + <parameters> 8713 + <instance-parameter name="hdrs" transfer-ownership="none"> 8714 + <doc xml:space="preserve" 8715 + filename="libsoup/soup-message-headers.c" 8716 + line="1568">a #SoupMessageHeaders</doc> 8717 + <type name="MessageHeaders" c:type="SoupMessageHeaders*"/> 8718 + </instance-parameter> 8719 + <parameter name="disposition" 8720 + direction="out" 8721 + caller-allocates="0" 8722 + transfer-ownership="full"> 8723 + <doc xml:space="preserve" 8724 + filename="libsoup/soup-message-headers.c" 8725 + line="1569">return location for the 8726 + disposition-type, or %NULL</doc> 8727 + <type name="utf8" c:type="char**"/> 8728 + </parameter> 8729 + <parameter name="params" 8730 + direction="out" 8731 + caller-allocates="0" 8732 + transfer-ownership="full"> 8733 + <doc xml:space="preserve" 8734 + filename="libsoup/soup-message-headers.c" 8735 + line="1571">return 8736 + location for the Content-Disposition parameters, or %NULL</doc> 8737 + <type name="GLib.HashTable" c:type="GHashTable**"> 8738 + <type name="utf8"/> 8739 + <type name="utf8"/> 8740 + </type> 8741 + </parameter> 8742 + </parameters> 8743 + </method> 8744 + <method name="get_content_length" 8745 + c:identifier="soup_message_headers_get_content_length"> 8746 + <doc xml:space="preserve" 8747 + filename="libsoup/soup-message-headers.c" 8748 + line="993">Gets the message body length that @hdrs declare. 8749 + 8750 + This will only be non-0 if [method@MessageHeaders.get_encoding] returns 8751 + %SOUP_ENCODING_CONTENT_LENGTH.</doc> 8752 + <source-position filename="libsoup/soup-message-headers.h" line="108"/> 8753 + <return-value transfer-ownership="none"> 8754 + <doc xml:space="preserve" 8755 + filename="libsoup/soup-message-headers.c" 8756 + line="1002">the message body length declared by @hdrs.</doc> 8757 + <type name="gint64" c:type="goffset"/> 8758 + </return-value> 8759 + <parameters> 8760 + <instance-parameter name="hdrs" transfer-ownership="none"> 8761 + <doc xml:space="preserve" 8762 + filename="libsoup/soup-message-headers.c" 8763 + line="995">a #SoupMessageHeaders</doc> 8764 + <type name="MessageHeaders" c:type="SoupMessageHeaders*"/> 8765 + </instance-parameter> 8766 + </parameters> 8767 + </method> 8768 + <method name="get_content_range" 8769 + c:identifier="soup_message_headers_get_content_range"> 8770 + <doc xml:space="preserve" 8771 + filename="libsoup/soup-message-headers.c" 8772 + line="1356">Parses @hdrs's Content-Range header and returns it in @start, 8773 + @end, and @total_length. If the total length field in the header 8774 + was specified as "*", then @total_length will be set to -1.</doc> 8775 + <source-position filename="libsoup/soup-message-headers.h" line="147"/> 8776 + <return-value transfer-ownership="none"> 8777 + <doc xml:space="preserve" 8778 + filename="libsoup/soup-message-headers.c" 8779 + line="1368">%TRUE if @hdrs contained a "Content-Range" header 8780 + containing a byte range which could be parsed, %FALSE otherwise.</doc> 8781 + <type name="gboolean" c:type="gboolean"/> 8782 + </return-value> 8783 + <parameters> 8784 + <instance-parameter name="hdrs" transfer-ownership="none"> 8785 + <doc xml:space="preserve" 8786 + filename="libsoup/soup-message-headers.c" 8787 + line="1358">a #SoupMessageHeaders</doc> 8788 + <type name="MessageHeaders" c:type="SoupMessageHeaders*"/> 8789 + </instance-parameter> 8790 + <parameter name="start" 8791 + direction="out" 8792 + caller-allocates="0" 8793 + transfer-ownership="full"> 8794 + <doc xml:space="preserve" 8795 + filename="libsoup/soup-message-headers.c" 8796 + line="1359">return value for the start of the range</doc> 8797 + <type name="gint64" c:type="goffset*"/> 8798 + </parameter> 8799 + <parameter name="end" 8800 + direction="out" 8801 + caller-allocates="0" 8802 + transfer-ownership="full"> 8803 + <doc xml:space="preserve" 8804 + filename="libsoup/soup-message-headers.c" 8805 + line="1360">return value for the end of the range</doc> 8806 + <type name="gint64" c:type="goffset*"/> 8807 + </parameter> 8808 + <parameter name="total_length" 8809 + direction="out" 8810 + caller-allocates="0" 8811 + transfer-ownership="full" 8812 + optional="1" 8813 + allow-none="1"> 8814 + <doc xml:space="preserve" 8815 + filename="libsoup/soup-message-headers.c" 8816 + line="1361">return value for the total length of the 8817 + resource, or %NULL if you don't care.</doc> 8818 + <type name="gint64" c:type="goffset*"/> 8819 + </parameter> 8820 + </parameters> 8821 + </method> 8822 + <method name="get_content_type" 8823 + c:identifier="soup_message_headers_get_content_type"> 8824 + <doc xml:space="preserve" 8825 + filename="libsoup/soup-message-headers.c" 8826 + line="1519">Looks up the "Content-Type" header in @hdrs, parses it, and returns 8827 + its value in *@content_type and *@params. 8828 + 8829 + @params can be %NULL if you are only interested in the content type itself.</doc> 8830 + <source-position filename="libsoup/soup-message-headers.h" line="159"/> 8831 + <return-value transfer-ownership="none" nullable="1"> 8832 + <doc xml:space="preserve" 8833 + filename="libsoup/soup-message-headers.c" 8834 + line="1531">a string with the value of the 8835 + "Content-Type" header or %NULL if @hdrs does not contain that 8836 + header or it cannot be parsed (in which case *@params will be 8837 + unchanged).</doc> 8838 + <type name="utf8" c:type="const char*"/> 8839 + </return-value> 8840 + <parameters> 8841 + <instance-parameter name="hdrs" transfer-ownership="none"> 8842 + <doc xml:space="preserve" 8843 + filename="libsoup/soup-message-headers.c" 8844 + line="1521">a #SoupMessageHeaders</doc> 8845 + <type name="MessageHeaders" c:type="SoupMessageHeaders*"/> 8846 + </instance-parameter> 8847 + <parameter name="params" 8848 + direction="out" 8849 + caller-allocates="0" 8850 + transfer-ownership="full" 8851 + optional="1" 8852 + allow-none="1"> 8853 + <doc xml:space="preserve" 8854 + filename="libsoup/soup-message-headers.c" 8855 + line="1522"> 8856 + return location for the Content-Type parameters (eg, "charset"), or 8857 + %NULL</doc> 8858 + <type name="GLib.HashTable" c:type="GHashTable**"> 8859 + <type name="utf8"/> 8860 + <type name="utf8"/> 8861 + </type> 8862 + </parameter> 8863 + </parameters> 8864 + </method> 8865 + <method name="get_encoding" 8866 + c:identifier="soup_message_headers_get_encoding"> 8867 + <doc xml:space="preserve" 8868 + filename="libsoup/soup-message-headers.c" 8869 + line="911">Gets the message body encoding that @hdrs declare. 8870 + 8871 + This may not always correspond to the encoding used on the wire; eg, a HEAD 8872 + response may declare a Content-Length or Transfer-Encoding, but it will never 8873 + actually include a body.</doc> 8874 + <source-position filename="libsoup/soup-message-headers.h" line="102"/> 8875 + <return-value transfer-ownership="none"> 8876 + <doc xml:space="preserve" 8877 + filename="libsoup/soup-message-headers.c" 8878 + line="921">the encoding declared by @hdrs.</doc> 8879 + <type name="Encoding" c:type="SoupEncoding"/> 8880 + </return-value> 8881 + <parameters> 8882 + <instance-parameter name="hdrs" transfer-ownership="none"> 8883 + <doc xml:space="preserve" 8884 + filename="libsoup/soup-message-headers.c" 8885 + line="913">a #SoupMessageHeaders</doc> 8886 + <type name="MessageHeaders" c:type="SoupMessageHeaders*"/> 8887 + </instance-parameter> 8888 + </parameters> 8889 + </method> 8890 + <method name="get_expectations" 8891 + c:identifier="soup_message_headers_get_expectations"> 8892 + <doc xml:space="preserve" 8893 + filename="libsoup/soup-message-headers.c" 8894 + line="1053">Gets the expectations declared by @hdrs's "Expect" header. 8895 + 8896 + Currently this will either be %SOUP_EXPECTATION_CONTINUE or 8897 + %SOUP_EXPECTATION_UNRECOGNIZED.</doc> 8898 + <source-position filename="libsoup/soup-message-headers.h" line="119"/> 8899 + <return-value transfer-ownership="none"> 8900 + <doc xml:space="preserve" 8901 + filename="libsoup/soup-message-headers.c" 8902 + line="1062">the contents of @hdrs's "Expect" header</doc> 8903 + <type name="Expectation" c:type="SoupExpectation"/> 8904 + </return-value> 8905 + <parameters> 8906 + <instance-parameter name="hdrs" transfer-ownership="none"> 8907 + <doc xml:space="preserve" 8908 + filename="libsoup/soup-message-headers.c" 8909 + line="1055">a #SoupMessageHeaders</doc> 8910 + <type name="MessageHeaders" c:type="SoupMessageHeaders*"/> 8911 + </instance-parameter> 8912 + </parameters> 8913 + </method> 8914 + <method name="get_headers_type" 8915 + c:identifier="soup_message_headers_get_headers_type"> 8916 + <doc xml:space="preserve" 8917 + filename="libsoup/soup-message-headers.c" 8918 + line="130">Gets the type of headers.</doc> 8919 + <source-position filename="libsoup/soup-message-headers.h" line="75"/> 8920 + <return-value transfer-ownership="none"> 8921 + <doc xml:space="preserve" 8922 + filename="libsoup/soup-message-headers.c" 8923 + line="136">the header's type.</doc> 8924 + <type name="MessageHeadersType" c:type="SoupMessageHeadersType"/> 8925 + </return-value> 8926 + <parameters> 8927 + <instance-parameter name="hdrs" transfer-ownership="none"> 8928 + <doc xml:space="preserve" 8929 + filename="libsoup/soup-message-headers.c" 8930 + line="132">a #SoupMessageHeaders</doc> 8931 + <type name="MessageHeaders" c:type="SoupMessageHeaders*"/> 8932 + </instance-parameter> 8933 + </parameters> 8934 + </method> 8935 + <method name="get_list" c:identifier="soup_message_headers_get_list"> 8936 + <doc xml:space="preserve" 8937 + filename="libsoup/soup-message-headers.c" 8938 + line="691">Gets the value of header @name in @hdrs. 8939 + 8940 + Use this for headers whose values are comma-delimited lists, and which are 8941 + therefore allowed to appear multiple times in the headers. For 8942 + non-list-valued headers, use [method@MessageHeaders.get_one]. 8943 + 8944 + If @name appears multiple times in @hdrs, 8945 + [method@MessageHeaders.get_list] will concatenate all of the values 8946 + together, separated by commas. This is sometimes awkward to parse 8947 + (eg, WWW-Authenticate, Set-Cookie), but you have to be able to deal 8948 + with it anyway, because the HTTP spec explicitly states that this 8949 + transformation is allowed, and so an upstream proxy could do the 8950 + same thing.</doc> 8951 + <source-position filename="libsoup/soup-message-headers.h" line="54"/> 8952 + <return-value transfer-ownership="none" nullable="1"> 8953 + <doc xml:space="preserve" 8954 + filename="libsoup/soup-message-headers.c" 8955 + line="710">the header's value or %NULL if not found.</doc> 8956 + <type name="utf8" c:type="const char*"/> 8957 + </return-value> 8958 + <parameters> 8959 + <instance-parameter name="hdrs" transfer-ownership="none"> 8960 + <doc xml:space="preserve" 8961 + filename="libsoup/soup-message-headers.c" 8962 + line="693">a #SoupMessageHeaders</doc> 8963 + <type name="MessageHeaders" c:type="SoupMessageHeaders*"/> 8964 + </instance-parameter> 8965 + <parameter name="name" transfer-ownership="none"> 8966 + <doc xml:space="preserve" 8967 + filename="libsoup/soup-message-headers.c" 8968 + line="694">header name</doc> 8969 + <type name="utf8" c:type="const char*"/> 8970 + </parameter> 8971 + </parameters> 8972 + </method> 8973 + <method name="get_one" c:identifier="soup_message_headers_get_one"> 8974 + <doc xml:space="preserve" 8975 + filename="libsoup/soup-message-headers.c" 8976 + line="540">Gets the value of header @name in @hdrs. 8977 + 8978 + Use this for headers whose values are *not* comma-delimited lists, and which 8979 + therefore can only appear at most once in the headers. For list-valued 8980 + headers, use [method@MessageHeaders.get_list]. 8981 + 8982 + If @hdrs does erroneously contain multiple copies of the header, it 8983 + is not defined which one will be returned. (Ideally, it will return 8984 + whichever one makes libsoup most compatible with other HTTP 8985 + implementations.)</doc> 8986 + <source-position filename="libsoup/soup-message-headers.h" line="51"/> 8987 + <return-value transfer-ownership="none" nullable="1"> 8988 + <doc xml:space="preserve" 8989 + filename="libsoup/soup-message-headers.c" 8990 + line="556">the header's value or %NULL if not found.</doc> 8991 + <type name="utf8" c:type="const char*"/> 8992 + </return-value> 8993 + <parameters> 8994 + <instance-parameter name="hdrs" transfer-ownership="none"> 8995 + <doc xml:space="preserve" 8996 + filename="libsoup/soup-message-headers.c" 8997 + line="542">a #SoupMessageHeaders</doc> 8998 + <type name="MessageHeaders" c:type="SoupMessageHeaders*"/> 8999 + </instance-parameter> 9000 + <parameter name="name" transfer-ownership="none"> 9001 + <doc xml:space="preserve" 9002 + filename="libsoup/soup-message-headers.c" 9003 + line="543">header name</doc> 9004 + <type name="utf8" c:type="const char*"/> 9005 + </parameter> 9006 + </parameters> 9007 + </method> 9008 + <method name="get_ranges" c:identifier="soup_message_headers_get_ranges"> 9009 + <doc xml:space="preserve" 9010 + filename="libsoup/soup-message-headers.c" 9011 + line="1225">Parses @hdrs's Range header and returns an array of the requested 9012 + byte ranges. 9013 + 9014 + The returned array must be freed with [method@MessageHeaders.free_ranges]. 9015 + 9016 + If @total_length is non-0, its value will be used to adjust the 9017 + returned ranges to have explicit start and end values, and the 9018 + returned ranges will be sorted and non-overlapping. If 9019 + @total_length is 0, then some ranges may have an end value of -1, 9020 + as described under [struct@Range], and some of the ranges may be 9021 + redundant. 9022 + 9023 + Beware that even if given a @total_length, this function does not 9024 + check that the ranges are satisfiable. 9025 + 9026 + #SoupServer has built-in handling for range requests. If your 9027 + server handler returns a %SOUP_STATUS_OK response containing the 9028 + complete response body (rather than pausing the message and 9029 + returning some of the response body later), and there is a Range 9030 + header in the request, then libsoup will automatically convert the 9031 + response to a %SOUP_STATUS_PARTIAL_CONTENT response containing only 9032 + the range(s) requested by the client. 9033 + 9034 + The only time you need to process the Range header yourself is if 9035 + either you need to stream the response body rather than returning 9036 + it all at once, or you do not already have the complete response 9037 + body available, and only want to generate the parts that were 9038 + actually requested by the client.</doc> 9039 + <source-position filename="libsoup/soup-message-headers.h" line="130"/> 9040 + <return-value transfer-ownership="none"> 9041 + <doc xml:space="preserve" 9042 + filename="libsoup/soup-message-headers.c" 9043 + line="1262">%TRUE if @hdrs contained a syntactically-valid 9044 + "Range" header, %FALSE otherwise (in which case @range and @length 9045 + will not be set).</doc> 9046 + <type name="gboolean" c:type="gboolean"/> 9047 + </return-value> 9048 + <parameters> 9049 + <instance-parameter name="hdrs" transfer-ownership="none"> 9050 + <doc xml:space="preserve" 9051 + filename="libsoup/soup-message-headers.c" 9052 + line="1227">a #SoupMessageHeaders</doc> 9053 + <type name="MessageHeaders" c:type="SoupMessageHeaders*"/> 9054 + </instance-parameter> 9055 + <parameter name="total_length" transfer-ownership="none"> 9056 + <doc xml:space="preserve" 9057 + filename="libsoup/soup-message-headers.c" 9058 + line="1228">the total_length of the response body</doc> 9059 + <type name="gint64" c:type="goffset"/> 9060 + </parameter> 9061 + <parameter name="ranges" 9062 + direction="out" 9063 + caller-allocates="0" 9064 + transfer-ownership="full"> 9065 + <doc xml:space="preserve" 9066 + filename="libsoup/soup-message-headers.c" 9067 + line="1229">return location for an array 9068 + of #SoupRange</doc> 9069 + <array length="2" zero-terminated="0" c:type="SoupRange**"> 9070 + <type name="Range" c:type="SoupRange*"/> 9071 + </array> 9072 + </parameter> 9073 + <parameter name="length" 9074 + direction="out" 9075 + caller-allocates="0" 9076 + transfer-ownership="full"> 9077 + <doc xml:space="preserve" 9078 + filename="libsoup/soup-message-headers.c" 9079 + line="1231">the length of the returned array</doc> 9080 + <type name="gint" c:type="int*"/> 9081 + </parameter> 9082 + </parameters> 9083 + </method> 9084 + <method name="header_contains" 9085 + c:identifier="soup_message_headers_header_contains"> 9086 + <doc xml:space="preserve" 9087 + filename="libsoup/soup-message-headers.c" 9088 + line="591">Checks whether the list-valued header @name is present in @hdrs, 9089 + and contains a case-insensitive match for @token. 9090 + 9091 + (If @name is present in @hdrs, then this is equivalent to calling 9092 + [func@header_contains] on its value.)</doc> 9093 + <source-position filename="libsoup/soup-message-headers.h" line="57"/> 9094 + <return-value transfer-ownership="none"> 9095 + <doc xml:space="preserve" 9096 + filename="libsoup/soup-message-headers.c" 9097 + line="603">%TRUE if the header is present and contains @token, 9098 + %FALSE otherwise.</doc> 9099 + <type name="gboolean" c:type="gboolean"/> 9100 + </return-value> 9101 + <parameters> 9102 + <instance-parameter name="hdrs" transfer-ownership="none"> 9103 + <doc xml:space="preserve" 9104 + filename="libsoup/soup-message-headers.c" 9105 + line="593">a #SoupMessageHeaders</doc> 9106 + <type name="MessageHeaders" c:type="SoupMessageHeaders*"/> 9107 + </instance-parameter> 9108 + <parameter name="name" transfer-ownership="none"> 9109 + <doc xml:space="preserve" 9110 + filename="libsoup/soup-message-headers.c" 9111 + line="594">header name</doc> 9112 + <type name="utf8" c:type="const char*"/> 9113 + </parameter> 9114 + <parameter name="token" transfer-ownership="none"> 9115 + <doc xml:space="preserve" 9116 + filename="libsoup/soup-message-headers.c" 9117 + line="595">token to look for</doc> 9118 + <type name="utf8" c:type="const char*"/> 9119 + </parameter> 9120 + </parameters> 9121 + </method> 9122 + <method name="header_equals" 9123 + c:identifier="soup_message_headers_header_equals"> 9124 + <doc xml:space="preserve" 9125 + filename="libsoup/soup-message-headers.c" 9126 + line="628">Checks whether the header @name is present in @hdrs and is 9127 + (case-insensitively) equal to @value.</doc> 9128 + <source-position filename="libsoup/soup-message-headers.h" line="61"/> 9129 + <return-value transfer-ownership="none"> 9130 + <doc xml:space="preserve" 9131 + filename="libsoup/soup-message-headers.c" 9132 + line="637">%TRUE if the header is present and its value is 9133 + @value, %FALSE otherwise.</doc> 9134 + <type name="gboolean" c:type="gboolean"/> 9135 + </return-value> 9136 + <parameters> 9137 + <instance-parameter name="hdrs" transfer-ownership="none"> 9138 + <doc xml:space="preserve" 9139 + filename="libsoup/soup-message-headers.c" 9140 + line="630">a #SoupMessageHeaders</doc> 9141 + <type name="MessageHeaders" c:type="SoupMessageHeaders*"/> 9142 + </instance-parameter> 9143 + <parameter name="name" transfer-ownership="none"> 9144 + <doc xml:space="preserve" 9145 + filename="libsoup/soup-message-headers.c" 9146 + line="631">header name</doc> 9147 + <type name="utf8" c:type="const char*"/> 9148 + </parameter> 9149 + <parameter name="value" transfer-ownership="none"> 9150 + <doc xml:space="preserve" 9151 + filename="libsoup/soup-message-headers.c" 9152 + line="632">expected value</doc> 9153 + <type name="utf8" c:type="const char*"/> 9154 + </parameter> 9155 + </parameters> 9156 + </method> 9157 + <method name="ref" c:identifier="soup_message_headers_ref"> 9158 + <doc xml:space="preserve" 9159 + filename="libsoup/soup-message-headers.c" 9160 + line="85">Atomically increments the reference count of @hdrs by one.</doc> 9161 + <source-position filename="libsoup/soup-message-headers.h" line="27"/> 9162 + <return-value transfer-ownership="full"> 9163 + <doc xml:space="preserve" 9164 + filename="libsoup/soup-message-headers.c" 9165 + line="91">the passed in #SoupMessageHeaders</doc> 9166 + <type name="MessageHeaders" c:type="SoupMessageHeaders*"/> 9167 + </return-value> 9168 + <parameters> 9169 + <instance-parameter name="hdrs" transfer-ownership="none"> 9170 + <doc xml:space="preserve" 9171 + filename="libsoup/soup-message-headers.c" 9172 + line="87">a #SoupMessageHeaders</doc> 9173 + <type name="MessageHeaders" c:type="SoupMessageHeaders*"/> 9174 + </instance-parameter> 9175 + </parameters> 9176 + </method> 9177 + <method name="remove" c:identifier="soup_message_headers_remove"> 9178 + <doc xml:space="preserve" 9179 + filename="libsoup/soup-message-headers.c" 9180 + line="485">Removes @name from @hdrs. 9181 + 9182 + If there are multiple values for @name, they are all removed.</doc> 9183 + <source-position filename="libsoup/soup-message-headers.h" line="42"/> 9184 + <return-value transfer-ownership="none"> 9185 + <type name="none" c:type="void"/> 9186 + </return-value> 9187 + <parameters> 9188 + <instance-parameter name="hdrs" transfer-ownership="none"> 9189 + <doc xml:space="preserve" 9190 + filename="libsoup/soup-message-headers.c" 9191 + line="487">a #SoupMessageHeaders</doc> 9192 + <type name="MessageHeaders" c:type="SoupMessageHeaders*"/> 9193 + </instance-parameter> 9194 + <parameter name="name" transfer-ownership="none"> 9195 + <doc xml:space="preserve" 9196 + filename="libsoup/soup-message-headers.c" 9197 + line="488">the header name to remove</doc> 9198 + <type name="utf8" c:type="const char*"/> 9199 + </parameter> 9200 + </parameters> 9201 + </method> 9202 + <method name="replace" c:identifier="soup_message_headers_replace"> 9203 + <doc xml:space="preserve" 9204 + filename="libsoup/soup-message-headers.c" 9205 + line="373">Replaces the value of the header @name in @hdrs with @value. 9206 + 9207 + See also [method@MessageHeaders.append]. 9208 + 9209 + The caller is expected to make sure that @name and @value are 9210 + syntactically correct.</doc> 9211 + <source-position filename="libsoup/soup-message-headers.h" line="37"/> 9212 + <return-value transfer-ownership="none"> 9213 + <type name="none" c:type="void"/> 9214 + </return-value> 9215 + <parameters> 9216 + <instance-parameter name="hdrs" transfer-ownership="none"> 9217 + <doc xml:space="preserve" 9218 + filename="libsoup/soup-message-headers.c" 9219 + line="375">a #SoupMessageHeaders</doc> 9220 + <type name="MessageHeaders" c:type="SoupMessageHeaders*"/> 9221 + </instance-parameter> 9222 + <parameter name="name" transfer-ownership="none"> 9223 + <doc xml:space="preserve" 9224 + filename="libsoup/soup-message-headers.c" 9225 + line="376">the header name to replace</doc> 9226 + <type name="utf8" c:type="const char*"/> 9227 + </parameter> 9228 + <parameter name="value" transfer-ownership="none"> 9229 + <doc xml:space="preserve" 9230 + filename="libsoup/soup-message-headers.c" 9231 + line="377">the new value of @name</doc> 9232 + <type name="utf8" c:type="const char*"/> 9233 + </parameter> 9234 + </parameters> 9235 + </method> 9236 + <method name="set_content_disposition" 9237 + c:identifier="soup_message_headers_set_content_disposition"> 9238 + <doc xml:space="preserve" 9239 + filename="libsoup/soup-message-headers.c" 9240 + line="1625">Sets the "Content-Disposition" header in @hdrs to @disposition, 9241 + optionally with additional parameters specified in @params. 9242 + 9243 + See [method@MessageHeaders.get_content_disposition] for a discussion 9244 + of how Content-Disposition is used in HTTP.</doc> 9245 + <source-position filename="libsoup/soup-message-headers.h" line="171"/> 9246 + <return-value transfer-ownership="none"> 9247 + <type name="none" c:type="void"/> 9248 + </return-value> 9249 + <parameters> 9250 + <instance-parameter name="hdrs" transfer-ownership="none"> 9251 + <doc xml:space="preserve" 9252 + filename="libsoup/soup-message-headers.c" 9253 + line="1627">a #SoupMessageHeaders</doc> 9254 + <type name="MessageHeaders" c:type="SoupMessageHeaders*"/> 9255 + </instance-parameter> 9256 + <parameter name="disposition" transfer-ownership="none"> 9257 + <doc xml:space="preserve" 9258 + filename="libsoup/soup-message-headers.c" 9259 + line="1628">the disposition-type</doc> 9260 + <type name="utf8" c:type="const char*"/> 9261 + </parameter> 9262 + <parameter name="params" 9263 + transfer-ownership="none" 9264 + nullable="1" 9265 + allow-none="1"> 9266 + <doc xml:space="preserve" 9267 + filename="libsoup/soup-message-headers.c" 9268 + line="1629">additional parameters</doc> 9269 + <type name="GLib.HashTable" c:type="GHashTable*"> 9270 + <type name="utf8"/> 9271 + <type name="utf8"/> 9272 + </type> 9273 + </parameter> 9274 + </parameters> 9275 + </method> 9276 + <method name="set_content_length" 9277 + c:identifier="soup_message_headers_set_content_length"> 9278 + <doc xml:space="preserve" 9279 + filename="libsoup/soup-message-headers.c" 9280 + line="1016">Sets the message body length that @hdrs will declare, and sets 9281 + @hdrs's encoding to %SOUP_ENCODING_CONTENT_LENGTH. 9282 + 9283 + You do not normally need to call this; if @hdrs is set to use 9284 + Content-Length encoding, libsoup will automatically set its 9285 + Content-Length header for you immediately before sending the 9286 + headers. One situation in which this method is useful is when 9287 + generating the response to a HEAD request; Calling 9288 + [method@MessageHeaders.set_content_length] allows you to put the 9289 + correct content length into the response without needing to waste 9290 + memory by filling in a response body which won't actually be sent.</doc> 9291 + <source-position filename="libsoup/soup-message-headers.h" line="110"/> 9292 + <return-value transfer-ownership="none"> 9293 + <type name="none" c:type="void"/> 9294 + </return-value> 9295 + <parameters> 9296 + <instance-parameter name="hdrs" transfer-ownership="none"> 9297 + <doc xml:space="preserve" 9298 + filename="libsoup/soup-message-headers.c" 9299 + line="1018">a #SoupMessageHeaders</doc> 9300 + <type name="MessageHeaders" c:type="SoupMessageHeaders*"/> 9301 + </instance-parameter> 9302 + <parameter name="content_length" transfer-ownership="none"> 9303 + <doc xml:space="preserve" 9304 + filename="libsoup/soup-message-headers.c" 9305 + line="1019">the message body length</doc> 9306 + <type name="gint64" c:type="goffset"/> 9307 + </parameter> 9308 + </parameters> 9309 + </method> 9310 + <method name="set_content_range" 9311 + c:identifier="soup_message_headers_set_content_range"> 9312 + <doc xml:space="preserve" 9313 + filename="libsoup/soup-message-headers.c" 9314 + line="1408">Sets @hdrs's Content-Range header according to the given values. 9315 + 9316 + (Note that @total_length is the total length of the entire resource 9317 + that this is a range of, not simply @end - @start + 1.) 9318 + 9319 + [class@Server] has built-in handling for range requests, and you do 9320 + not normally need to call this function youself. See 9321 + [method@MessageHeaders.get_ranges] for more details.</doc> 9322 + <source-position filename="libsoup/soup-message-headers.h" line="152"/> 9323 + <return-value transfer-ownership="none"> 9324 + <type name="none" c:type="void"/> 9325 + </return-value> 9326 + <parameters> 9327 + <instance-parameter name="hdrs" transfer-ownership="none"> 9328 + <doc xml:space="preserve" 9329 + filename="libsoup/soup-message-headers.c" 9330 + line="1410">a #SoupMessageHeaders</doc> 9331 + <type name="MessageHeaders" c:type="SoupMessageHeaders*"/> 9332 + </instance-parameter> 9333 + <parameter name="start" transfer-ownership="none"> 9334 + <doc xml:space="preserve" 9335 + filename="libsoup/soup-message-headers.c" 9336 + line="1411">the start of the range</doc> 9337 + <type name="gint64" c:type="goffset"/> 9338 + </parameter> 9339 + <parameter name="end" transfer-ownership="none"> 9340 + <doc xml:space="preserve" 9341 + filename="libsoup/soup-message-headers.c" 9342 + line="1412">the end of the range</doc> 9343 + <type name="gint64" c:type="goffset"/> 9344 + </parameter> 9345 + <parameter name="total_length" transfer-ownership="none"> 9346 + <doc xml:space="preserve" 9347 + filename="libsoup/soup-message-headers.c" 9348 + line="1413">the total length of the resource, or -1 if unknown</doc> 9349 + <type name="gint64" c:type="goffset"/> 9350 + </parameter> 9351 + </parameters> 9352 + </method> 9353 + <method name="set_content_type" 9354 + c:identifier="soup_message_headers_set_content_type"> 9355 + <doc xml:space="preserve" 9356 + filename="libsoup/soup-message-headers.c" 9357 + line="1548">Sets the "Content-Type" header in @hdrs to @content_type. 9358 + 9359 + Accepts additional parameters specified in @params.</doc> 9360 + <source-position filename="libsoup/soup-message-headers.h" line="162"/> 9361 + <return-value transfer-ownership="none"> 9362 + <type name="none" c:type="void"/> 9363 + </return-value> 9364 + <parameters> 9365 + <instance-parameter name="hdrs" transfer-ownership="none"> 9366 + <doc xml:space="preserve" 9367 + filename="libsoup/soup-message-headers.c" 9368 + line="1550">a #SoupMessageHeaders</doc> 9369 + <type name="MessageHeaders" c:type="SoupMessageHeaders*"/> 9370 + </instance-parameter> 9371 + <parameter name="content_type" transfer-ownership="none"> 9372 + <doc xml:space="preserve" 9373 + filename="libsoup/soup-message-headers.c" 9374 + line="1551">the MIME type</doc> 9375 + <type name="utf8" c:type="const char*"/> 9376 + </parameter> 9377 + <parameter name="params" 9378 + transfer-ownership="none" 9379 + nullable="1" 9380 + allow-none="1"> 9381 + <doc xml:space="preserve" 9382 + filename="libsoup/soup-message-headers.c" 9383 + line="1552">additional parameters</doc> 9384 + <type name="GLib.HashTable" c:type="GHashTable*"> 9385 + <type name="utf8"/> 9386 + <type name="utf8"/> 9387 + </type> 9388 + </parameter> 9389 + </parameters> 9390 + </method> 9391 + <method name="set_encoding" 9392 + c:identifier="soup_message_headers_set_encoding"> 9393 + <doc xml:space="preserve" 9394 + filename="libsoup/soup-message-headers.c" 9395 + line="953">Sets the message body encoding that @hdrs will declare. 9396 + 9397 + In particular, you should use this if you are going to send a request or 9398 + response in chunked encoding.</doc> 9399 + <source-position filename="libsoup/soup-message-headers.h" line="104"/> 9400 + <return-value transfer-ownership="none"> 9401 + <type name="none" c:type="void"/> 9402 + </return-value> 9403 + <parameters> 9404 + <instance-parameter name="hdrs" transfer-ownership="none"> 9405 + <doc xml:space="preserve" 9406 + filename="libsoup/soup-message-headers.c" 9407 + line="955">a #SoupMessageHeaders</doc> 9408 + <type name="MessageHeaders" c:type="SoupMessageHeaders*"/> 9409 + </instance-parameter> 9410 + <parameter name="encoding" transfer-ownership="none"> 9411 + <doc xml:space="preserve" 9412 + filename="libsoup/soup-message-headers.c" 9413 + line="956">a #SoupEncoding</doc> 9414 + <type name="Encoding" c:type="SoupEncoding"/> 9415 + </parameter> 9416 + </parameters> 9417 + </method> 9418 + <method name="set_expectations" 9419 + c:identifier="soup_message_headers_set_expectations"> 9420 + <doc xml:space="preserve" 9421 + filename="libsoup/soup-message-headers.c" 9422 + line="1070">Sets @hdrs's "Expect" header according to @expectations. 9423 + 9424 + Currently %SOUP_EXPECTATION_CONTINUE is the only known expectation 9425 + value. You should set this value on a request if you are sending a 9426 + large message body (eg, via POST or PUT), and want to give the 9427 + server a chance to reject the request after seeing just the headers 9428 + (eg, because it will require authentication before allowing you to 9429 + post, or because you're POSTing to a URL that doesn't exist). This 9430 + saves you from having to transmit the large request body when the 9431 + server is just going to ignore it anyway.</doc> 9432 + <source-position filename="libsoup/soup-message-headers.h" line="121"/> 9433 + <return-value transfer-ownership="none"> 9434 + <type name="none" c:type="void"/> 9435 + </return-value> 9436 + <parameters> 9437 + <instance-parameter name="hdrs" transfer-ownership="none"> 9438 + <doc xml:space="preserve" 9439 + filename="libsoup/soup-message-headers.c" 9440 + line="1072">a #SoupMessageHeaders</doc> 9441 + <type name="MessageHeaders" c:type="SoupMessageHeaders*"/> 9442 + </instance-parameter> 9443 + <parameter name="expectations" transfer-ownership="none"> 9444 + <doc xml:space="preserve" 9445 + filename="libsoup/soup-message-headers.c" 9446 + line="1073">the expectations to set</doc> 9447 + <type name="Expectation" c:type="SoupExpectation"/> 9448 + </parameter> 9449 + </parameters> 9450 + </method> 9451 + <method name="set_range" c:identifier="soup_message_headers_set_range"> 9452 + <doc xml:space="preserve" 9453 + filename="libsoup/soup-message-headers.c" 9454 + line="1331">Sets @hdrs's Range header to request the indicated range. 9455 + 9456 + @start and @end are interpreted as in a [struct@Range]. 9457 + 9458 + If you need to request multiple ranges, use 9459 + [method@MessageHeaders.set_ranges].</doc> 9460 + <source-position filename="libsoup/soup-message-headers.h" line="142"/> 9461 + <return-value transfer-ownership="none"> 9462 + <type name="none" c:type="void"/> 9463 + </return-value> 9464 + <parameters> 9465 + <instance-parameter name="hdrs" transfer-ownership="none"> 9466 + <doc xml:space="preserve" 9467 + filename="libsoup/soup-message-headers.c" 9468 + line="1333">a #SoupMessageHeaders</doc> 9469 + <type name="MessageHeaders" c:type="SoupMessageHeaders*"/> 9470 + </instance-parameter> 9471 + <parameter name="start" transfer-ownership="none"> 9472 + <doc xml:space="preserve" 9473 + filename="libsoup/soup-message-headers.c" 9474 + line="1334">the start of the range to request</doc> 9475 + <type name="gint64" c:type="goffset"/> 9476 + </parameter> 9477 + <parameter name="end" transfer-ownership="none"> 9478 + <doc xml:space="preserve" 9479 + filename="libsoup/soup-message-headers.c" 9480 + line="1335">the end of the range to request</doc> 9481 + <type name="gint64" c:type="goffset"/> 9482 + </parameter> 9483 + </parameters> 9484 + </method> 9485 + <method name="set_ranges" c:identifier="soup_message_headers_set_ranges"> 9486 + <doc xml:space="preserve" 9487 + filename="libsoup/soup-message-headers.c" 9488 + line="1292">Sets @hdrs's Range header to request the indicated ranges. 9489 + 9490 + If you only want to request a single range, you can use 9491 + [method@MessageHeaders.set_range].</doc> 9492 + <source-position filename="libsoup/soup-message-headers.h" line="138"/> 9493 + <return-value transfer-ownership="none"> 9494 + <type name="none" c:type="void"/> 9495 + </return-value> 9496 + <parameters> 9497 + <instance-parameter name="hdrs" transfer-ownership="none"> 9498 + <doc xml:space="preserve" 9499 + filename="libsoup/soup-message-headers.c" 9500 + line="1294">a #SoupMessageHeaders</doc> 9501 + <type name="MessageHeaders" c:type="SoupMessageHeaders*"/> 9502 + </instance-parameter> 9503 + <parameter name="ranges" transfer-ownership="none"> 9504 + <doc xml:space="preserve" 9505 + filename="libsoup/soup-message-headers.c" 9506 + line="1295">an array of #SoupRange</doc> 9507 + <type name="Range" c:type="SoupRange*"/> 9508 + </parameter> 9509 + <parameter name="length" transfer-ownership="none"> 9510 + <doc xml:space="preserve" 9511 + filename="libsoup/soup-message-headers.c" 9512 + line="1296">the length of @range</doc> 9513 + <type name="gint" c:type="int"/> 9514 + </parameter> 9515 + </parameters> 9516 + </method> 9517 + <method name="unref" c:identifier="soup_message_headers_unref"> 9518 + <doc xml:space="preserve" 9519 + filename="libsoup/soup-message-headers.c" 9520 + line="113">Atomically decrements the reference count of @hdrs by one. 9521 + 9522 + When the reference count reaches zero, the resources allocated by 9523 + @hdrs are freed</doc> 9524 + <source-position filename="libsoup/soup-message-headers.h" line="30"/> 9525 + <return-value transfer-ownership="none"> 9526 + <type name="none" c:type="void"/> 9527 + </return-value> 9528 + <parameters> 9529 + <instance-parameter name="hdrs" transfer-ownership="none"> 9530 + <doc xml:space="preserve" 9531 + filename="libsoup/soup-message-headers.c" 9532 + line="115">a #SoupMessageHeaders</doc> 9533 + <type name="MessageHeaders" c:type="SoupMessageHeaders*"/> 9534 + </instance-parameter> 9535 + </parameters> 9536 + </method> 9537 + </record> 9538 + <callback name="MessageHeadersForeachFunc" 9539 + c:type="SoupMessageHeadersForeachFunc"> 9540 + <doc xml:space="preserve" 9541 + filename="libsoup/soup-message-headers.c" 9542 + line="844">The callback passed to [method@MessageHeaders.foreach].</doc> 9543 + <source-position filename="libsoup/soup-message-headers.h" line="65"/> 9544 + <return-value transfer-ownership="none"> 9545 + <type name="none" c:type="void"/> 9546 + </return-value> 9547 + <parameters> 9548 + <parameter name="name" transfer-ownership="none"> 9549 + <doc xml:space="preserve" 9550 + filename="libsoup/soup-message-headers.c" 9551 + line="846">the header name</doc> 9552 + <type name="utf8" c:type="const char*"/> 9553 + </parameter> 9554 + <parameter name="value" transfer-ownership="none"> 9555 + <doc xml:space="preserve" 9556 + filename="libsoup/soup-message-headers.c" 9557 + line="847">the header value</doc> 9558 + <type name="utf8" c:type="const char*"/> 9559 + </parameter> 9560 + <parameter name="user_data" 9561 + transfer-ownership="none" 9562 + nullable="1" 9563 + allow-none="1" 9564 + closure="2"> 9565 + <doc xml:space="preserve" 9566 + filename="libsoup/soup-message-headers.c" 9567 + line="848">the data passed to [method@MessageHeaders.foreach]</doc> 9568 + <type name="gpointer" c:type="gpointer"/> 9569 + </parameter> 9570 + </parameters> 9571 + </callback> 9572 + <record name="MessageHeadersIter" c:type="SoupMessageHeadersIter"> 9573 + <doc xml:space="preserve" 9574 + filename="libsoup/soup-message-headers.c" 9575 + line="760">An opaque type used to iterate over a %SoupMessageHeaders 9576 + structure. 9577 + 9578 + After intializing the iterator with [func@MessageHeadersIter.init], call 9579 + [method@MessageHeadersIter.next] to fetch data from it. 9580 + 9581 + You may not modify the headers while iterating over them.</doc> 9582 + <source-position filename="libsoup/soup-message-headers.h" line="80"/> 9583 + <field name="dummy" readable="0" private="1"> 9584 + <array zero-terminated="0" fixed-size="3"> 9585 + <type name="gpointer" c:type="gpointer"/> 9586 + </array> 9587 + </field> 9588 + <method name="next" c:identifier="soup_message_headers_iter_next"> 9589 + <doc xml:space="preserve" 9590 + filename="libsoup/soup-message-headers.c" 9591 + line="797">Yields the next name/value pair in the [struct@MessageHeaders] being 9592 + iterated by @iter. 9593 + 9594 + If @iter has already yielded the last header, then 9595 + [method@MessageHeadersIter.next] will return %FALSE and @name and @value 9596 + will be unchanged.</doc> 9597 + <source-position filename="libsoup/soup-message-headers.h" line="86"/> 9598 + <return-value transfer-ownership="none"> 9599 + <doc xml:space="preserve" 9600 + filename="libsoup/soup-message-headers.c" 9601 + line="812">%TRUE if another name and value were returned, %FALSE 9602 + if the end of the headers has been reached.</doc> 9603 + <type name="gboolean" c:type="gboolean"/> 9604 + </return-value> 9605 + <parameters> 9606 + <instance-parameter name="iter" 9607 + direction="inout" 9608 + caller-allocates="0" 9609 + transfer-ownership="none"> 9610 + <doc xml:space="preserve" 9611 + filename="libsoup/soup-message-headers.c" 9612 + line="799">a %SoupMessageHeadersIter</doc> 9613 + <type name="MessageHeadersIter" c:type="SoupMessageHeadersIter*"/> 9614 + </instance-parameter> 9615 + <parameter name="name" 9616 + direction="out" 9617 + caller-allocates="0" 9618 + transfer-ownership="none"> 9619 + <doc xml:space="preserve" 9620 + filename="libsoup/soup-message-headers.c" 9621 + line="800">pointer to a variable to return 9622 + the header name in</doc> 9623 + <type name="utf8" c:type="const char**"/> 9624 + </parameter> 9625 + <parameter name="value" 9626 + direction="out" 9627 + caller-allocates="0" 9628 + transfer-ownership="none"> 9629 + <doc xml:space="preserve" 9630 + filename="libsoup/soup-message-headers.c" 9631 + line="802">pointer to a variable to return 9632 + the header value in</doc> 9633 + <type name="utf8" c:type="const char**"/> 9634 + </parameter> 9635 + </parameters> 9636 + </method> 9637 + <function name="init" c:identifier="soup_message_headers_iter_init"> 9638 + <doc xml:space="preserve" 9639 + filename="libsoup/soup-message-headers.c" 9640 + line="778">Initializes @iter for iterating @hdrs.</doc> 9641 + <source-position filename="libsoup/soup-message-headers.h" line="83"/> 9642 + <return-value transfer-ownership="none"> 9643 + <type name="none" c:type="void"/> 9644 + </return-value> 9645 + <parameters> 9646 + <parameter name="iter" 9647 + direction="out" 9648 + caller-allocates="1" 9649 + transfer-ownership="none"> 9650 + <doc xml:space="preserve" 9651 + filename="libsoup/soup-message-headers.c" 9652 + line="780">a pointer to a %SoupMessageHeadersIter 9653 + structure</doc> 9654 + <type name="MessageHeadersIter" c:type="SoupMessageHeadersIter*"/> 9655 + </parameter> 9656 + <parameter name="hdrs" transfer-ownership="none"> 9657 + <doc xml:space="preserve" 9658 + filename="libsoup/soup-message-headers.c" 9659 + line="782">a %SoupMessageHeaders</doc> 9660 + <type name="MessageHeaders" c:type="SoupMessageHeaders*"/> 9661 + </parameter> 9662 + </parameters> 9663 + </function> 9664 + </record> 9665 + <enumeration name="MessageHeadersType" 9666 + glib:type-name="SoupMessageHeadersType" 9667 + glib:get-type="soup_message_headers_type_get_type" 9668 + c:type="SoupMessageHeadersType"> 9669 + <doc xml:space="preserve" 9670 + filename="libsoup/soup-message-headers.c" 9671 + line="24">Value passed to [ctor@MessageHeaders.new] to set certain default 9672 + behaviors.</doc> 9673 + <member name="request" 9674 + value="0" 9675 + c:identifier="SOUP_MESSAGE_HEADERS_REQUEST" 9676 + glib:nick="request" 9677 + glib:name="SOUP_MESSAGE_HEADERS_REQUEST"> 9678 + <doc xml:space="preserve" 9679 + filename="libsoup/soup-message-headers.c" 9680 + line="26">request headers</doc> 9681 + </member> 9682 + <member name="response" 9683 + value="1" 9684 + c:identifier="SOUP_MESSAGE_HEADERS_RESPONSE" 9685 + glib:nick="response" 9686 + glib:name="SOUP_MESSAGE_HEADERS_RESPONSE"> 9687 + <doc xml:space="preserve" 9688 + filename="libsoup/soup-message-headers.c" 9689 + line="27">response headers</doc> 9690 + </member> 9691 + <member name="multipart" 9692 + value="2" 9693 + c:identifier="SOUP_MESSAGE_HEADERS_MULTIPART" 9694 + glib:nick="multipart" 9695 + glib:name="SOUP_MESSAGE_HEADERS_MULTIPART"> 9696 + <doc xml:space="preserve" 9697 + filename="libsoup/soup-message-headers.c" 9698 + line="28">multipart body part headers</doc> 9699 + </member> 9700 + </enumeration> 9701 + <record name="MessageMetrics" 9702 + c:type="SoupMessageMetrics" 9703 + opaque="1" 9704 + glib:type-name="SoupMessageMetrics" 9705 + glib:get-type="soup_message_metrics_get_type" 9706 + c:symbol-prefix="message_metrics"> 9707 + <doc xml:space="preserve" 9708 + filename="libsoup/soup-message-metrics.c" 9709 + line="14">Contains metrics collected while loading a [class@Message] either from the 9710 + network or the disk cache. 9711 + 9712 + Metrics are not collected by default for a [class@Message], you need to add the 9713 + flag %SOUP_MESSAGE_COLLECT_METRICS to enable the feature. 9714 + 9715 + Temporal metrics are expressed as a monotonic time and always start with a 9716 + fetch start event and finish with response end. All other events are optional. 9717 + An event can be 0 because it hasn't happened yet, because it's optional or 9718 + because the load failed before the event reached. 9719 + 9720 + Size metrics are expressed in bytes and are updated while the [class@Message] is 9721 + being loaded. You can connect to different [class@Message] signals to get the 9722 + final result of every value.</doc> 9723 + <source-position filename="libsoup/soup-types.h" line="25"/> 9724 + <method name="copy" c:identifier="soup_message_metrics_copy"> 9725 + <doc xml:space="preserve" 9726 + filename="libsoup/soup-message-metrics.c" 9727 + line="41">Copies @metrics.</doc> 9728 + <source-position filename="libsoup/soup-message-metrics.h" line="19"/> 9729 + <return-value transfer-ownership="full"> 9730 + <doc xml:space="preserve" 9731 + filename="libsoup/soup-message-metrics.c" 9732 + line="47">a copy of @metrics</doc> 9733 + <type name="MessageMetrics" c:type="SoupMessageMetrics*"/> 9734 + </return-value> 9735 + <parameters> 9736 + <instance-parameter name="metrics" transfer-ownership="none"> 9737 + <doc xml:space="preserve" 9738 + filename="libsoup/soup-message-metrics.c" 9739 + line="43">a #SoupMessageMetrics</doc> 9740 + <type name="MessageMetrics" c:type="SoupMessageMetrics*"/> 9741 + </instance-parameter> 9742 + </parameters> 9743 + </method> 9744 + <method name="free" c:identifier="soup_message_metrics_free"> 9745 + <doc xml:space="preserve" 9746 + filename="libsoup/soup-message-metrics.c" 9747 + line="62">Frees @metrics.</doc> 9748 + <source-position filename="libsoup/soup-message-metrics.h" line="22"/> 9749 + <return-value transfer-ownership="none"> 9750 + <type name="none" c:type="void"/> 9751 + </return-value> 9752 + <parameters> 9753 + <instance-parameter name="metrics" transfer-ownership="none"> 9754 + <doc xml:space="preserve" 9755 + filename="libsoup/soup-message-metrics.c" 9756 + line="64">a #SoupMessageMetrics</doc> 9757 + <type name="MessageMetrics" c:type="SoupMessageMetrics*"/> 9758 + </instance-parameter> 9759 + </parameters> 9760 + </method> 9761 + <method name="get_connect_end" 9762 + c:identifier="soup_message_metrics_get_connect_end"> 9763 + <doc xml:space="preserve" 9764 + filename="libsoup/soup-message-metrics.c" 9765 + line="156">Get the time immediately after the [class@Message] completed the 9766 + connection to the server. This includes the time for the proxy 9767 + negotiation and TLS handshake. 9768 + 9769 + It will be 0 if no network connection was required to fetch the resource (a 9770 + persistent connection was used or resource was loaded from the local disk 9771 + cache).</doc> 9772 + <source-position filename="libsoup/soup-message-metrics.h" line="37"/> 9773 + <return-value transfer-ownership="none"> 9774 + <doc xml:space="preserve" 9775 + filename="libsoup/soup-message-metrics.c" 9776 + line="168">the connection end time</doc> 9777 + <type name="guint64" c:type="guint64"/> 9778 + </return-value> 9779 + <parameters> 9780 + <instance-parameter name="metrics" transfer-ownership="none"> 9781 + <doc xml:space="preserve" 9782 + filename="libsoup/soup-message-metrics.c" 9783 + line="158">a #SoupMessageMetrics</doc> 9784 + <type name="MessageMetrics" c:type="SoupMessageMetrics*"/> 9785 + </instance-parameter> 9786 + </parameters> 9787 + </method> 9788 + <method name="get_connect_start" 9789 + c:identifier="soup_message_metrics_get_connect_start"> 9790 + <doc xml:space="preserve" 9791 + filename="libsoup/soup-message-metrics.c" 9792 + line="135">Get the time immediately before the [class@Message] started to 9793 + establish the connection to the server. 9794 + 9795 + It will be 0 if no network connection was required to fetch the resource (a 9796 + persistent connection was used or resource was loaded from the local disk 9797 + cache).</doc> 9798 + <source-position filename="libsoup/soup-message-metrics.h" line="34"/> 9799 + <return-value transfer-ownership="none"> 9800 + <doc xml:space="preserve" 9801 + filename="libsoup/soup-message-metrics.c" 9802 + line="146">the connection start time</doc> 9803 + <type name="guint64" c:type="guint64"/> 9804 + </return-value> 9805 + <parameters> 9806 + <instance-parameter name="metrics" transfer-ownership="none"> 9807 + <doc xml:space="preserve" 9808 + filename="libsoup/soup-message-metrics.c" 9809 + line="137">a #SoupMessageMetrics</doc> 9810 + <type name="MessageMetrics" c:type="SoupMessageMetrics*"/> 9811 + </instance-parameter> 9812 + </parameters> 9813 + </method> 9814 + <method name="get_dns_end" 9815 + c:identifier="soup_message_metrics_get_dns_end"> 9816 + <doc xml:space="preserve" 9817 + filename="libsoup/soup-message-metrics.c" 9818 + line="114">Get the time immediately after the [class@Message] completed the 9819 + domain lookup name for the resource. 9820 + 9821 + It will be 0 if no domain lookup was required to fetch the resource (a 9822 + persistent connection was used or resource was loaded from the local disk 9823 + cache).</doc> 9824 + <source-position filename="libsoup/soup-message-metrics.h" line="31"/> 9825 + <return-value transfer-ownership="none"> 9826 + <doc xml:space="preserve" 9827 + filename="libsoup/soup-message-metrics.c" 9828 + line="125">the domain lookup end time</doc> 9829 + <type name="guint64" c:type="guint64"/> 9830 + </return-value> 9831 + <parameters> 9832 + <instance-parameter name="metrics" transfer-ownership="none"> 9833 + <doc xml:space="preserve" 9834 + filename="libsoup/soup-message-metrics.c" 9835 + line="116">a #SoupMessageMetrics</doc> 9836 + <type name="MessageMetrics" c:type="SoupMessageMetrics*"/> 9837 + </instance-parameter> 9838 + </parameters> 9839 + </method> 9840 + <method name="get_dns_start" 9841 + c:identifier="soup_message_metrics_get_dns_start"> 9842 + <doc xml:space="preserve" 9843 + filename="libsoup/soup-message-metrics.c" 9844 + line="93">Get the time immediately before the [class@Message] started the 9845 + domain lookup name for the resource. 9846 + 9847 + It will be 0 if no domain lookup was required to fetch the resource (a 9848 + persistent connection was used or resource was loaded from the local disk 9849 + cache).</doc> 9850 + <source-position filename="libsoup/soup-message-metrics.h" line="28"/> 9851 + <return-value transfer-ownership="none"> 9852 + <doc xml:space="preserve" 9853 + filename="libsoup/soup-message-metrics.c" 9854 + line="104">the domain lookup start time</doc> 9855 + <type name="guint64" c:type="guint64"/> 9856 + </return-value> 9857 + <parameters> 9858 + <instance-parameter name="metrics" transfer-ownership="none"> 9859 + <doc xml:space="preserve" 9860 + filename="libsoup/soup-message-metrics.c" 9861 + line="95">a #SoupMessageMetrics</doc> 9862 + <type name="MessageMetrics" c:type="SoupMessageMetrics*"/> 9863 + </instance-parameter> 9864 + </parameters> 9865 + </method> 9866 + <method name="get_fetch_start" 9867 + c:identifier="soup_message_metrics_get_fetch_start"> 9868 + <doc xml:space="preserve" 9869 + filename="libsoup/soup-message-metrics.c" 9870 + line="76">Get the time immediately before the [class@Message] started to 9871 + fetch a resource either from a remote server or local disk cache.</doc> 9872 + <source-position filename="libsoup/soup-message-metrics.h" line="25"/> 9873 + <return-value transfer-ownership="none"> 9874 + <doc xml:space="preserve" 9875 + filename="libsoup/soup-message-metrics.c" 9876 + line="83">the fetch start time</doc> 9877 + <type name="guint64" c:type="guint64"/> 9878 + </return-value> 9879 + <parameters> 9880 + <instance-parameter name="metrics" transfer-ownership="none"> 9881 + <doc xml:space="preserve" 9882 + filename="libsoup/soup-message-metrics.c" 9883 + line="78">a #SoupMessageMetrics</doc> 9884 + <type name="MessageMetrics" c:type="SoupMessageMetrics*"/> 9885 + </instance-parameter> 9886 + </parameters> 9887 + </method> 9888 + <method name="get_request_body_bytes_sent" 9889 + c:identifier="soup_message_metrics_get_request_body_bytes_sent"> 9890 + <doc xml:space="preserve" 9891 + filename="libsoup/soup-message-metrics.c" 9892 + line="292">Get the number of bytes sent to the network for the request body. 9893 + 9894 + This is the size of the body sent, after encodings are applied, so it might 9895 + be greater than the value returned by 9896 + [method@MessageMetrics.get_request_body_size]. This value is available right 9897 + before [signal@Message::wrote-body] signal is emitted, but you might get an 9898 + intermediate value if called before.</doc> 9899 + <source-position filename="libsoup/soup-message-metrics.h" line="58"/> 9900 + <return-value transfer-ownership="none"> 9901 + <doc xml:space="preserve" 9902 + filename="libsoup/soup-message-metrics.c" 9903 + line="304">the request body bytes sent</doc> 9904 + <type name="guint64" c:type="guint64"/> 9905 + </return-value> 9906 + <parameters> 9907 + <instance-parameter name="metrics" transfer-ownership="none"> 9908 + <doc xml:space="preserve" 9909 + filename="libsoup/soup-message-metrics.c" 9910 + line="294">a #SoupMessageMetrics</doc> 9911 + <type name="MessageMetrics" c:type="SoupMessageMetrics*"/> 9912 + </instance-parameter> 9913 + </parameters> 9914 + </method> 9915 + <method name="get_request_body_size" 9916 + c:identifier="soup_message_metrics_get_request_body_size"> 9917 + <doc xml:space="preserve" 9918 + filename="libsoup/soup-message-metrics.c" 9919 + line="272">Get the request body size in bytes. This is the size of the original body 9920 + given to the request before any encoding is applied. 9921 + 9922 + This value is available right before [signal@Message::wrote-body] signal is 9923 + emitted, but you might get an intermediate value if called before.</doc> 9924 + <source-position filename="libsoup/soup-message-metrics.h" line="55"/> 9925 + <return-value transfer-ownership="none"> 9926 + <doc xml:space="preserve" 9927 + filename="libsoup/soup-message-metrics.c" 9928 + line="282">the request body size</doc> 9929 + <type name="guint64" c:type="guint64"/> 9930 + </return-value> 9931 + <parameters> 9932 + <instance-parameter name="metrics" transfer-ownership="none"> 9933 + <doc xml:space="preserve" 9934 + filename="libsoup/soup-message-metrics.c" 9935 + line="274">a #SoupMessageMetrics</doc> 9936 + <type name="MessageMetrics" c:type="SoupMessageMetrics*"/> 9937 + </instance-parameter> 9938 + </parameters> 9939 + </method> 9940 + <method name="get_request_header_bytes_sent" 9941 + c:identifier="soup_message_metrics_get_request_header_bytes_sent"> 9942 + <doc xml:space="preserve" 9943 + filename="libsoup/soup-message-metrics.c" 9944 + line="253">Get the number of bytes sent to the network for the request headers. 9945 + 9946 + This value is available right before [signal@Message::wrote-headers] signal 9947 + is emitted, but you might get an intermediate value if called before.</doc> 9948 + <source-position filename="libsoup/soup-message-metrics.h" line="52"/> 9949 + <return-value transfer-ownership="none"> 9950 + <doc xml:space="preserve" 9951 + filename="libsoup/soup-message-metrics.c" 9952 + line="262">the request headers bytes sent</doc> 9953 + <type name="guint64" c:type="guint64"/> 9954 + </return-value> 9955 + <parameters> 9956 + <instance-parameter name="metrics" transfer-ownership="none"> 9957 + <doc xml:space="preserve" 9958 + filename="libsoup/soup-message-metrics.c" 9959 + line="255">a #SoupMessageMetrics</doc> 9960 + <type name="MessageMetrics" c:type="SoupMessageMetrics*"/> 9961 + </instance-parameter> 9962 + </parameters> 9963 + </method> 9964 + <method name="get_request_start" 9965 + c:identifier="soup_message_metrics_get_request_start"> 9966 + <doc xml:space="preserve" 9967 + filename="libsoup/soup-message-metrics.c" 9968 + line="199">Get the time immediately before the [class@Message] started the 9969 + request of the resource from the server or the local disk cache.</doc> 9970 + <source-position filename="libsoup/soup-message-metrics.h" line="43"/> 9971 + <return-value transfer-ownership="none"> 9972 + <doc xml:space="preserve" 9973 + filename="libsoup/soup-message-metrics.c" 9974 + line="206">the request start time</doc> 9975 + <type name="guint64" c:type="guint64"/> 9976 + </return-value> 9977 + <parameters> 9978 + <instance-parameter name="metrics" transfer-ownership="none"> 9979 + <doc xml:space="preserve" 9980 + filename="libsoup/soup-message-metrics.c" 9981 + line="201">a #SoupMessageMetrics</doc> 9982 + <type name="MessageMetrics" c:type="SoupMessageMetrics*"/> 9983 + </instance-parameter> 9984 + </parameters> 9985 + </method> 9986 + <method name="get_response_body_bytes_received" 9987 + c:identifier="soup_message_metrics_get_response_body_bytes_received"> 9988 + <doc xml:space="preserve" 9989 + filename="libsoup/soup-message-metrics.c" 9990 + line="356">Get the number of bytes received from the network for the response body. 9991 + 9992 + This value is available right before [signal@Message::got-body] signal is 9993 + emitted, but you might get an intermediate value if called before. For 9994 + resources loaded from the disk cache this value is always 0.</doc> 9995 + <source-position filename="libsoup/soup-message-metrics.h" line="67"/> 9996 + <return-value transfer-ownership="none"> 9997 + <doc xml:space="preserve" 9998 + filename="libsoup/soup-message-metrics.c" 9999 + line="366">the response body bytes received</doc> 10000 + <type name="guint64" c:type="guint64"/> 10001 + </return-value> 10002 + <parameters> 10003 + <instance-parameter name="metrics" transfer-ownership="none"> 10004 + <doc xml:space="preserve" 10005 + filename="libsoup/soup-message-metrics.c" 10006 + line="358">a #SoupMessageMetrics</doc> 10007 + <type name="MessageMetrics" c:type="SoupMessageMetrics*"/> 10008 + </instance-parameter> 10009 + </parameters> 10010 + </method> 10011 + <method name="get_response_body_size" 10012 + c:identifier="soup_message_metrics_get_response_body_size"> 10013 + <doc xml:space="preserve" 10014 + filename="libsoup/soup-message-metrics.c" 10015 + line="334">Get the response body size in bytes. 10016 + 10017 + This is the size of the body as given to the user after all encodings are 10018 + applied, so it might be greater than the value returned by 10019 + [method@MessageMetrics.get_response_body_bytes_received]. This value is 10020 + available right before [signal@Message::got-body] signal is emitted, but you 10021 + might get an intermediate value if called before.</doc> 10022 + <source-position filename="libsoup/soup-message-metrics.h" line="64"/> 10023 + <return-value transfer-ownership="none"> 10024 + <doc xml:space="preserve" 10025 + filename="libsoup/soup-message-metrics.c" 10026 + line="346">the response body size</doc> 10027 + <type name="guint64" c:type="guint64"/> 10028 + </return-value> 10029 + <parameters> 10030 + <instance-parameter name="metrics" transfer-ownership="none"> 10031 + <doc xml:space="preserve" 10032 + filename="libsoup/soup-message-metrics.c" 10033 + line="336">a #SoupMessageMetrics</doc> 10034 + <type name="MessageMetrics" c:type="SoupMessageMetrics*"/> 10035 + </instance-parameter> 10036 + </parameters> 10037 + </method> 10038 + <method name="get_response_end" 10039 + c:identifier="soup_message_metrics_get_response_end"> 10040 + <doc xml:space="preserve" 10041 + filename="libsoup/soup-message-metrics.c" 10042 + line="233">Get the time immediately after the [class@Message] received the last 10043 + bytes of the response from the server or the local disk cache. 10044 + 10045 + In case of load failure, this returns the time immediately before the 10046 + fetch is aborted.</doc> 10047 + <source-position filename="libsoup/soup-message-metrics.h" line="49"/> 10048 + <return-value transfer-ownership="none"> 10049 + <doc xml:space="preserve" 10050 + filename="libsoup/soup-message-metrics.c" 10051 + line="243">the response end time</doc> 10052 + <type name="guint64" c:type="guint64"/> 10053 + </return-value> 10054 + <parameters> 10055 + <instance-parameter name="metrics" transfer-ownership="none"> 10056 + <doc xml:space="preserve" 10057 + filename="libsoup/soup-message-metrics.c" 10058 + line="235">a #SoupMessageMetrics</doc> 10059 + <type name="MessageMetrics" c:type="SoupMessageMetrics*"/> 10060 + </instance-parameter> 10061 + </parameters> 10062 + </method> 10063 + <method name="get_response_header_bytes_received" 10064 + c:identifier="soup_message_metrics_get_response_header_bytes_received"> 10065 + <doc xml:space="preserve" 10066 + filename="libsoup/soup-message-metrics.c" 10067 + line="314">Get the number of bytes received from the network for the response headers. 10068 + 10069 + This value is available right before [signal@Message::got-headers] signal 10070 + is emitted, but you might get an intermediate value if called before. 10071 + For resources loaded from the disk cache this value is always 0.</doc> 10072 + <source-position filename="libsoup/soup-message-metrics.h" line="61"/> 10073 + <return-value transfer-ownership="none"> 10074 + <doc xml:space="preserve" 10075 + filename="libsoup/soup-message-metrics.c" 10076 + line="324">the response headers bytes received</doc> 10077 + <type name="guint64" c:type="guint64"/> 10078 + </return-value> 10079 + <parameters> 10080 + <instance-parameter name="metrics" transfer-ownership="none"> 10081 + <doc xml:space="preserve" 10082 + filename="libsoup/soup-message-metrics.c" 10083 + line="316">a #SoupMessageMetrics</doc> 10084 + <type name="MessageMetrics" c:type="SoupMessageMetrics*"/> 10085 + </instance-parameter> 10086 + </parameters> 10087 + </method> 10088 + <method name="get_response_start" 10089 + c:identifier="soup_message_metrics_get_response_start"> 10090 + <doc xml:space="preserve" 10091 + filename="libsoup/soup-message-metrics.c" 10092 + line="216">Get the time immediately after the [class@Message] received the first 10093 + bytes of the response from the server or the local disk cache.</doc> 10094 + <source-position filename="libsoup/soup-message-metrics.h" line="46"/> 10095 + <return-value transfer-ownership="none"> 10096 + <doc xml:space="preserve" 10097 + filename="libsoup/soup-message-metrics.c" 10098 + line="223">the response start time</doc> 10099 + <type name="guint64" c:type="guint64"/> 10100 + </return-value> 10101 + <parameters> 10102 + <instance-parameter name="metrics" transfer-ownership="none"> 10103 + <doc xml:space="preserve" 10104 + filename="libsoup/soup-message-metrics.c" 10105 + line="218">a #SoupMessageMetrics</doc> 10106 + <type name="MessageMetrics" c:type="SoupMessageMetrics*"/> 10107 + </instance-parameter> 10108 + </parameters> 10109 + </method> 10110 + <method name="get_tls_start" 10111 + c:identifier="soup_message_metrics_get_tls_start"> 10112 + <doc xml:space="preserve" 10113 + filename="libsoup/soup-message-metrics.c" 10114 + line="178">Get the time immediately before the [class@Message] started the 10115 + TLS handshake. 10116 + 10117 + It will be 0 if no TLS handshake was required to fetch the resource 10118 + (connection was not secure, a persistent connection was used or resource was 10119 + loaded from the local disk cache).</doc> 10120 + <source-position filename="libsoup/soup-message-metrics.h" line="40"/> 10121 + <return-value transfer-ownership="none"> 10122 + <doc xml:space="preserve" 10123 + filename="libsoup/soup-message-metrics.c" 10124 + line="189">the tls start time</doc> 10125 + <type name="guint64" c:type="guint64"/> 10126 + </return-value> 10127 + <parameters> 10128 + <instance-parameter name="metrics" transfer-ownership="none"> 10129 + <doc xml:space="preserve" 10130 + filename="libsoup/soup-message-metrics.c" 10131 + line="180">a #SoupMessageMetrics</doc> 10132 + <type name="MessageMetrics" c:type="SoupMessageMetrics*"/> 10133 + </instance-parameter> 10134 + </parameters> 10135 + </method> 10136 + </record> 10137 + <enumeration name="MessagePriority" 10138 + glib:type-name="SoupMessagePriority" 10139 + glib:get-type="soup_message_priority_get_type" 10140 + c:type="SoupMessagePriority"> 10141 + <doc xml:space="preserve" 10142 + filename="libsoup/soup-message.c" 10143 + line="2643">Priorities that can be set on a [class@Message] to instruct the message queue 10144 + to process it before any other message with lower priority.</doc> 10145 + <member name="very_low" 10146 + value="0" 10147 + c:identifier="SOUP_MESSAGE_PRIORITY_VERY_LOW" 10148 + glib:nick="very-low" 10149 + glib:name="SOUP_MESSAGE_PRIORITY_VERY_LOW"> 10150 + <doc xml:space="preserve" 10151 + filename="libsoup/soup-message.c" 10152 + line="2645">The lowest priority, the messages 10153 + with this priority will be the last ones to be attended.</doc> 10154 + </member> 10155 + <member name="low" 10156 + value="1" 10157 + c:identifier="SOUP_MESSAGE_PRIORITY_LOW" 10158 + glib:nick="low" 10159 + glib:name="SOUP_MESSAGE_PRIORITY_LOW"> 10160 + <doc xml:space="preserve" 10161 + filename="libsoup/soup-message.c" 10162 + line="2647">Use this for low priority messages, a 10163 + #SoupMessage with the default priority will be processed first.</doc> 10164 + </member> 10165 + <member name="normal" 10166 + value="2" 10167 + c:identifier="SOUP_MESSAGE_PRIORITY_NORMAL" 10168 + glib:nick="normal" 10169 + glib:name="SOUP_MESSAGE_PRIORITY_NORMAL"> 10170 + <doc xml:space="preserve" 10171 + filename="libsoup/soup-message.c" 10172 + line="2649">The default priotity, this is the 10173 + priority assigned to the #SoupMessage by default.</doc> 10174 + </member> 10175 + <member name="high" 10176 + value="3" 10177 + c:identifier="SOUP_MESSAGE_PRIORITY_HIGH" 10178 + glib:nick="high" 10179 + glib:name="SOUP_MESSAGE_PRIORITY_HIGH"> 10180 + <doc xml:space="preserve" 10181 + filename="libsoup/soup-message.c" 10182 + line="2651">High priority, a #SoupMessage with 10183 + this priority will be processed before the ones with the default 10184 + priority.</doc> 10185 + </member> 10186 + <member name="very_high" 10187 + value="4" 10188 + c:identifier="SOUP_MESSAGE_PRIORITY_VERY_HIGH" 10189 + glib:nick="very-high" 10190 + glib:name="SOUP_MESSAGE_PRIORITY_VERY_HIGH"> 10191 + <doc xml:space="preserve" 10192 + filename="libsoup/soup-message.c" 10193 + line="2654">The highest priority, use this 10194 + for very urgent #SoupMessage as they will be the first ones to be 10195 + attended.</doc> 10196 + </member> 10197 + </enumeration> 10198 + <record name="Multipart" 10199 + c:type="SoupMultipart" 10200 + opaque="1" 10201 + glib:type-name="SoupMultipart" 10202 + glib:get-type="soup_multipart_get_type" 10203 + c:symbol-prefix="multipart"> 10204 + <doc xml:space="preserve" 10205 + filename="libsoup/soup-multipart.c" 10206 + line="19">Represents a multipart HTTP message body, parsed according to the 10207 + syntax of RFC 2046. 10208 + 10209 + Of particular interest to HTTP are `multipart/byte-ranges` and 10210 + `multipart/form-data`, 10211 + 10212 + Although the headers of a #SoupMultipart body part will contain the 10213 + full headers from that body part, libsoup does not interpret them 10214 + according to MIME rules. For example, each body part is assumed to 10215 + have "binary" Content-Transfer-Encoding, even if its headers 10216 + explicitly state otherwise. In other words, don't try to use 10217 + #SoupMultipart for handling real MIME multiparts.</doc> 10218 + <source-position filename="libsoup/soup-multipart.h" line="14"/> 10219 + <constructor name="new" c:identifier="soup_multipart_new"> 10220 + <doc xml:space="preserve" 10221 + filename="libsoup/soup-multipart.c" 10222 + line="72">Creates a new empty #SoupMultipart with a randomly-generated 10223 + boundary string. 10224 + 10225 + Note that @mime_type must be the full MIME type, including "multipart/". 10226 + 10227 + See also: [ctor@Message.new_from_multipart].</doc> 10228 + <source-position filename="libsoup/soup-multipart.h" line="21"/> 10229 + <return-value transfer-ownership="full"> 10230 + <doc xml:space="preserve" 10231 + filename="libsoup/soup-multipart.c" 10232 + line="83">a new empty #SoupMultipart of the given @mime_type</doc> 10233 + <type name="Multipart" c:type="SoupMultipart*"/> 10234 + </return-value> 10235 + <parameters> 10236 + <parameter name="mime_type" transfer-ownership="none"> 10237 + <doc xml:space="preserve" 10238 + filename="libsoup/soup-multipart.c" 10239 + line="74">the MIME type of the multipart to create.</doc> 10240 + <type name="utf8" c:type="const char*"/> 10241 + </parameter> 10242 + </parameters> 10243 + </constructor> 10244 + <constructor name="new_from_message" 10245 + c:identifier="soup_multipart_new_from_message"> 10246 + <doc xml:space="preserve" 10247 + filename="libsoup/soup-multipart.c" 10248 + line="118">Parses @headers and @body to form a new #SoupMultipart</doc> 10249 + <source-position filename="libsoup/soup-multipart.h" line="23"/> 10250 + <return-value transfer-ownership="full" nullable="1"> 10251 + <doc xml:space="preserve" 10252 + filename="libsoup/soup-multipart.c" 10253 + line="125">a new #SoupMultipart (or %NULL if the 10254 + message couldn't be parsed or wasn't multipart).</doc> 10255 + <type name="Multipart" c:type="SoupMultipart*"/> 10256 + </return-value> 10257 + <parameters> 10258 + <parameter name="headers" transfer-ownership="none"> 10259 + <doc xml:space="preserve" 10260 + filename="libsoup/soup-multipart.c" 10261 + line="120">the headers of the HTTP message to parse</doc> 10262 + <type name="MessageHeaders" c:type="SoupMessageHeaders*"/> 10263 + </parameter> 10264 + <parameter name="body" transfer-ownership="none"> 10265 + <doc xml:space="preserve" 10266 + filename="libsoup/soup-multipart.c" 10267 + line="121">the body of the HTTP message to parse</doc> 10268 + <type name="GLib.Bytes" c:type="GBytes*"/> 10269 + </parameter> 10270 + </parameters> 10271 + </constructor> 10272 + <method name="append_form_file" 10273 + c:identifier="soup_multipart_append_form_file"> 10274 + <doc xml:space="preserve" 10275 + filename="libsoup/soup-multipart.c" 10276 + line="329">Adds a new MIME part containing @body to @multipart 10277 + 10278 + Uses "Content-Disposition: form-data", as per the HTML forms specification.</doc> 10279 + <source-position filename="libsoup/soup-multipart.h" line="44"/> 10280 + <return-value transfer-ownership="none"> 10281 + <type name="none" c:type="void"/> 10282 + </return-value> 10283 + <parameters> 10284 + <instance-parameter name="multipart" transfer-ownership="none"> 10285 + <doc xml:space="preserve" 10286 + filename="libsoup/soup-multipart.c" 10287 + line="331">a multipart (presumably of type "multipart/form-data")</doc> 10288 + <type name="Multipart" c:type="SoupMultipart*"/> 10289 + </instance-parameter> 10290 + <parameter name="control_name" transfer-ownership="none"> 10291 + <doc xml:space="preserve" 10292 + filename="libsoup/soup-multipart.c" 10293 + line="332">the name of the control associated with this file</doc> 10294 + <type name="utf8" c:type="const char*"/> 10295 + </parameter> 10296 + <parameter name="filename" 10297 + transfer-ownership="none" 10298 + nullable="1" 10299 + allow-none="1"> 10300 + <doc xml:space="preserve" 10301 + filename="libsoup/soup-multipart.c" 10302 + line="333">the name of the file, or %NULL if not known</doc> 10303 + <type name="utf8" c:type="const char*"/> 10304 + </parameter> 10305 + <parameter name="content_type" 10306 + transfer-ownership="none" 10307 + nullable="1" 10308 + allow-none="1"> 10309 + <doc xml:space="preserve" 10310 + filename="libsoup/soup-multipart.c" 10311 + line="334">the MIME type of the file, or %NULL if not known</doc> 10312 + <type name="utf8" c:type="const char*"/> 10313 + </parameter> 10314 + <parameter name="body" transfer-ownership="none"> 10315 + <doc xml:space="preserve" 10316 + filename="libsoup/soup-multipart.c" 10317 + line="335">the file data</doc> 10318 + <type name="GLib.Bytes" c:type="GBytes*"/> 10319 + </parameter> 10320 + </parameters> 10321 + </method> 10322 + <method name="append_form_string" 10323 + c:identifier="soup_multipart_append_form_string"> 10324 + <doc xml:space="preserve" 10325 + filename="libsoup/soup-multipart.c" 10326 + line="307">Adds a new MIME part containing @data to @multipart. 10327 + 10328 + Uses "Content-Disposition: form-data", as per the HTML forms specification.</doc> 10329 + <source-position filename="libsoup/soup-multipart.h" line="40"/> 10330 + <return-value transfer-ownership="none"> 10331 + <type name="none" c:type="void"/> 10332 + </return-value> 10333 + <parameters> 10334 + <instance-parameter name="multipart" transfer-ownership="none"> 10335 + <doc xml:space="preserve" 10336 + filename="libsoup/soup-multipart.c" 10337 + line="309">a multipart (presumably of type "multipart/form-data")</doc> 10338 + <type name="Multipart" c:type="SoupMultipart*"/> 10339 + </instance-parameter> 10340 + <parameter name="control_name" transfer-ownership="none"> 10341 + <doc xml:space="preserve" 10342 + filename="libsoup/soup-multipart.c" 10343 + line="310">the name of the control associated with @data</doc> 10344 + <type name="utf8" c:type="const char*"/> 10345 + </parameter> 10346 + <parameter name="data" transfer-ownership="none"> 10347 + <doc xml:space="preserve" 10348 + filename="libsoup/soup-multipart.c" 10349 + line="311">the body data</doc> 10350 + <type name="utf8" c:type="const char*"/> 10351 + </parameter> 10352 + </parameters> 10353 + </method> 10354 + <method name="append_part" c:identifier="soup_multipart_append_part"> 10355 + <doc xml:space="preserve" 10356 + filename="libsoup/soup-multipart.c" 10357 + line="255">Adds a new MIME part to @multipart with the given headers and body. 10358 + 10359 + (The multipart will make its own copies of @headers and @body, so 10360 + you should free your copies if you are not using them for anything 10361 + else.)</doc> 10362 + <source-position filename="libsoup/soup-multipart.h" line="35"/> 10363 + <return-value transfer-ownership="none"> 10364 + <type name="none" c:type="void"/> 10365 + </return-value> 10366 + <parameters> 10367 + <instance-parameter name="multipart" transfer-ownership="none"> 10368 + <doc xml:space="preserve" 10369 + filename="libsoup/soup-multipart.c" 10370 + line="257">a #SoupMultipart</doc> 10371 + <type name="Multipart" c:type="SoupMultipart*"/> 10372 + </instance-parameter> 10373 + <parameter name="headers" transfer-ownership="none"> 10374 + <doc xml:space="preserve" 10375 + filename="libsoup/soup-multipart.c" 10376 + line="258">the MIME part headers</doc> 10377 + <type name="MessageHeaders" c:type="SoupMessageHeaders*"/> 10378 + </parameter> 10379 + <parameter name="body" transfer-ownership="none"> 10380 + <doc xml:space="preserve" 10381 + filename="libsoup/soup-multipart.c" 10382 + line="259">the MIME part body</doc> 10383 + <type name="GLib.Bytes" c:type="GBytes*"/> 10384 + </parameter> 10385 + </parameters> 10386 + </method> 10387 + <method name="free" c:identifier="soup_multipart_free"> 10388 + <doc xml:space="preserve" 10389 + filename="libsoup/soup-multipart.c" 10390 + line="429">Frees @multipart.</doc> 10391 + <source-position filename="libsoup/soup-multipart.h" line="56"/> 10392 + <return-value transfer-ownership="none"> 10393 + <type name="none" c:type="void"/> 10394 + </return-value> 10395 + <parameters> 10396 + <instance-parameter name="multipart" transfer-ownership="none"> 10397 + <doc xml:space="preserve" 10398 + filename="libsoup/soup-multipart.c" 10399 + line="431">a #SoupMultipart</doc> 10400 + <type name="Multipart" c:type="SoupMultipart*"/> 10401 + </instance-parameter> 10402 + </parameters> 10403 + </method> 10404 + <method name="get_length" c:identifier="soup_multipart_get_length"> 10405 + <doc xml:space="preserve" 10406 + filename="libsoup/soup-multipart.c" 10407 + line="216">Gets the number of body parts in @multipart.</doc> 10408 + <source-position filename="libsoup/soup-multipart.h" line="27"/> 10409 + <return-value transfer-ownership="none"> 10410 + <doc xml:space="preserve" 10411 + filename="libsoup/soup-multipart.c" 10412 + line="222">the number of body parts in @multipart</doc> 10413 + <type name="gint" c:type="int"/> 10414 + </return-value> 10415 + <parameters> 10416 + <instance-parameter name="multipart" transfer-ownership="none"> 10417 + <doc xml:space="preserve" 10418 + filename="libsoup/soup-multipart.c" 10419 + line="218">a #SoupMultipart</doc> 10420 + <type name="Multipart" c:type="SoupMultipart*"/> 10421 + </instance-parameter> 10422 + </parameters> 10423 + </method> 10424 + <method name="get_part" c:identifier="soup_multipart_get_part"> 10425 + <doc xml:space="preserve" 10426 + filename="libsoup/soup-multipart.c" 10427 + line="230">Gets the indicated body part from @multipart.</doc> 10428 + <source-position filename="libsoup/soup-multipart.h" line="29"/> 10429 + <return-value transfer-ownership="none"> 10430 + <doc xml:space="preserve" 10431 + filename="libsoup/soup-multipart.c" 10432 + line="241">%TRUE on success, %FALSE if @part is out of range (in 10433 + which case @headers and @body won't be set)</doc> 10434 + <type name="gboolean" c:type="gboolean"/> 10435 + </return-value> 10436 + <parameters> 10437 + <instance-parameter name="multipart" transfer-ownership="none"> 10438 + <doc xml:space="preserve" 10439 + filename="libsoup/soup-multipart.c" 10440 + line="232">a #SoupMultipart</doc> 10441 + <type name="Multipart" c:type="SoupMultipart*"/> 10442 + </instance-parameter> 10443 + <parameter name="part" transfer-ownership="none"> 10444 + <doc xml:space="preserve" 10445 + filename="libsoup/soup-multipart.c" 10446 + line="233">the part number to get (counting from 0)</doc> 10447 + <type name="gint" c:type="int"/> 10448 + </parameter> 10449 + <parameter name="headers" 10450 + direction="out" 10451 + caller-allocates="0" 10452 + transfer-ownership="none"> 10453 + <doc xml:space="preserve" 10454 + filename="libsoup/soup-multipart.c" 10455 + line="234">return location for the MIME part 10456 + headers</doc> 10457 + <type name="MessageHeaders" c:type="SoupMessageHeaders**"/> 10458 + </parameter> 10459 + <parameter name="body" 10460 + direction="out" 10461 + caller-allocates="0" 10462 + transfer-ownership="none"> 10463 + <doc xml:space="preserve" 10464 + filename="libsoup/soup-multipart.c" 10465 + line="236">return location for the MIME part 10466 + body</doc> 10467 + <type name="GLib.Bytes" c:type="GBytes**"/> 10468 + </parameter> 10469 + </parameters> 10470 + </method> 10471 + <method name="to_message" c:identifier="soup_multipart_to_message"> 10472 + <doc xml:space="preserve" 10473 + filename="libsoup/soup-multipart.c" 10474 + line="369">Serializes @multipart to @dest_headers and @dest_body.</doc> 10475 + <source-position filename="libsoup/soup-multipart.h" line="51"/> 10476 + <return-value transfer-ownership="none"> 10477 + <type name="none" c:type="void"/> 10478 + </return-value> 10479 + <parameters> 10480 + <instance-parameter name="multipart" transfer-ownership="none"> 10481 + <doc xml:space="preserve" 10482 + filename="libsoup/soup-multipart.c" 10483 + line="371">a #SoupMultipart</doc> 10484 + <type name="Multipart" c:type="SoupMultipart*"/> 10485 + </instance-parameter> 10486 + <parameter name="dest_headers" transfer-ownership="none"> 10487 + <doc xml:space="preserve" 10488 + filename="libsoup/soup-multipart.c" 10489 + line="372">the headers of the HTTP message to serialize @multipart to</doc> 10490 + <type name="MessageHeaders" c:type="SoupMessageHeaders*"/> 10491 + </parameter> 10492 + <parameter name="dest_body" 10493 + direction="out" 10494 + caller-allocates="0" 10495 + transfer-ownership="full"> 10496 + <doc xml:space="preserve" 10497 + filename="libsoup/soup-multipart.c" 10498 + line="373">the body of the HTTP message to serialize @multipart to</doc> 10499 + <type name="GLib.Bytes" c:type="GBytes**"/> 10500 + </parameter> 10501 + </parameters> 10502 + </method> 10503 + </record> 10504 + <class name="MultipartInputStream" 10505 + c:symbol-prefix="multipart_input_stream" 10506 + c:type="SoupMultipartInputStream" 10507 + parent="Gio.FilterInputStream" 10508 + final="1" 10509 + glib:type-name="SoupMultipartInputStream" 10510 + glib:get-type="soup_multipart_input_stream_get_type" 10511 + glib:type-struct="MultipartInputStreamClass"> 10512 + <doc xml:space="preserve" 10513 + filename="libsoup/soup-multipart-input-stream.c" 10514 + line="23">Handles streams of multipart messages. 10515 + 10516 + This adds support for the multipart responses. For handling the 10517 + multiple parts the user needs to wrap the [class@Gio.InputStream] obtained by 10518 + sending the request with a [class@MultipartInputStream] and use 10519 + [method@MultipartInputStream.next_part] before reading. Responses 10520 + which are not wrapped will be treated like non-multipart responses. 10521 + 10522 + Note that although #SoupMultipartInputStream is a [class@Gio.InputStream], 10523 + you should not read directly from it, and the results are undefined 10524 + if you do.</doc> 10525 + <source-position filename="libsoup/soup-multipart-input-stream.h" 10526 + line="15"/> 10527 + <implements name="Gio.PollableInputStream"/> 10528 + <constructor name="new" c:identifier="soup_multipart_input_stream_new"> 10529 + <doc xml:space="preserve" 10530 + filename="libsoup/soup-multipart-input-stream.c" 10531 + line="429">Creates a new #SoupMultipartInputStream that wraps the 10532 + [class@Gio.InputStream] obtained by sending the [class@Message]. 10533 + 10534 + Reads should not be done directly through this object, use the input streams 10535 + returned by [method@MultipartInputStream.next_part] or its async 10536 + counterpart instead.</doc> 10537 + <source-position filename="libsoup/soup-multipart-input-stream.h" 10538 + line="18"/> 10539 + <return-value transfer-ownership="full"> 10540 + <doc xml:space="preserve" 10541 + filename="libsoup/soup-multipart-input-stream.c" 10542 + line="441">a new #SoupMultipartInputStream</doc> 10543 + <type name="MultipartInputStream" 10544 + c:type="SoupMultipartInputStream*"/> 10545 + </return-value> 10546 + <parameters> 10547 + <parameter name="msg" transfer-ownership="none"> 10548 + <doc xml:space="preserve" 10549 + filename="libsoup/soup-multipart-input-stream.c" 10550 + line="431">the #SoupMessage the response is related to.</doc> 10551 + <type name="Message" c:type="SoupMessage*"/> 10552 + </parameter> 10553 + <parameter name="base_stream" transfer-ownership="none"> 10554 + <doc xml:space="preserve" 10555 + filename="libsoup/soup-multipart-input-stream.c" 10556 + line="432">the #GInputStream returned by sending the request.</doc> 10557 + <type name="Gio.InputStream" c:type="GInputStream*"/> 10558 + </parameter> 10559 + </parameters> 10560 + </constructor> 10561 + <method name="get_headers" 10562 + c:identifier="soup_multipart_input_stream_get_headers"> 10563 + <doc xml:space="preserve" 10564 + filename="libsoup/soup-multipart-input-stream.c" 10565 + line="577">Obtains the headers for the part currently being processed. 10566 + 10567 + Note that the [struct@MessageHeaders] that are returned are owned by the 10568 + #SoupMultipartInputStream and will be replaced when a call is made to 10569 + [method@MultipartInputStream.next_part] or its async counterpart, so if 10570 + keeping the headers is required, a copy must be made. 10571 + 10572 + Note that if a part had no headers at all an empty [struct@MessageHeaders] 10573 + will be returned.</doc> 10574 + <source-position filename="libsoup/soup-multipart-input-stream.h" 10575 + line="39"/> 10576 + <return-value transfer-ownership="none" nullable="1"> 10577 + <doc xml:space="preserve" 10578 + filename="libsoup/soup-multipart-input-stream.c" 10579 + line="591">a #SoupMessageHeaders 10580 + containing the headers for the part currently being processed or 10581 + %NULL if the headers failed to parse.</doc> 10582 + <type name="MessageHeaders" c:type="SoupMessageHeaders*"/> 10583 + </return-value> 10584 + <parameters> 10585 + <instance-parameter name="multipart" transfer-ownership="none"> 10586 + <doc xml:space="preserve" 10587 + filename="libsoup/soup-multipart-input-stream.c" 10588 + line="579">a #SoupMultipartInputStream.</doc> 10589 + <type name="MultipartInputStream" 10590 + c:type="SoupMultipartInputStream*"/> 10591 + </instance-parameter> 10592 + </parameters> 10593 + </method> 10594 + <method name="next_part" 10595 + c:identifier="soup_multipart_input_stream_next_part" 10596 + throws="1" 10597 + glib:async-func="next_part_async"> 10598 + <doc xml:space="preserve" 10599 + filename="libsoup/soup-multipart-input-stream.c" 10600 + line="453">Obtains an input stream for the next part. 10601 + 10602 + When dealing with a multipart response the input stream needs to be wrapped 10603 + in a #SoupMultipartInputStream and this function or its async counterpart 10604 + need to be called to obtain the first part for reading. 10605 + 10606 + After calling this function, 10607 + [method@MultipartInputStream.get_headers] can be used to obtain the 10608 + headers for the first part. A read of 0 bytes indicates the end of 10609 + the part; a new call to this function should be done at that point, 10610 + to obtain the next part.</doc> 10611 + <source-position filename="libsoup/soup-multipart-input-stream.h" 10612 + line="22"/> 10613 + <return-value transfer-ownership="full" nullable="1"> 10614 + <doc xml:space="preserve" 10615 + filename="libsoup/soup-multipart-input-stream.c" 10616 + line="471">a new #GInputStream, or 10617 + %NULL if there are no more parts</doc> 10618 + <type name="Gio.InputStream" c:type="GInputStream*"/> 10619 + </return-value> 10620 + <parameters> 10621 + <instance-parameter name="multipart" transfer-ownership="none"> 10622 + <doc xml:space="preserve" 10623 + filename="libsoup/soup-multipart-input-stream.c" 10624 + line="455">the #SoupMultipartInputStream</doc> 10625 + <type name="MultipartInputStream" 10626 + c:type="SoupMultipartInputStream*"/> 10627 + </instance-parameter> 10628 + <parameter name="cancellable" 10629 + transfer-ownership="none" 10630 + nullable="1" 10631 + allow-none="1"> 10632 + <doc xml:space="preserve" 10633 + filename="libsoup/soup-multipart-input-stream.c" 10634 + line="456">a #GCancellable</doc> 10635 + <type name="Gio.Cancellable" c:type="GCancellable*"/> 10636 + </parameter> 10637 + </parameters> 10638 + </method> 10639 + <method name="next_part_async" 10640 + c:identifier="soup_multipart_input_stream_next_part_async" 10641 + glib:finish-func="next_part_finish" 10642 + glib:sync-func="next_part"> 10643 + <doc xml:space="preserve" 10644 + filename="libsoup/soup-multipart-input-stream.c" 10645 + line="516">Obtains a [class@Gio.InputStream] for the next request. 10646 + 10647 + See [method@MultipartInputStream.next_part] for details on the workflow.</doc> 10648 + <source-position filename="libsoup/soup-multipart-input-stream.h" 10649 + line="27"/> 10650 + <return-value transfer-ownership="none"> 10651 + <type name="none" c:type="void"/> 10652 + </return-value> 10653 + <parameters> 10654 + <instance-parameter name="multipart" transfer-ownership="none"> 10655 + <doc xml:space="preserve" 10656 + filename="libsoup/soup-multipart-input-stream.c" 10657 + line="518">the #SoupMultipartInputStream.</doc> 10658 + <type name="MultipartInputStream" 10659 + c:type="SoupMultipartInputStream*"/> 10660 + </instance-parameter> 10661 + <parameter name="io_priority" transfer-ownership="none"> 10662 + <doc xml:space="preserve" 10663 + filename="libsoup/soup-multipart-input-stream.c" 10664 + line="519">the I/O priority for the request.</doc> 10665 + <type name="gint" c:type="int"/> 10666 + </parameter> 10667 + <parameter name="cancellable" 10668 + transfer-ownership="none" 10669 + nullable="1" 10670 + allow-none="1"> 10671 + <doc xml:space="preserve" 10672 + filename="libsoup/soup-multipart-input-stream.c" 10673 + line="520">a #GCancellable.</doc> 10674 + <type name="Gio.Cancellable" c:type="GCancellable*"/> 10675 + </parameter> 10676 + <parameter name="callback" 10677 + transfer-ownership="none" 10678 + nullable="1" 10679 + allow-none="1" 10680 + scope="async" 10681 + closure="3"> 10682 + <doc xml:space="preserve" 10683 + filename="libsoup/soup-multipart-input-stream.c" 10684 + line="521">callback to call when request is satisfied.</doc> 10685 + <type name="Gio.AsyncReadyCallback" c:type="GAsyncReadyCallback"/> 10686 + </parameter> 10687 + <parameter name="data" 10688 + transfer-ownership="none" 10689 + nullable="1" 10690 + allow-none="1"> 10691 + <doc xml:space="preserve" 10692 + filename="libsoup/soup-multipart-input-stream.c" 10693 + line="522">data for @callback</doc> 10694 + <type name="gpointer" c:type="gpointer"/> 10695 + </parameter> 10696 + </parameters> 10697 + </method> 10698 + <method name="next_part_finish" 10699 + c:identifier="soup_multipart_input_stream_next_part_finish" 10700 + throws="1"> 10701 + <doc xml:space="preserve" 10702 + filename="libsoup/soup-multipart-input-stream.c" 10703 + line="555">Finishes an asynchronous request for the next part.</doc> 10704 + <source-position filename="libsoup/soup-multipart-input-stream.h" 10705 + line="34"/> 10706 + <return-value transfer-ownership="full" nullable="1"> 10707 + <doc xml:space="preserve" 10708 + filename="libsoup/soup-multipart-input-stream.c" 10709 + line="563">a newly created 10710 + [class@Gio.InputStream] for reading the next part or %NULL if there are no 10711 + more parts.</doc> 10712 + <type name="Gio.InputStream" c:type="GInputStream*"/> 10713 + </return-value> 10714 + <parameters> 10715 + <instance-parameter name="multipart" transfer-ownership="none"> 10716 + <doc xml:space="preserve" 10717 + filename="libsoup/soup-multipart-input-stream.c" 10718 + line="557">a #SoupMultipartInputStream.</doc> 10719 + <type name="MultipartInputStream" 10720 + c:type="SoupMultipartInputStream*"/> 10721 + </instance-parameter> 10722 + <parameter name="result" transfer-ownership="none"> 10723 + <doc xml:space="preserve" 10724 + filename="libsoup/soup-multipart-input-stream.c" 10725 + line="558">a #GAsyncResult.</doc> 10726 + <type name="Gio.AsyncResult" c:type="GAsyncResult*"/> 10727 + </parameter> 10728 + </parameters> 10729 + </method> 10730 + <property name="message" 10731 + writable="1" 10732 + construct-only="1" 10733 + transfer-ownership="none"> 10734 + <doc xml:space="preserve" 10735 + filename="libsoup/soup-multipart-input-stream.c" 10736 + line="307">The [class@Message].</doc> 10737 + <type name="Message"/> 10738 + </property> 10739 + </class> 10740 + <record name="MultipartInputStreamClass" 10741 + c:type="SoupMultipartInputStreamClass" 10742 + glib:is-gtype-struct-for="MultipartInputStream"> 10743 + <source-position filename="libsoup/soup-multipart-input-stream.h" 10744 + line="15"/> 10745 + <field name="parent_class"> 10746 + <type name="Gio.FilterInputStreamClass" 10747 + c:type="GFilterInputStreamClass"/> 10748 + </field> 10749 + </record> 10750 + <record name="Range" c:type="SoupRange"> 10751 + <doc xml:space="preserve" 10752 + filename="libsoup/soup-message-headers.c" 10753 + line="1098">Represents a byte range as used in the Range header. 10754 + 10755 + If @end is non-negative, then @start and @end represent the bounds 10756 + of of the range, counting from 0. (Eg, the first 500 bytes would be 10757 + represented as @start = 0 and @end = 499.) 10758 + 10759 + If @end is -1 and @start is non-negative, then this represents a 10760 + range starting at @start and ending with the last byte of the 10761 + requested resource body. (Eg, all but the first 500 bytes would be 10762 + @start = 500, and @end = -1.) 10763 + 10764 + If @end is -1 and @start is negative, then it represents a "suffix 10765 + range", referring to the last -@start bytes of the resource body. 10766 + (Eg, the last 500 bytes would be @start = -500 and @end = -1.)</doc> 10767 + <source-position filename="libsoup/soup-message-headers.h" line="127"/> 10768 + <field name="start" writable="1"> 10769 + <doc xml:space="preserve" 10770 + filename="libsoup/soup-message-headers.c" 10771 + line="1100">the start of the range</doc> 10772 + <type name="gint64" c:type="goffset"/> 10773 + </field> 10774 + <field name="end" writable="1"> 10775 + <doc xml:space="preserve" 10776 + filename="libsoup/soup-message-headers.c" 10777 + line="1101">the end of the range</doc> 10778 + <type name="gint64" c:type="goffset"/> 10779 + </field> 10780 + </record> 10781 + <function-macro name="STATUS_IS_CLIENT_ERROR" 10782 + c:identifier="SOUP_STATUS_IS_CLIENT_ERROR" 10783 + introspectable="0"> 10784 + <doc xml:space="preserve" 10785 + filename="libsoup/soup-status.c" 10786 + line="39">Tests if @status is a Client Error (4xx) response.</doc> 10787 + <source-position filename="libsoup/soup-status.h" line="17"/> 10788 + <parameters> 10789 + <parameter name="status"> 10790 + <doc xml:space="preserve" 10791 + filename="libsoup/soup-status.c" 10792 + line="41">an HTTP status code</doc> 10793 + </parameter> 10794 + </parameters> 10795 + </function-macro> 10796 + <function-macro name="STATUS_IS_INFORMATIONAL" 10797 + c:identifier="SOUP_STATUS_IS_INFORMATIONAL" 10798 + introspectable="0"> 10799 + <doc xml:space="preserve" 10800 + filename="libsoup/soup-status.c" 10801 + line="15">Tests if @status is an Informational (1xx) response.</doc> 10802 + <source-position filename="libsoup/soup-status.h" line="14"/> 10803 + <parameters> 10804 + <parameter name="status"> 10805 + <doc xml:space="preserve" 10806 + filename="libsoup/soup-status.c" 10807 + line="17">an HTTP status code</doc> 10808 + </parameter> 10809 + </parameters> 10810 + </function-macro> 10811 + <function-macro name="STATUS_IS_REDIRECTION" 10812 + c:identifier="SOUP_STATUS_IS_REDIRECTION" 10813 + introspectable="0"> 10814 + <doc xml:space="preserve" 10815 + filename="libsoup/soup-status.c" 10816 + line="31">Tests if @status is a Redirection (3xx) response.</doc> 10817 + <source-position filename="libsoup/soup-status.h" line="16"/> 10818 + <parameters> 10819 + <parameter name="status"> 10820 + <doc xml:space="preserve" 10821 + filename="libsoup/soup-status.c" 10822 + line="33">an HTTP status code</doc> 10823 + </parameter> 10824 + </parameters> 10825 + </function-macro> 10826 + <function-macro name="STATUS_IS_SERVER_ERROR" 10827 + c:identifier="SOUP_STATUS_IS_SERVER_ERROR" 10828 + introspectable="0"> 10829 + <doc xml:space="preserve" 10830 + filename="libsoup/soup-status.c" 10831 + line="47">Tests if @status is a Server Error (5xx) response.</doc> 10832 + <source-position filename="libsoup/soup-status.h" line="18"/> 10833 + <parameters> 10834 + <parameter name="status"> 10835 + <doc xml:space="preserve" 10836 + filename="libsoup/soup-status.c" 10837 + line="49">an HTTP status code</doc> 10838 + </parameter> 10839 + </parameters> 10840 + </function-macro> 10841 + <function-macro name="STATUS_IS_SUCCESSFUL" 10842 + c:identifier="SOUP_STATUS_IS_SUCCESSFUL" 10843 + introspectable="0"> 10844 + <doc xml:space="preserve" 10845 + filename="libsoup/soup-status.c" 10846 + line="23">Tests if @status is a Successful (2xx) response.</doc> 10847 + <source-position filename="libsoup/soup-status.h" line="15"/> 10848 + <parameters> 10849 + <parameter name="status"> 10850 + <doc xml:space="preserve" 10851 + filename="libsoup/soup-status.c" 10852 + line="25">an HTTP status code</doc> 10853 + </parameter> 10854 + </parameters> 10855 + </function-macro> 10856 + <enumeration name="SameSitePolicy" 10857 + glib:type-name="SoupSameSitePolicy" 10858 + glib:get-type="soup_same_site_policy_get_type" 10859 + c:type="SoupSameSitePolicy"> 10860 + <doc xml:space="preserve" 10861 + filename="libsoup/cookies/soup-cookie.h" 10862 + line="12">Represents the same-site policies of a cookie.</doc> 10863 + <member name="none" 10864 + value="0" 10865 + c:identifier="SOUP_SAME_SITE_POLICY_NONE" 10866 + glib:nick="none" 10867 + glib:name="SOUP_SAME_SITE_POLICY_NONE"> 10868 + <doc xml:space="preserve" 10869 + filename="libsoup/cookies/soup-cookie.h" 10870 + line="14">The cookie is exposed with both cross-site and same-site requests</doc> 10871 + </member> 10872 + <member name="lax" 10873 + value="1" 10874 + c:identifier="SOUP_SAME_SITE_POLICY_LAX" 10875 + glib:nick="lax" 10876 + glib:name="SOUP_SAME_SITE_POLICY_LAX"> 10877 + <doc xml:space="preserve" 10878 + filename="libsoup/cookies/soup-cookie.h" 10879 + line="15">The cookie is withheld on cross-site requests but exposed on cross-site navigations</doc> 10880 + </member> 10881 + <member name="strict" 10882 + value="2" 10883 + c:identifier="SOUP_SAME_SITE_POLICY_STRICT" 10884 + glib:nick="strict" 10885 + glib:name="SOUP_SAME_SITE_POLICY_STRICT"> 10886 + <doc xml:space="preserve" 10887 + filename="libsoup/cookies/soup-cookie.h" 10888 + line="16">The cookie is only exposed for same-site requests</doc> 10889 + </member> 10890 + </enumeration> 10891 + <class name="Server" 10892 + c:symbol-prefix="server" 10893 + c:type="SoupServer" 10894 + parent="GObject.Object" 10895 + glib:type-name="SoupServer" 10896 + glib:get-type="soup_server_get_type" 10897 + glib:type-struct="ServerClass"> 10898 + <doc xml:space="preserve" 10899 + filename="libsoup/server/soup-server.c" 10900 + line="28">A HTTP server. 10901 + 10902 + #SoupServer implements a simple HTTP server. 10903 + 10904 + To begin, create a server using [ctor@Server.new]. Add at least one 10905 + handler by calling [method@Server.add_handler] or 10906 + [method@Server.add_early_handler]; the handler will be called to 10907 + process any requests underneath the path you pass. (If you want all 10908 + requests to go to the same handler, just pass "/" (or %NULL) for 10909 + the path.) 10910 + 10911 + When a new connection is accepted (or a new request is started on 10912 + an existing persistent connection), the #SoupServer will emit 10913 + [signal@Server::request-started] and then begin processing the request 10914 + as described below, but note that once the message is assigned a 10915 + status-code, then callbacks after that point will be 10916 + skipped. Note also that it is not defined when the callbacks happen 10917 + relative to various [class@ServerMessage] signals. 10918 + 10919 + Once the headers have been read, #SoupServer will check if there is 10920 + a [class@AuthDomain] `(qv)` covering the Request-URI; if so, and if the 10921 + message does not contain suitable authorization, then the 10922 + [class@AuthDomain] will set a status of %SOUP_STATUS_UNAUTHORIZED on 10923 + the message. 10924 + 10925 + After checking for authorization, #SoupServer will look for "early" 10926 + handlers (added with [method@Server.add_early_handler]) matching the 10927 + Request-URI. If one is found, it will be run; in particular, this 10928 + can be used to connect to signals to do a streaming read of the 10929 + request body. 10930 + 10931 + (At this point, if the request headers contain `Expect: 10932 + 100-continue`, and a status code has been set, then 10933 + #SoupServer will skip the remaining steps and return the response. 10934 + If the request headers contain `Expect: 10935 + 100-continue` and no status code has been set, 10936 + #SoupServer will return a %SOUP_STATUS_CONTINUE status before 10937 + continuing.) 10938 + 10939 + The server will then read in the response body (if present). At 10940 + this point, if there are no handlers at all defined for the 10941 + Request-URI, then the server will return %SOUP_STATUS_NOT_FOUND to 10942 + the client. 10943 + 10944 + Otherwise (assuming no previous step assigned a status to the 10945 + message) any "normal" handlers (added with 10946 + [method@Server.add_handler]) for the message's Request-URI will be 10947 + run. 10948 + 10949 + Then, if the path has a WebSocket handler registered (and has 10950 + not yet been assigned a status), #SoupServer will attempt to 10951 + validate the WebSocket handshake, filling in the response and 10952 + setting a status of %SOUP_STATUS_SWITCHING_PROTOCOLS or 10953 + %SOUP_STATUS_BAD_REQUEST accordingly. 10954 + 10955 + If the message still has no status code at this point (and has not 10956 + been paused with [method@ServerMessage.pause]), then it will be 10957 + given a status of %SOUP_STATUS_INTERNAL_SERVER_ERROR (because at 10958 + least one handler ran, but returned without assigning a status). 10959 + 10960 + Finally, the server will emit [signal@Server::request-finished] (or 10961 + [signal@Server::request-aborted] if an I/O error occurred before 10962 + handling was completed). 10963 + 10964 + If you want to handle the special "*" URI (eg, "OPTIONS *"), you 10965 + must explicitly register a handler for "*"; the default handler 10966 + will not be used for that case. 10967 + 10968 + If you want to process https connections in addition to (or instead 10969 + of) http connections, you can set the [property@Server:tls-certificate] 10970 + property. 10971 + 10972 + Once the server is set up, make one or more calls to 10973 + [method@Server.listen], [method@Server.listen_local], or 10974 + [method@Server.listen_all] to tell it where to listen for 10975 + connections. (All ports on a #SoupServer use the same handlers; if 10976 + you need to handle some ports differently, such as returning 10977 + different data for http and https, you'll need to create multiple 10978 + `SoupServer`s, or else check the passed-in URI in the handler 10979 + function.). 10980 + 10981 + #SoupServer will begin processing connections as soon as you return 10982 + to (or start) the main loop for the current thread-default 10983 + [struct@GLib.MainContext].</doc> 10984 + <source-position filename="libsoup/server/soup-server.h" line="38"/> 10985 + <constructor name="new" 10986 + c:identifier="soup_server_new" 10987 + introspectable="0"> 10988 + <doc xml:space="preserve" 10989 + filename="libsoup/server/soup-server.c" 10990 + line="543">Creates a new #SoupServer. 10991 + 10992 + This is exactly equivalent to calling [ctor@GObject.Object.new] and 10993 + specifying %SOUP_TYPE_SERVER as the type.</doc> 10994 + <source-position filename="libsoup/server/soup-server.h" line="41"/> 10995 + <return-value transfer-ownership="full" nullable="1"> 10996 + <doc xml:space="preserve" 10997 + filename="libsoup/server/soup-server.c" 10998 + line="553">a new #SoupServer. If you are using 10999 + certain legacy properties, this may also return %NULL if an error 11000 + occurs.</doc> 11001 + <type name="Server" c:type="SoupServer*"/> 11002 + </return-value> 11003 + <parameters> 11004 + <parameter name="optname1" transfer-ownership="none"> 11005 + <doc xml:space="preserve" 11006 + filename="libsoup/server/soup-server.c" 11007 + line="545">name of first property to set</doc> 11008 + <type name="utf8" c:type="const char*"/> 11009 + </parameter> 11010 + <parameter name="..." transfer-ownership="none"> 11011 + <doc xml:space="preserve" 11012 + filename="libsoup/server/soup-server.c" 11013 + line="546">value of @optname1, followed by additional property/value pairs</doc> 11014 + <varargs/> 11015 + </parameter> 11016 + </parameters> 11017 + </constructor> 11018 + <virtual-method name="request_aborted"> 11019 + <source-position filename="libsoup/server/soup-server.h" line="34"/> 11020 + <return-value transfer-ownership="none"> 11021 + <type name="none" c:type="void"/> 11022 + </return-value> 11023 + <parameters> 11024 + <instance-parameter name="server" transfer-ownership="none"> 11025 + <type name="Server" c:type="SoupServer*"/> 11026 + </instance-parameter> 11027 + <parameter name="msg" transfer-ownership="none"> 11028 + <type name="ServerMessage" c:type="SoupServerMessage*"/> 11029 + </parameter> 11030 + </parameters> 11031 + </virtual-method> 11032 + <virtual-method name="request_finished"> 11033 + <source-position filename="libsoup/server/soup-server.h" line="32"/> 11034 + <return-value transfer-ownership="none"> 11035 + <type name="none" c:type="void"/> 11036 + </return-value> 11037 + <parameters> 11038 + <instance-parameter name="server" transfer-ownership="none"> 11039 + <type name="Server" c:type="SoupServer*"/> 11040 + </instance-parameter> 11041 + <parameter name="msg" transfer-ownership="none"> 11042 + <type name="ServerMessage" c:type="SoupServerMessage*"/> 11043 + </parameter> 11044 + </parameters> 11045 + </virtual-method> 11046 + <virtual-method name="request_read"> 11047 + <source-position filename="libsoup/server/soup-server.h" line="30"/> 11048 + <return-value transfer-ownership="none"> 11049 + <type name="none" c:type="void"/> 11050 + </return-value> 11051 + <parameters> 11052 + <instance-parameter name="server" transfer-ownership="none"> 11053 + <type name="Server" c:type="SoupServer*"/> 11054 + </instance-parameter> 11055 + <parameter name="msg" transfer-ownership="none"> 11056 + <type name="ServerMessage" c:type="SoupServerMessage*"/> 11057 + </parameter> 11058 + </parameters> 11059 + </virtual-method> 11060 + <virtual-method name="request_started"> 11061 + <source-position filename="libsoup/server/soup-server.h" line="28"/> 11062 + <return-value transfer-ownership="none"> 11063 + <type name="none" c:type="void"/> 11064 + </return-value> 11065 + <parameters> 11066 + <instance-parameter name="server" transfer-ownership="none"> 11067 + <type name="Server" c:type="SoupServer*"/> 11068 + </instance-parameter> 11069 + <parameter name="msg" transfer-ownership="none"> 11070 + <type name="ServerMessage" c:type="SoupServerMessage*"/> 11071 + </parameter> 11072 + </parameters> 11073 + </virtual-method> 11074 + <method name="accept_iostream" 11075 + c:identifier="soup_server_accept_iostream" 11076 + throws="1"> 11077 + <doc xml:space="preserve" 11078 + filename="libsoup/server/soup-server.c" 11079 + line="1102">Adds a new client stream to the @server.</doc> 11080 + <source-position filename="libsoup/server/soup-server.h" line="94"/> 11081 + <return-value transfer-ownership="none"> 11082 + <doc xml:space="preserve" 11083 + filename="libsoup/server/soup-server.c" 11084 + line="1114">%TRUE on success, %FALSE if the stream could not be 11085 + accepted or any other error occurred (in which case @error will be 11086 + set).</doc> 11087 + <type name="gboolean" c:type="gboolean"/> 11088 + </return-value> 11089 + <parameters> 11090 + <instance-parameter name="server" transfer-ownership="none"> 11091 + <doc xml:space="preserve" 11092 + filename="libsoup/server/soup-server.c" 11093 + line="1104">a #SoupServer</doc> 11094 + <type name="Server" c:type="SoupServer*"/> 11095 + </instance-parameter> 11096 + <parameter name="stream" transfer-ownership="none"> 11097 + <doc xml:space="preserve" 11098 + filename="libsoup/server/soup-server.c" 11099 + line="1105">a #GIOStream</doc> 11100 + <type name="Gio.IOStream" c:type="GIOStream*"/> 11101 + </parameter> 11102 + <parameter name="local_addr" 11103 + transfer-ownership="none" 11104 + nullable="1" 11105 + allow-none="1"> 11106 + <doc xml:space="preserve" 11107 + filename="libsoup/server/soup-server.c" 11108 + line="1106">the local #GSocketAddress associated with the 11109 + @stream</doc> 11110 + <type name="Gio.SocketAddress" c:type="GSocketAddress*"/> 11111 + </parameter> 11112 + <parameter name="remote_addr" 11113 + transfer-ownership="none" 11114 + nullable="1" 11115 + allow-none="1"> 11116 + <doc xml:space="preserve" 11117 + filename="libsoup/server/soup-server.c" 11118 + line="1108">the remote #GSocketAddress associated with the 11119 + @stream</doc> 11120 + <type name="Gio.SocketAddress" c:type="GSocketAddress*"/> 11121 + </parameter> 11122 + </parameters> 11123 + </method> 11124 + <method name="add_auth_domain" 11125 + c:identifier="soup_server_add_auth_domain"> 11126 + <doc xml:space="preserve" 11127 + filename="libsoup/server/soup-server.c" 11128 + line="1839">Adds an authentication domain to @server. 11129 + 11130 + Each auth domain will have the chance to require authentication for each 11131 + request that comes in; normally auth domains will require authentication for 11132 + requests on certain paths that they have been set up to watch, or that meet 11133 + other criteria set by the caller. If an auth domain determines that a request 11134 + requires authentication (and the request doesn't contain authentication), 11135 + @server will automatically reject the request with an appropriate status (401 11136 + Unauthorized or 407 Proxy Authentication Required). If the request used the 11137 + SoupServer:100-continue Expectation, @server will reject it before the 11138 + request body is sent.</doc> 11139 + <source-position filename="libsoup/server/soup-server.h" line="146"/> 11140 + <return-value transfer-ownership="none"> 11141 + <type name="none" c:type="void"/> 11142 + </return-value> 11143 + <parameters> 11144 + <instance-parameter name="server" transfer-ownership="none"> 11145 + <doc xml:space="preserve" 11146 + filename="libsoup/server/soup-server.c" 11147 + line="1841">a #SoupServer</doc> 11148 + <type name="Server" c:type="SoupServer*"/> 11149 + </instance-parameter> 11150 + <parameter name="auth_domain" transfer-ownership="none"> 11151 + <doc xml:space="preserve" 11152 + filename="libsoup/server/soup-server.c" 11153 + line="1842">a #SoupAuthDomain</doc> 11154 + <type name="AuthDomain" c:type="SoupAuthDomain*"/> 11155 + </parameter> 11156 + </parameters> 11157 + </method> 11158 + <method name="add_early_handler" 11159 + c:identifier="soup_server_add_early_handler"> 11160 + <doc xml:space="preserve" 11161 + filename="libsoup/server/soup-server.c" 11162 + line="1685">Adds an "early" handler to @server for requests prefixed by @path. 11163 + 11164 + Note that "normal" and "early" handlers are matched up together, so if you 11165 + add a normal handler for "/foo" and an early handler for "/foo/bar", then a 11166 + request to "/foo/bar" (or any path below it) will run only the early handler. 11167 + (But if you add both handlers at the same path, then both will get run.) 11168 + 11169 + For requests under @path (that have not already been assigned a 11170 + status code by a [class@AuthDomain] or a signal handler), @callback 11171 + will be invoked after receiving the request headers, but before 11172 + receiving the request body; the message's method and 11173 + request-headers properties will be set. 11174 + 11175 + Early handlers are generally used for processing requests with request bodies 11176 + in a streaming fashion. If you determine that the request will contain a 11177 + message body, normally you would call [method@MessageBody.set_accumulate] on 11178 + the message's request-body to turn off request-body accumulation, and connect 11179 + to the message's [signal@ServerMessage::got-chunk] signal to process each 11180 + chunk as it comes in. 11181 + 11182 + To complete the message processing after the full message body has 11183 + been read, you can either also connect to [signal@ServerMessage::got-body], 11184 + or else you can register a non-early handler for @path as well. As 11185 + long as you have not set the status-code by the time 11186 + [signal@ServerMessage::got-body] is emitted, the non-early handler will be 11187 + run as well.</doc> 11188 + <source-position filename="libsoup/server/soup-server.h" line="115"/> 11189 + <return-value transfer-ownership="none"> 11190 + <type name="none" c:type="void"/> 11191 + </return-value> 11192 + <parameters> 11193 + <instance-parameter name="server" transfer-ownership="none"> 11194 + <doc xml:space="preserve" 11195 + filename="libsoup/server/soup-server.c" 11196 + line="1687">a #SoupServer</doc> 11197 + <type name="Server" c:type="SoupServer*"/> 11198 + </instance-parameter> 11199 + <parameter name="path" 11200 + transfer-ownership="none" 11201 + nullable="1" 11202 + allow-none="1"> 11203 + <doc xml:space="preserve" 11204 + filename="libsoup/server/soup-server.c" 11205 + line="1688">the toplevel path for the handler</doc> 11206 + <type name="utf8" c:type="const char*"/> 11207 + </parameter> 11208 + <parameter name="callback" 11209 + transfer-ownership="none" 11210 + scope="notified" 11211 + closure="2" 11212 + destroy="3"> 11213 + <doc xml:space="preserve" 11214 + filename="libsoup/server/soup-server.c" 11215 + line="1689">callback to invoke for 11216 + requests under @path</doc> 11217 + <type name="ServerCallback" c:type="SoupServerCallback"/> 11218 + </parameter> 11219 + <parameter name="user_data" 11220 + transfer-ownership="none" 11221 + nullable="1" 11222 + allow-none="1"> 11223 + <doc xml:space="preserve" 11224 + filename="libsoup/server/soup-server.c" 11225 + line="1691">data for @callback</doc> 11226 + <type name="gpointer" c:type="gpointer"/> 11227 + </parameter> 11228 + <parameter name="destroy" transfer-ownership="none" scope="async"> 11229 + <doc xml:space="preserve" 11230 + filename="libsoup/server/soup-server.c" 11231 + line="1692">destroy notifier to free @user_data</doc> 11232 + <type name="GLib.DestroyNotify" c:type="GDestroyNotify"/> 11233 + </parameter> 11234 + </parameters> 11235 + </method> 11236 + <method name="add_handler" c:identifier="soup_server_add_handler"> 11237 + <doc xml:space="preserve" 11238 + filename="libsoup/server/soup-server.c" 11239 + line="1621">Adds a handler to @server for requests prefixed by @path. 11240 + 11241 + If @path is %NULL or "/", then this will be the default handler for all 11242 + requests that don't have a more specific handler. (Note though that if you 11243 + want to handle requests to the special "*" URI, you must explicitly register 11244 + a handler for "*"; the default handler will not be used for that case.) 11245 + 11246 + For requests under @path (that have not already been assigned a 11247 + status code by a [class@AuthDomain], an early server handler, or a 11248 + signal handler), @callback will be invoked after receiving the 11249 + request body; the [class@ServerMessage]'s method, request-headers, 11250 + and request-body properties will be set. 11251 + 11252 + After determining what to do with the request, the callback must at a minimum 11253 + call [method@ServerMessage.set_status] on the message to set the response 11254 + status code. Additionally, it may set response headers and/or fill in the 11255 + response body. 11256 + 11257 + If the callback cannot fully fill in the response before returning 11258 + (eg, if it needs to wait for information from a database, or 11259 + another network server), it should call [method@ServerMessage.pause] 11260 + to tell @server to not send the response right away. When the 11261 + response is ready, call [method@ServerMessage.unpause] to cause it 11262 + to be sent. 11263 + 11264 + To send the response body a bit at a time using "chunked" encoding, first 11265 + call [method@MessageHeaders.set_encoding] to set %SOUP_ENCODING_CHUNKED on 11266 + the response-headers. Then call [method@MessageBody.append] (or 11267 + [method@MessageBody.append_bytes])) to append each chunk as it becomes ready, 11268 + and [method@ServerMessage.unpause] to make sure it's running. (The server 11269 + will automatically pause the message if it is using chunked encoding but no 11270 + more chunks are available.) When you are done, call 11271 + [method@MessageBody.complete] to indicate that no more chunks are coming.</doc> 11272 + <source-position filename="libsoup/server/soup-server.h" line="109"/> 11273 + <return-value transfer-ownership="none"> 11274 + <type name="none" c:type="void"/> 11275 + </return-value> 11276 + <parameters> 11277 + <instance-parameter name="server" transfer-ownership="none"> 11278 + <doc xml:space="preserve" 11279 + filename="libsoup/server/soup-server.c" 11280 + line="1623">a #SoupServer</doc> 11281 + <type name="Server" c:type="SoupServer*"/> 11282 + </instance-parameter> 11283 + <parameter name="path" 11284 + transfer-ownership="none" 11285 + nullable="1" 11286 + allow-none="1"> 11287 + <doc xml:space="preserve" 11288 + filename="libsoup/server/soup-server.c" 11289 + line="1624">the toplevel path for the handler</doc> 11290 + <type name="utf8" c:type="const char*"/> 11291 + </parameter> 11292 + <parameter name="callback" 11293 + transfer-ownership="none" 11294 + scope="notified" 11295 + closure="2" 11296 + destroy="3"> 11297 + <doc xml:space="preserve" 11298 + filename="libsoup/server/soup-server.c" 11299 + line="1625">callback to invoke for 11300 + requests under @path</doc> 11301 + <type name="ServerCallback" c:type="SoupServerCallback"/> 11302 + </parameter> 11303 + <parameter name="user_data" 11304 + transfer-ownership="none" 11305 + nullable="1" 11306 + allow-none="1"> 11307 + <doc xml:space="preserve" 11308 + filename="libsoup/server/soup-server.c" 11309 + line="1627">data for @callback</doc> 11310 + <type name="gpointer" c:type="gpointer"/> 11311 + </parameter> 11312 + <parameter name="destroy" transfer-ownership="none" scope="async"> 11313 + <doc xml:space="preserve" 11314 + filename="libsoup/server/soup-server.c" 11315 + line="1628">destroy notifier to free @user_data</doc> 11316 + <type name="GLib.DestroyNotify" c:type="GDestroyNotify"/> 11317 + </parameter> 11318 + </parameters> 11319 + </method> 11320 + <method name="add_websocket_extension" 11321 + c:identifier="soup_server_add_websocket_extension"> 11322 + <doc xml:space="preserve" 11323 + filename="libsoup/server/soup-server.c" 11324 + line="1942">Add support for a WebSocket extension of the given @extension_type. 11325 + 11326 + When a WebSocket client requests an extension of @extension_type, 11327 + a new [class@WebsocketExtension] of type @extension_type will be created 11328 + to handle the request. 11329 + 11330 + Note that [class@WebsocketExtensionDeflate] is supported by default, use 11331 + [method@Server.remove_websocket_extension] if you want to disable it.</doc> 11332 + <source-position filename="libsoup/server/soup-server.h" line="135"/> 11333 + <return-value transfer-ownership="none"> 11334 + <type name="none" c:type="void"/> 11335 + </return-value> 11336 + <parameters> 11337 + <instance-parameter name="server" transfer-ownership="none"> 11338 + <doc xml:space="preserve" 11339 + filename="libsoup/server/soup-server.c" 11340 + line="1944">a #SoupServer</doc> 11341 + <type name="Server" c:type="SoupServer*"/> 11342 + </instance-parameter> 11343 + <parameter name="extension_type" transfer-ownership="none"> 11344 + <doc xml:space="preserve" 11345 + filename="libsoup/server/soup-server.c" 11346 + line="1945">a #GType</doc> 11347 + <type name="GType" c:type="GType"/> 11348 + </parameter> 11349 + </parameters> 11350 + </method> 11351 + <method name="add_websocket_handler" 11352 + c:identifier="soup_server_add_websocket_handler"> 11353 + <doc xml:space="preserve" 11354 + filename="libsoup/server/soup-server.c" 11355 + line="1759">Adds a WebSocket handler to @server for requests prefixed by @path. 11356 + 11357 + If @path is %NULL or "/", then this will be the default handler for all 11358 + requests that don't have a more specific handler. 11359 + 11360 + When a path has a WebSocket handler registered, @server will check 11361 + incoming requests for WebSocket handshakes after all other handlers 11362 + have run (unless some earlier handler has already set a status code 11363 + on the message), and update the request's status, response headers, 11364 + and response body accordingly. 11365 + 11366 + If @origin is non-%NULL, then only requests containing a matching 11367 + "Origin" header will be accepted. If @protocols is non-%NULL, then 11368 + only requests containing a compatible "Sec-WebSocket-Protocols" 11369 + header will be accepted. More complicated requirements can be 11370 + handled by adding a normal handler to @path, and having it perform 11371 + whatever checks are needed and 11372 + setting a failure status code if the handshake should be rejected.</doc> 11373 + <source-position filename="libsoup/server/soup-server.h" line="127"/> 11374 + <return-value transfer-ownership="none"> 11375 + <type name="none" c:type="void"/> 11376 + </return-value> 11377 + <parameters> 11378 + <instance-parameter name="server" transfer-ownership="none"> 11379 + <doc xml:space="preserve" 11380 + filename="libsoup/server/soup-server.c" 11381 + line="1761">a #SoupServer</doc> 11382 + <type name="Server" c:type="SoupServer*"/> 11383 + </instance-parameter> 11384 + <parameter name="path" 11385 + transfer-ownership="none" 11386 + nullable="1" 11387 + allow-none="1"> 11388 + <doc xml:space="preserve" 11389 + filename="libsoup/server/soup-server.c" 11390 + line="1762">the toplevel path for the handler</doc> 11391 + <type name="utf8" c:type="const char*"/> 11392 + </parameter> 11393 + <parameter name="origin" 11394 + transfer-ownership="none" 11395 + nullable="1" 11396 + allow-none="1"> 11397 + <doc xml:space="preserve" 11398 + filename="libsoup/server/soup-server.c" 11399 + line="1763">the origin of the connection</doc> 11400 + <type name="utf8" c:type="const char*"/> 11401 + </parameter> 11402 + <parameter name="protocols" 11403 + transfer-ownership="none" 11404 + nullable="1" 11405 + allow-none="1"> 11406 + <doc xml:space="preserve" 11407 + filename="libsoup/server/soup-server.c" 11408 + line="1764">the protocols 11409 + supported by this handler</doc> 11410 + <array c:type="char**"> 11411 + <type name="utf8" c:type="char*"/> 11412 + </array> 11413 + </parameter> 11414 + <parameter name="callback" 11415 + transfer-ownership="none" 11416 + scope="notified" 11417 + closure="4" 11418 + destroy="5"> 11419 + <doc xml:space="preserve" 11420 + filename="libsoup/server/soup-server.c" 11421 + line="1766">callback to invoke for 11422 + successful WebSocket requests under @path</doc> 11423 + <type name="ServerWebsocketCallback" 11424 + c:type="SoupServerWebsocketCallback"/> 11425 + </parameter> 11426 + <parameter name="user_data" 11427 + transfer-ownership="none" 11428 + nullable="1" 11429 + allow-none="1"> 11430 + <doc xml:space="preserve" 11431 + filename="libsoup/server/soup-server.c" 11432 + line="1768">data for @callback</doc> 11433 + <type name="gpointer" c:type="gpointer"/> 11434 + </parameter> 11435 + <parameter name="destroy" transfer-ownership="none" scope="async"> 11436 + <doc xml:space="preserve" 11437 + filename="libsoup/server/soup-server.c" 11438 + line="1769">destroy notifier to free @user_data</doc> 11439 + <type name="GLib.DestroyNotify" c:type="GDestroyNotify"/> 11440 + </parameter> 11441 + </parameters> 11442 + </method> 11443 + <method name="disconnect" c:identifier="soup_server_disconnect"> 11444 + <doc xml:space="preserve" 11445 + filename="libsoup/server/soup-server.c" 11446 + line="1145">Closes and frees @server's listening sockets. 11447 + 11448 + Note that if there are currently requests in progress on @server, that they 11449 + will continue to be processed if @server's [struct@GLib.MainContext] is still 11450 + running. 11451 + 11452 + You can call [method@Server.listen], etc, after calling this function 11453 + if you want to start listening again.</doc> 11454 + <source-position filename="libsoup/server/soup-server.h" line="91"/> 11455 + <return-value transfer-ownership="none"> 11456 + <type name="none" c:type="void"/> 11457 + </return-value> 11458 + <parameters> 11459 + <instance-parameter name="server" transfer-ownership="none"> 11460 + <doc xml:space="preserve" 11461 + filename="libsoup/server/soup-server.c" 11462 + line="1147">a #SoupServer</doc> 11463 + <type name="Server" c:type="SoupServer*"/> 11464 + </instance-parameter> 11465 + </parameters> 11466 + </method> 11467 + <method name="get_listeners" c:identifier="soup_server_get_listeners"> 11468 + <doc xml:space="preserve" 11469 + filename="libsoup/server/soup-server.c" 11470 + line="730">Gets @server's list of listening sockets. 11471 + 11472 + You should treat these sockets as read-only; writing to or 11473 + modifiying any of these sockets may cause @server to malfunction.</doc> 11474 + <source-position filename="libsoup/server/soup-server.h" line="88"/> 11475 + <return-value transfer-ownership="container"> 11476 + <doc xml:space="preserve" 11477 + filename="libsoup/server/soup-server.c" 11478 + line="739">a 11479 + list of listening sockets.</doc> 11480 + <type name="GLib.SList" c:type="GSList*"> 11481 + <type name="Gio.Socket"/> 11482 + </type> 11483 + </return-value> 11484 + <parameters> 11485 + <instance-parameter name="server" transfer-ownership="none"> 11486 + <doc xml:space="preserve" 11487 + filename="libsoup/server/soup-server.c" 11488 + line="732">a #SoupServer</doc> 11489 + <type name="Server" c:type="SoupServer*"/> 11490 + </instance-parameter> 11491 + </parameters> 11492 + </method> 11493 + <method name="get_tls_auth_mode" 11494 + c:identifier="soup_server_get_tls_auth_mode" 11495 + glib:get-property="tls-auth-mode"> 11496 + <attribute name="org.gtk.Method.get_property" value="tls-auth-mode"/> 11497 + <doc xml:space="preserve" 11498 + filename="libsoup/server/soup-server.c" 11499 + line="680">Gets the @server SSL/TLS client authentication mode.</doc> 11500 + <source-position filename="libsoup/server/soup-server.h" line="60"/> 11501 + <return-value transfer-ownership="none"> 11502 + <doc xml:space="preserve" 11503 + filename="libsoup/server/soup-server.c" 11504 + line="686">a #GTlsAuthenticationMode</doc> 11505 + <type name="Gio.TlsAuthenticationMode" 11506 + c:type="GTlsAuthenticationMode"/> 11507 + </return-value> 11508 + <parameters> 11509 + <instance-parameter name="server" transfer-ownership="none"> 11510 + <doc xml:space="preserve" 11511 + filename="libsoup/server/soup-server.c" 11512 + line="682">a #SoupServer</doc> 11513 + <type name="Server" c:type="SoupServer*"/> 11514 + </instance-parameter> 11515 + </parameters> 11516 + </method> 11517 + <method name="get_tls_certificate" 11518 + c:identifier="soup_server_get_tls_certificate" 11519 + glib:get-property="tls-certificate"> 11520 + <attribute name="org.gtk.Method.get_property" value="tls-certificate"/> 11521 + <doc xml:space="preserve" 11522 + filename="libsoup/server/soup-server.c" 11523 + line="595">Gets the @server SSL/TLS certificate.</doc> 11524 + <source-position filename="libsoup/server/soup-server.h" line="48"/> 11525 + <return-value transfer-ownership="none" nullable="1"> 11526 + <doc xml:space="preserve" 11527 + filename="libsoup/server/soup-server.c" 11528 + line="601">a #GTlsCertificate or %NULL</doc> 11529 + <type name="Gio.TlsCertificate" c:type="GTlsCertificate*"/> 11530 + </return-value> 11531 + <parameters> 11532 + <instance-parameter name="server" transfer-ownership="none"> 11533 + <doc xml:space="preserve" 11534 + filename="libsoup/server/soup-server.c" 11535 + line="597">a #SoupServer</doc> 11536 + <type name="Server" c:type="SoupServer*"/> 11537 + </instance-parameter> 11538 + </parameters> 11539 + </method> 11540 + <method name="get_tls_database" 11541 + c:identifier="soup_server_get_tls_database" 11542 + glib:get-property="tls-database"> 11543 + <attribute name="org.gtk.Method.get_property" value="tls-database"/> 11544 + <doc xml:space="preserve" 11545 + filename="libsoup/server/soup-server.c" 11546 + line="638">Gets the @server SSL/TLS database.</doc> 11547 + <source-position filename="libsoup/server/soup-server.h" line="54"/> 11548 + <return-value transfer-ownership="none" nullable="1"> 11549 + <doc xml:space="preserve" 11550 + filename="libsoup/server/soup-server.c" 11551 + line="644">a #GTlsDatabase</doc> 11552 + <type name="Gio.TlsDatabase" c:type="GTlsDatabase*"/> 11553 + </return-value> 11554 + <parameters> 11555 + <instance-parameter name="server" transfer-ownership="none"> 11556 + <doc xml:space="preserve" 11557 + filename="libsoup/server/soup-server.c" 11558 + line="640">a #SoupServer</doc> 11559 + <type name="Server" c:type="SoupServer*"/> 11560 + </instance-parameter> 11561 + </parameters> 11562 + </method> 11563 + <method name="get_uris" c:identifier="soup_server_get_uris"> 11564 + <doc xml:space="preserve" 11565 + filename="libsoup/server/soup-server.c" 11566 + line="1516">Gets a list of URIs corresponding to the interfaces @server is 11567 + listening on. 11568 + 11569 + These will contain IP addresses, not hostnames, and will also indicate 11570 + whether the given listener is http or https. 11571 + 11572 + Note that if you used [method@Server.listen_all] the returned URIs will use 11573 + the addresses `0.0.0.0` and `::`, rather than actually returning separate 11574 + URIs for each interface on the system.</doc> 11575 + <source-position filename="libsoup/server/soup-server.h" line="86"/> 11576 + <return-value transfer-ownership="full"> 11577 + <doc xml:space="preserve" 11578 + filename="libsoup/server/soup-server.c" 11579 + line="1530">a list of #GUris, which you 11580 + must free when you are done with it.</doc> 11581 + <type name="GLib.SList" c:type="GSList*"> 11582 + <type name="GLib.Uri"/> 11583 + </type> 11584 + </return-value> 11585 + <parameters> 11586 + <instance-parameter name="server" transfer-ownership="none"> 11587 + <doc xml:space="preserve" 11588 + filename="libsoup/server/soup-server.c" 11589 + line="1518">a #SoupServer</doc> 11590 + <type name="Server" c:type="SoupServer*"/> 11591 + </instance-parameter> 11592 + </parameters> 11593 + </method> 11594 + <method name="is_https" c:identifier="soup_server_is_https"> 11595 + <doc xml:space="preserve" 11596 + filename="libsoup/server/soup-server.c" 11597 + line="699">Checks whether @server is capable of https. 11598 + 11599 + In order for a server to run https, you must call 11600 + [method@Server.set_tls_certificate], or set the 11601 + [property@Server:tls-certificate] property, to provide it with a 11602 + certificate to use. 11603 + 11604 + If you are using the deprecated single-listener APIs, then a return value of 11605 + %TRUE indicates that the #SoupServer serves https exclusively. If you are 11606 + using [method@Server.listen], etc, then a %TRUE return value merely indicates 11607 + that the server is *able* to do https, regardless of whether it actually 11608 + currently is or not. Use [method@Server.get_uris] to see if it currently has 11609 + any https listeners.</doc> 11610 + <source-position filename="libsoup/server/soup-server.h" line="63"/> 11611 + <return-value transfer-ownership="none"> 11612 + <doc xml:space="preserve" 11613 + filename="libsoup/server/soup-server.c" 11614 + line="717">%TRUE if @server is configured to serve https.</doc> 11615 + <type name="gboolean" c:type="gboolean"/> 11616 + </return-value> 11617 + <parameters> 11618 + <instance-parameter name="server" transfer-ownership="none"> 11619 + <doc xml:space="preserve" 11620 + filename="libsoup/server/soup-server.c" 11621 + line="701">a #SoupServer</doc> 11622 + <type name="Server" c:type="SoupServer*"/> 11623 + </instance-parameter> 11624 + </parameters> 11625 + </method> 11626 + <method name="listen" c:identifier="soup_server_listen" throws="1"> 11627 + <doc xml:space="preserve" 11628 + filename="libsoup/server/soup-server.c" 11629 + line="1243">Attempts to set up @server to listen for connections on @address. 11630 + 11631 + If @options includes %SOUP_SERVER_LISTEN_HTTPS, and @server has 11632 + been configured for TLS, then @server will listen for https 11633 + connections on this port. Otherwise it will listen for plain http. 11634 + 11635 + You may call this method (along with the other "listen" methods) 11636 + any number of times on a server, if you want to listen on multiple 11637 + ports, or set up both http and https service. 11638 + 11639 + After calling this method, @server will begin accepting and processing 11640 + connections as soon as the appropriate [struct@GLib.MainContext] is run. 11641 + 11642 + Note that this API does not make use of dual IPv4/IPv6 sockets; if 11643 + @address is an IPv6 address, it will only accept IPv6 connections. 11644 + You must configure IPv4 listening separately.</doc> 11645 + <source-position filename="libsoup/server/soup-server.h" line="66"/> 11646 + <return-value transfer-ownership="none"> 11647 + <doc xml:space="preserve" 11648 + filename="libsoup/server/soup-server.c" 11649 + line="1267">%TRUE on success, %FALSE if @address could not be 11650 + bound or any other error occurred (in which case @error will be 11651 + set).</doc> 11652 + <type name="gboolean" c:type="gboolean"/> 11653 + </return-value> 11654 + <parameters> 11655 + <instance-parameter name="server" transfer-ownership="none"> 11656 + <doc xml:space="preserve" 11657 + filename="libsoup/server/soup-server.c" 11658 + line="1245">a #SoupServer</doc> 11659 + <type name="Server" c:type="SoupServer*"/> 11660 + </instance-parameter> 11661 + <parameter name="address" transfer-ownership="none"> 11662 + <doc xml:space="preserve" 11663 + filename="libsoup/server/soup-server.c" 11664 + line="1246">the address of the interface to listen on</doc> 11665 + <type name="Gio.SocketAddress" c:type="GSocketAddress*"/> 11666 + </parameter> 11667 + <parameter name="options" transfer-ownership="none"> 11668 + <doc xml:space="preserve" 11669 + filename="libsoup/server/soup-server.c" 11670 + line="1247">listening options for this server</doc> 11671 + <type name="ServerListenOptions" c:type="SoupServerListenOptions"/> 11672 + </parameter> 11673 + </parameters> 11674 + </method> 11675 + <method name="listen_all" 11676 + c:identifier="soup_server_listen_all" 11677 + throws="1"> 11678 + <doc xml:space="preserve" 11679 + filename="libsoup/server/soup-server.c" 11680 + line="1371">Attempts to set up @server to listen for connections on all interfaces 11681 + on the system. 11682 + 11683 + That is, it listens on the addresses `0.0.0.0` and/or `::`, depending on 11684 + whether @options includes %SOUP_SERVER_LISTEN_IPV4_ONLY, 11685 + %SOUP_SERVER_LISTEN_IPV6_ONLY, or neither.) If @port is specified, @server 11686 + will listen on that port. If it is 0, @server will find an unused port to 11687 + listen on. (In that case, you can use [method@Server.get_uris] to find out 11688 + what port it ended up choosing. 11689 + 11690 + See [method@Server.listen] for more details.</doc> 11691 + <source-position filename="libsoup/server/soup-server.h" line="71"/> 11692 + <return-value transfer-ownership="none"> 11693 + <doc xml:space="preserve" 11694 + filename="libsoup/server/soup-server.c" 11695 + line="1390">%TRUE on success, %FALSE if @port could not be bound 11696 + or any other error occurred (in which case @error will be set).</doc> 11697 + <type name="gboolean" c:type="gboolean"/> 11698 + </return-value> 11699 + <parameters> 11700 + <instance-parameter name="server" transfer-ownership="none"> 11701 + <doc xml:space="preserve" 11702 + filename="libsoup/server/soup-server.c" 11703 + line="1373">a #SoupServer</doc> 11704 + <type name="Server" c:type="SoupServer*"/> 11705 + </instance-parameter> 11706 + <parameter name="port" transfer-ownership="none"> 11707 + <doc xml:space="preserve" 11708 + filename="libsoup/server/soup-server.c" 11709 + line="1374">the port to listen on, or 0</doc> 11710 + <type name="guint" c:type="guint"/> 11711 + </parameter> 11712 + <parameter name="options" transfer-ownership="none"> 11713 + <doc xml:space="preserve" 11714 + filename="libsoup/server/soup-server.c" 11715 + line="1375">listening options for this server</doc> 11716 + <type name="ServerListenOptions" c:type="SoupServerListenOptions"/> 11717 + </parameter> 11718 + </parameters> 11719 + </method> 11720 + <method name="listen_local" 11721 + c:identifier="soup_server_listen_local" 11722 + throws="1"> 11723 + <doc xml:space="preserve" 11724 + filename="libsoup/server/soup-server.c" 11725 + line="1424">Attempts to set up @server to listen for connections on "localhost". 11726 + 11727 + That is, `127.0.0.1` and/or `::1`, depending on whether @options includes 11728 + %SOUP_SERVER_LISTEN_IPV4_ONLY, %SOUP_SERVER_LISTEN_IPV6_ONLY, or neither). If 11729 + @port is specified, @server will listen on that port. If it is 0, @server 11730 + will find an unused port to listen on. (In that case, you can use 11731 + [method@Server.get_uris] to find out what port it ended up choosing. 11732 + 11733 + See [method@Server.listen] for more details.</doc> 11734 + <source-position filename="libsoup/server/soup-server.h" line="76"/> 11735 + <return-value transfer-ownership="none"> 11736 + <doc xml:space="preserve" 11737 + filename="libsoup/server/soup-server.c" 11738 + line="1441">%TRUE on success, %FALSE if @port could not be bound 11739 + or any other error occurred (in which case @error will be set).</doc> 11740 + <type name="gboolean" c:type="gboolean"/> 11741 + </return-value> 11742 + <parameters> 11743 + <instance-parameter name="server" transfer-ownership="none"> 11744 + <doc xml:space="preserve" 11745 + filename="libsoup/server/soup-server.c" 11746 + line="1426">a #SoupServer</doc> 11747 + <type name="Server" c:type="SoupServer*"/> 11748 + </instance-parameter> 11749 + <parameter name="port" transfer-ownership="none"> 11750 + <doc xml:space="preserve" 11751 + filename="libsoup/server/soup-server.c" 11752 + line="1427">the port to listen on, or 0</doc> 11753 + <type name="guint" c:type="guint"/> 11754 + </parameter> 11755 + <parameter name="options" transfer-ownership="none"> 11756 + <doc xml:space="preserve" 11757 + filename="libsoup/server/soup-server.c" 11758 + line="1428">listening options for this server</doc> 11759 + <type name="ServerListenOptions" c:type="SoupServerListenOptions"/> 11760 + </parameter> 11761 + </parameters> 11762 + </method> 11763 + <method name="listen_socket" 11764 + c:identifier="soup_server_listen_socket" 11765 + throws="1"> 11766 + <doc xml:space="preserve" 11767 + filename="libsoup/server/soup-server.c" 11768 + line="1475">Attempts to set up @server to listen for connections on @socket. 11769 + 11770 + See [method@Server.listen] for more details.</doc> 11771 + <source-position filename="libsoup/server/soup-server.h" line="81"/> 11772 + <return-value transfer-ownership="none"> 11773 + <doc xml:space="preserve" 11774 + filename="libsoup/server/soup-server.c" 11775 + line="1486">%TRUE on success, %FALSE if an error occurred (in 11776 + which case @error will be set).</doc> 11777 + <type name="gboolean" c:type="gboolean"/> 11778 + </return-value> 11779 + <parameters> 11780 + <instance-parameter name="server" transfer-ownership="none"> 11781 + <doc xml:space="preserve" 11782 + filename="libsoup/server/soup-server.c" 11783 + line="1477">a #SoupServer</doc> 11784 + <type name="Server" c:type="SoupServer*"/> 11785 + </instance-parameter> 11786 + <parameter name="socket" transfer-ownership="none"> 11787 + <doc xml:space="preserve" 11788 + filename="libsoup/server/soup-server.c" 11789 + line="1478">a listening #GSocket</doc> 11790 + <type name="Gio.Socket" c:type="GSocket*"/> 11791 + </parameter> 11792 + <parameter name="options" transfer-ownership="none"> 11793 + <doc xml:space="preserve" 11794 + filename="libsoup/server/soup-server.c" 11795 + line="1479">listening options for this server</doc> 11796 + <type name="ServerListenOptions" c:type="SoupServerListenOptions"/> 11797 + </parameter> 11798 + </parameters> 11799 + </method> 11800 + <method name="pause_message" 11801 + c:identifier="soup_server_pause_message" 11802 + deprecated="1" 11803 + deprecated-version="3.2"> 11804 + <doc xml:space="preserve" 11805 + filename="libsoup/server/soup-server.c" 11806 + line="1887">Pauses I/O on @msg. 11807 + 11808 + This can be used when you need to return from the server handler without 11809 + having the full response ready yet. Use [method@Server.unpause_message] to 11810 + resume I/O. 11811 + 11812 + This must only be called on a [class@ServerMessage] which was created by the 11813 + #SoupServer and are currently doing I/O, such as those passed into a 11814 + [callback@ServerCallback] or emitted in a [signal@Server::request-read] 11815 + signal.</doc> 11816 + <doc-deprecated xml:space="preserve">Use soup_server_message_pause() instead.</doc-deprecated> 11817 + <source-position filename="libsoup/server/soup-server.h" line="154"/> 11818 + <return-value transfer-ownership="none"> 11819 + <type name="none" c:type="void"/> 11820 + </return-value> 11821 + <parameters> 11822 + <instance-parameter name="server" transfer-ownership="none"> 11823 + <doc xml:space="preserve" 11824 + filename="libsoup/server/soup-server.c" 11825 + line="1889">a #SoupServer</doc> 11826 + <type name="Server" c:type="SoupServer*"/> 11827 + </instance-parameter> 11828 + <parameter name="msg" transfer-ownership="none"> 11829 + <doc xml:space="preserve" 11830 + filename="libsoup/server/soup-server.c" 11831 + line="1890">a #SoupServerMessage associated with @server.</doc> 11832 + <type name="ServerMessage" c:type="SoupServerMessage*"/> 11833 + </parameter> 11834 + </parameters> 11835 + </method> 11836 + <method name="remove_auth_domain" 11837 + c:identifier="soup_server_remove_auth_domain"> 11838 + <doc xml:space="preserve" 11839 + filename="libsoup/server/soup-server.c" 11840 + line="1868">Removes @auth_domain from @server.</doc> 11841 + <source-position filename="libsoup/server/soup-server.h" line="149"/> 11842 + <return-value transfer-ownership="none"> 11843 + <type name="none" c:type="void"/> 11844 + </return-value> 11845 + <parameters> 11846 + <instance-parameter name="server" transfer-ownership="none"> 11847 + <doc xml:space="preserve" 11848 + filename="libsoup/server/soup-server.c" 11849 + line="1870">a #SoupServer</doc> 11850 + <type name="Server" c:type="SoupServer*"/> 11851 + </instance-parameter> 11852 + <parameter name="auth_domain" transfer-ownership="none"> 11853 + <doc xml:space="preserve" 11854 + filename="libsoup/server/soup-server.c" 11855 + line="1871">a #SoupAuthDomain</doc> 11856 + <type name="AuthDomain" c:type="SoupAuthDomain*"/> 11857 + </parameter> 11858 + </parameters> 11859 + </method> 11860 + <method name="remove_handler" c:identifier="soup_server_remove_handler"> 11861 + <doc xml:space="preserve" 11862 + filename="libsoup/server/soup-server.c" 11863 + line="1821">Removes all handlers (early and normal) registered at @path.</doc> 11864 + <source-position filename="libsoup/server/soup-server.h" line="142"/> 11865 + <return-value transfer-ownership="none"> 11866 + <type name="none" c:type="void"/> 11867 + </return-value> 11868 + <parameters> 11869 + <instance-parameter name="server" transfer-ownership="none"> 11870 + <doc xml:space="preserve" 11871 + filename="libsoup/server/soup-server.c" 11872 + line="1823">a #SoupServer</doc> 11873 + <type name="Server" c:type="SoupServer*"/> 11874 + </instance-parameter> 11875 + <parameter name="path" transfer-ownership="none"> 11876 + <doc xml:space="preserve" 11877 + filename="libsoup/server/soup-server.c" 11878 + line="1824">the toplevel path for the handler</doc> 11879 + <type name="utf8" c:type="const char*"/> 11880 + </parameter> 11881 + </parameters> 11882 + </method> 11883 + <method name="remove_websocket_extension" 11884 + c:identifier="soup_server_remove_websocket_extension"> 11885 + <doc xml:space="preserve" 11886 + filename="libsoup/server/soup-server.c" 11887 + line="1972">Removes support for WebSocket extension of type @extension_type (or any subclass of 11888 + @extension_type) from @server.</doc> 11889 + <source-position filename="libsoup/server/soup-server.h" line="138"/> 11890 + <return-value transfer-ownership="none"> 11891 + <type name="none" c:type="void"/> 11892 + </return-value> 11893 + <parameters> 11894 + <instance-parameter name="server" transfer-ownership="none"> 11895 + <doc xml:space="preserve" 11896 + filename="libsoup/server/soup-server.c" 11897 + line="1974">a #SoupServer</doc> 11898 + <type name="Server" c:type="SoupServer*"/> 11899 + </instance-parameter> 11900 + <parameter name="extension_type" transfer-ownership="none"> 11901 + <doc xml:space="preserve" 11902 + filename="libsoup/server/soup-server.c" 11903 + line="1975">a #GType</doc> 11904 + <type name="GType" c:type="GType"/> 11905 + </parameter> 11906 + </parameters> 11907 + </method> 11908 + <method name="set_tls_auth_mode" 11909 + c:identifier="soup_server_set_tls_auth_mode" 11910 + glib:set-property="tls-auth-mode"> 11911 + <attribute name="org.gtk.Method.set_property" value="tls-auth-mode"/> 11912 + <doc xml:space="preserve" 11913 + filename="libsoup/server/soup-server.c" 11914 + line="657">Sets @server's #GTlsAuthenticationMode to use for SSL/TLS client authentication.</doc> 11915 + <source-position filename="libsoup/server/soup-server.h" line="57"/> 11916 + <return-value transfer-ownership="none"> 11917 + <type name="none" c:type="void"/> 11918 + </return-value> 11919 + <parameters> 11920 + <instance-parameter name="server" transfer-ownership="none"> 11921 + <doc xml:space="preserve" 11922 + filename="libsoup/server/soup-server.c" 11923 + line="659">a #SoupServer</doc> 11924 + <type name="Server" c:type="SoupServer*"/> 11925 + </instance-parameter> 11926 + <parameter name="mode" transfer-ownership="none"> 11927 + <doc xml:space="preserve" 11928 + filename="libsoup/server/soup-server.c" 11929 + line="660">a #GTlsAuthenticationMode</doc> 11930 + <type name="Gio.TlsAuthenticationMode" 11931 + c:type="GTlsAuthenticationMode"/> 11932 + </parameter> 11933 + </parameters> 11934 + </method> 11935 + <method name="set_tls_certificate" 11936 + c:identifier="soup_server_set_tls_certificate" 11937 + glib:set-property="tls-certificate"> 11938 + <attribute name="org.gtk.Method.set_property" value="tls-certificate"/> 11939 + <doc xml:space="preserve" 11940 + filename="libsoup/server/soup-server.c" 11941 + line="571">Sets @server up to do https, using the given SSL/TLS @certificate.</doc> 11942 + <source-position filename="libsoup/server/soup-server.h" line="45"/> 11943 + <return-value transfer-ownership="none"> 11944 + <type name="none" c:type="void"/> 11945 + </return-value> 11946 + <parameters> 11947 + <instance-parameter name="server" transfer-ownership="none"> 11948 + <doc xml:space="preserve" 11949 + filename="libsoup/server/soup-server.c" 11950 + line="573">a #SoupServer</doc> 11951 + <type name="Server" c:type="SoupServer*"/> 11952 + </instance-parameter> 11953 + <parameter name="certificate" transfer-ownership="none"> 11954 + <doc xml:space="preserve" 11955 + filename="libsoup/server/soup-server.c" 11956 + line="574">a #GTlsCertificate</doc> 11957 + <type name="Gio.TlsCertificate" c:type="GTlsCertificate*"/> 11958 + </parameter> 11959 + </parameters> 11960 + </method> 11961 + <method name="set_tls_database" 11962 + c:identifier="soup_server_set_tls_database" 11963 + glib:set-property="tls-database"> 11964 + <attribute name="org.gtk.Method.set_property" value="tls-database"/> 11965 + <doc xml:space="preserve" 11966 + filename="libsoup/server/soup-server.c" 11967 + line="614">Sets @server's #GTlsDatabase to use for validating SSL/TLS client certificates.</doc> 11968 + <source-position filename="libsoup/server/soup-server.h" line="51"/> 11969 + <return-value transfer-ownership="none"> 11970 + <type name="none" c:type="void"/> 11971 + </return-value> 11972 + <parameters> 11973 + <instance-parameter name="server" transfer-ownership="none"> 11974 + <doc xml:space="preserve" 11975 + filename="libsoup/server/soup-server.c" 11976 + line="616">a #SoupServer</doc> 11977 + <type name="Server" c:type="SoupServer*"/> 11978 + </instance-parameter> 11979 + <parameter name="tls_database" transfer-ownership="none"> 11980 + <doc xml:space="preserve" 11981 + filename="libsoup/server/soup-server.c" 11982 + line="617">a #GTlsDatabase</doc> 11983 + <type name="Gio.TlsDatabase" c:type="GTlsDatabase*"/> 11984 + </parameter> 11985 + </parameters> 11986 + </method> 11987 + <method name="unpause_message" 11988 + c:identifier="soup_server_unpause_message" 11989 + deprecated="1" 11990 + deprecated-version="3.2"> 11991 + <doc xml:space="preserve" 11992 + filename="libsoup/server/soup-server.c" 11993 + line="1914">Resumes I/O on @msg. 11994 + 11995 + Use this to resume after calling [method@Server.pause_message], or after 11996 + adding a new chunk to a chunked response. 11997 + 11998 + I/O won't actually resume until you return to the main loop. 11999 + 12000 + This must only be called on a [class@ServerMessage] which was created by the 12001 + #SoupServer and are currently doing I/O, such as those passed into a 12002 + [callback@ServerCallback] or emitted in a [signal@Server::request-read] 12003 + signal.</doc> 12004 + <doc-deprecated xml:space="preserve">Use soup_server_message_unpause() instead.</doc-deprecated> 12005 + <source-position filename="libsoup/server/soup-server.h" line="157"/> 12006 + <return-value transfer-ownership="none"> 12007 + <type name="none" c:type="void"/> 12008 + </return-value> 12009 + <parameters> 12010 + <instance-parameter name="server" transfer-ownership="none"> 12011 + <doc xml:space="preserve" 12012 + filename="libsoup/server/soup-server.c" 12013 + line="1916">a #SoupServer</doc> 12014 + <type name="Server" c:type="SoupServer*"/> 12015 + </instance-parameter> 12016 + <parameter name="msg" transfer-ownership="none"> 12017 + <doc xml:space="preserve" 12018 + filename="libsoup/server/soup-server.c" 12019 + line="1917">a #SoupServerMessage associated with @server.</doc> 12020 + <type name="ServerMessage" c:type="SoupServerMessage*"/> 12021 + </parameter> 12022 + </parameters> 12023 + </method> 12024 + <property name="raw-paths" 12025 + writable="1" 12026 + construct-only="1" 12027 + transfer-ownership="none" 12028 + default-value="FALSE"> 12029 + <doc xml:space="preserve" 12030 + filename="libsoup/server/soup-server.c" 12031 + line="487">If %TRUE, percent-encoding in the Request-URI path will not be 12032 + automatically decoded.</doc> 12033 + <type name="gboolean" c:type="gboolean"/> 12034 + </property> 12035 + <property name="server-header" 12036 + writable="1" 12037 + construct="1" 12038 + transfer-ownership="none" 12039 + default-value="NULL"> 12040 + <doc xml:space="preserve" 12041 + filename="libsoup/server/soup-server.c" 12042 + line="502">Server header. 12043 + 12044 + If non-%NULL, the value to use for the "Server" header on 12045 + [class@ServerMessage]s processed by this server. 12046 + 12047 + The Server header is the server equivalent of the 12048 + User-Agent header, and provides information about the 12049 + server and its components. It contains a list of one or 12050 + more product tokens, separated by whitespace, with the most 12051 + significant product token coming first. The tokens must be 12052 + brief, ASCII, and mostly alphanumeric (although "-", "_", 12053 + and "." are also allowed), and may optionally include a "/" 12054 + followed by a version string. You may also put comments, 12055 + enclosed in parentheses, between or after the tokens. 12056 + 12057 + Some HTTP server implementations intentionally do not use 12058 + version numbers in their Server header, so that 12059 + installations running older versions of the server don't 12060 + end up advertising their vulnerability to specific security 12061 + holes. 12062 + 12063 + As with [property@Session:user_agent], if you set a 12064 + [property@Server:server-header] property that has trailing 12065 + whitespace, #SoupServer will append its own product token (eg, 12066 + `libsoup/2.3.2`) to the end of the header for you.</doc> 12067 + <type name="utf8" c:type="gchar*"/> 12068 + </property> 12069 + <property name="tls-auth-mode" 12070 + writable="1" 12071 + construct="1" 12072 + transfer-ownership="none" 12073 + setter="set_tls_auth_mode" 12074 + getter="get_tls_auth_mode" 12075 + default-value="G_TLS_AUTHENTICATION_NONE"> 12076 + <attribute name="org.gtk.Property.get" 12077 + value="soup_server_get_tls_auth_mode"/> 12078 + <attribute name="org.gtk.Property.set" 12079 + value="soup_server_set_tls_auth_mode"/> 12080 + <doc xml:space="preserve" 12081 + filename="libsoup/server/soup-server.c" 12082 + line="472">A [enum@Gio.TlsAuthenticationMode] for SSL/TLS client authentication.</doc> 12083 + <type name="Gio.TlsAuthenticationMode"/> 12084 + </property> 12085 + <property name="tls-certificate" 12086 + writable="1" 12087 + construct="1" 12088 + transfer-ownership="none" 12089 + setter="set_tls_certificate" 12090 + getter="get_tls_certificate"> 12091 + <attribute name="org.gtk.Property.get" 12092 + value="soup_server_get_tls_certificate"/> 12093 + <attribute name="org.gtk.Property.set" 12094 + value="soup_server_set_tls_certificate"/> 12095 + <doc xml:space="preserve" 12096 + filename="libsoup/server/soup-server.c" 12097 + line="439">A [class@Gio.TlsCertificate[] that has a 12098 + [property@Gio.TlsCertificate:private-key] set. 12099 + 12100 + If this is set, then the server will be able to speak 12101 + https in addition to (or instead of) plain http.</doc> 12102 + <type name="Gio.TlsCertificate"/> 12103 + </property> 12104 + <property name="tls-database" 12105 + writable="1" 12106 + construct="1" 12107 + transfer-ownership="none" 12108 + setter="set_tls_database" 12109 + getter="get_tls_database"> 12110 + <attribute name="org.gtk.Property.get" 12111 + value="soup_server_get_tls_database"/> 12112 + <attribute name="org.gtk.Property.set" 12113 + value="soup_server_set_tls_database"/> 12114 + <doc xml:space="preserve" 12115 + filename="libsoup/server/soup-server.c" 12116 + line="457">A [class@Gio.TlsDatabase] to use for validating SSL/TLS client 12117 + certificates.</doc> 12118 + <type name="Gio.TlsDatabase"/> 12119 + </property> 12120 + <field name="parent_instance"> 12121 + <type name="GObject.Object" c:type="GObject"/> 12122 + </field> 12123 + <glib:signal name="request-aborted" when="first"> 12124 + <doc xml:space="preserve" 12125 + filename="libsoup/server/soup-server.c" 12126 + line="411">Emitted when processing has failed for a message. 12127 + 12128 + This could mean either that it could not be read (if 12129 + [signal@Server::request-read] has not been emitted for it yet), or that 12130 + the response could not be written back (if [signal@Server::request-read] 12131 + has been emitted but [signal@Server::request-finished] has not been). 12132 + 12133 + @message is in an undefined state when this signal is 12134 + emitted; the signal exists primarily to allow the server to 12135 + free any state that it may have allocated in 12136 + [signal@Server::request-started].</doc> 12137 + <return-value transfer-ownership="none"> 12138 + <type name="none" c:type="void"/> 12139 + </return-value> 12140 + <parameters> 12141 + <parameter name="message" transfer-ownership="none"> 12142 + <doc xml:space="preserve" 12143 + filename="libsoup/server/soup-server.c" 12144 + line="414">the message</doc> 12145 + <type name="ServerMessage"/> 12146 + </parameter> 12147 + </parameters> 12148 + </glib:signal> 12149 + <glib:signal name="request-finished" when="first"> 12150 + <doc xml:space="preserve" 12151 + filename="libsoup/server/soup-server.c" 12152 + line="393">Emitted when the server has finished writing a response to 12153 + a request.</doc> 12154 + <return-value transfer-ownership="none"> 12155 + <type name="none" c:type="void"/> 12156 + </return-value> 12157 + <parameters> 12158 + <parameter name="message" transfer-ownership="none"> 12159 + <doc xml:space="preserve" 12160 + filename="libsoup/server/soup-server.c" 12161 + line="396">the message</doc> 12162 + <type name="ServerMessage"/> 12163 + </parameter> 12164 + </parameters> 12165 + </glib:signal> 12166 + <glib:signal name="request-read" when="first"> 12167 + <doc xml:space="preserve" 12168 + filename="libsoup/server/soup-server.c" 12169 + line="369">Emitted when the server has successfully read a request. 12170 + 12171 + @message will have all of its request-side information 12172 + filled in, and if the message was authenticated, @client 12173 + will have information about that. This signal is emitted 12174 + before any (non-early) handlers are called for the message, 12175 + and if it sets the message's #status_code, then normal 12176 + handler processing will be skipped.</doc> 12177 + <return-value transfer-ownership="none"> 12178 + <type name="none" c:type="void"/> 12179 + </return-value> 12180 + <parameters> 12181 + <parameter name="message" transfer-ownership="none"> 12182 + <doc xml:space="preserve" 12183 + filename="libsoup/server/soup-server.c" 12184 + line="372">the message</doc> 12185 + <type name="ServerMessage"/> 12186 + </parameter> 12187 + </parameters> 12188 + </glib:signal> 12189 + <glib:signal name="request-started" when="first"> 12190 + <doc xml:space="preserve" 12191 + filename="libsoup/server/soup-server.c" 12192 + line="341">Emitted when the server has started reading a new request. 12193 + 12194 + @message will be completely blank; not even the 12195 + Request-Line will have been read yet. About the only thing 12196 + you can usefully do with it is connect to its signals. 12197 + 12198 + If the request is read successfully, this will eventually 12199 + be followed by a [signal@Server::request_read signal]. If a 12200 + response is then sent, the request processing will end with 12201 + a [signal@Server::request-finished] signal. If a network error 12202 + occurs, the processing will instead end with 12203 + [signal@Server::request-aborted].</doc> 12204 + <return-value transfer-ownership="none"> 12205 + <type name="none" c:type="void"/> 12206 + </return-value> 12207 + <parameters> 12208 + <parameter name="message" transfer-ownership="none"> 12209 + <doc xml:space="preserve" 12210 + filename="libsoup/server/soup-server.c" 12211 + line="344">the new message</doc> 12212 + <type name="ServerMessage"/> 12213 + </parameter> 12214 + </parameters> 12215 + </glib:signal> 12216 + </class> 12217 + <callback name="ServerCallback" c:type="SoupServerCallback"> 12218 + <doc xml:space="preserve" 12219 + filename="libsoup/server/soup-server.c" 12220 + line="1570">A callback used to handle requests to a [class@Server]. 12221 + 12222 + @path and @query contain the likewise-named components of the 12223 + Request-URI, subject to certain assumptions. By default, 12224 + [class@Server] decodes all percent-encoding in the URI path, such that 12225 + `"/foo%2Fbar"` is treated the same as `"/foo/bar"`. If your 12226 + server is serving resources in some non-POSIX-filesystem namespace, 12227 + you may want to distinguish those as two distinct paths. In that 12228 + case, you can set the [property@Server:raw-paths] property when creating 12229 + the [class@Server], and it will leave those characters undecoded. 12230 + 12231 + @query contains the query component of the Request-URI parsed according to 12232 + the rules for HTML form handling. Although this is the only commonly-used 12233 + query string format in HTTP, there is nothing that actually requires that 12234 + HTTP URIs use that format; if your server needs to use some other format, you 12235 + can just ignore @query, and call [method@Message.get_uri] and parse the URI's 12236 + query field yourself. 12237 + 12238 + See [method@Server.add_handler] and [method@Server.add_early_handler] 12239 + for details of what handlers can/should do.</doc> 12240 + <source-position filename="libsoup/server/soup-server.h" line="102"/> 12241 + <return-value transfer-ownership="none"> 12242 + <type name="none" c:type="void"/> 12243 + </return-value> 12244 + <parameters> 12245 + <parameter name="server" transfer-ownership="none"> 12246 + <doc xml:space="preserve" 12247 + filename="libsoup/server/soup-server.c" 12248 + line="1572">the #SoupServer</doc> 12249 + <type name="Server" c:type="SoupServer*"/> 12250 + </parameter> 12251 + <parameter name="msg" transfer-ownership="none"> 12252 + <doc xml:space="preserve" 12253 + filename="libsoup/server/soup-server.c" 12254 + line="1573">the message being processed</doc> 12255 + <type name="ServerMessage" c:type="SoupServerMessage*"/> 12256 + </parameter> 12257 + <parameter name="path" transfer-ownership="none"> 12258 + <doc xml:space="preserve" 12259 + filename="libsoup/server/soup-server.c" 12260 + line="1574">the path component of @msg's Request-URI</doc> 12261 + <type name="utf8" c:type="const char*"/> 12262 + </parameter> 12263 + <parameter name="query" 12264 + transfer-ownership="none" 12265 + nullable="1" 12266 + allow-none="1"> 12267 + <doc xml:space="preserve" 12268 + filename="libsoup/server/soup-server.c" 12269 + line="1575">the parsed query 12270 + component of @msg's Request-URI</doc> 12271 + <type name="GLib.HashTable" c:type="GHashTable*"> 12272 + <type name="utf8"/> 12273 + <type name="utf8"/> 12274 + </type> 12275 + </parameter> 12276 + <parameter name="user_data" 12277 + transfer-ownership="none" 12278 + nullable="1" 12279 + allow-none="1" 12280 + closure="4"> 12281 + <doc xml:space="preserve" 12282 + filename="libsoup/server/soup-server.c" 12283 + line="1577">the data passed to [method@Server.add_handler] or 12284 + [method@Server.add_early_handler].</doc> 12285 + <type name="gpointer" c:type="gpointer"/> 12286 + </parameter> 12287 + </parameters> 12288 + </callback> 12289 + <record name="ServerClass" 12290 + c:type="SoupServerClass" 12291 + glib:is-gtype-struct-for="Server"> 12292 + <source-position filename="libsoup/server/soup-server.h" line="38"/> 12293 + <field name="parent_class"> 12294 + <type name="GObject.ObjectClass" c:type="GObjectClass"/> 12295 + </field> 12296 + <field name="request_started"> 12297 + <callback name="request_started"> 12298 + <source-position filename="libsoup/server/soup-server.h" line="28"/> 12299 + <return-value transfer-ownership="none"> 12300 + <type name="none" c:type="void"/> 12301 + </return-value> 12302 + <parameters> 12303 + <parameter name="server" transfer-ownership="none"> 12304 + <type name="Server" c:type="SoupServer*"/> 12305 + </parameter> 12306 + <parameter name="msg" transfer-ownership="none"> 12307 + <type name="ServerMessage" c:type="SoupServerMessage*"/> 12308 + </parameter> 12309 + </parameters> 12310 + </callback> 12311 + </field> 12312 + <field name="request_read"> 12313 + <callback name="request_read"> 12314 + <source-position filename="libsoup/server/soup-server.h" line="30"/> 12315 + <return-value transfer-ownership="none"> 12316 + <type name="none" c:type="void"/> 12317 + </return-value> 12318 + <parameters> 12319 + <parameter name="server" transfer-ownership="none"> 12320 + <type name="Server" c:type="SoupServer*"/> 12321 + </parameter> 12322 + <parameter name="msg" transfer-ownership="none"> 12323 + <type name="ServerMessage" c:type="SoupServerMessage*"/> 12324 + </parameter> 12325 + </parameters> 12326 + </callback> 12327 + </field> 12328 + <field name="request_finished"> 12329 + <callback name="request_finished"> 12330 + <source-position filename="libsoup/server/soup-server.h" line="32"/> 12331 + <return-value transfer-ownership="none"> 12332 + <type name="none" c:type="void"/> 12333 + </return-value> 12334 + <parameters> 12335 + <parameter name="server" transfer-ownership="none"> 12336 + <type name="Server" c:type="SoupServer*"/> 12337 + </parameter> 12338 + <parameter name="msg" transfer-ownership="none"> 12339 + <type name="ServerMessage" c:type="SoupServerMessage*"/> 12340 + </parameter> 12341 + </parameters> 12342 + </callback> 12343 + </field> 12344 + <field name="request_aborted"> 12345 + <callback name="request_aborted"> 12346 + <source-position filename="libsoup/server/soup-server.h" line="34"/> 12347 + <return-value transfer-ownership="none"> 12348 + <type name="none" c:type="void"/> 12349 + </return-value> 12350 + <parameters> 12351 + <parameter name="server" transfer-ownership="none"> 12352 + <type name="Server" c:type="SoupServer*"/> 12353 + </parameter> 12354 + <parameter name="msg" transfer-ownership="none"> 12355 + <type name="ServerMessage" c:type="SoupServerMessage*"/> 12356 + </parameter> 12357 + </parameters> 12358 + </callback> 12359 + </field> 12360 + <field name="padding"> 12361 + <array zero-terminated="0" fixed-size="6"> 12362 + <type name="gpointer" c:type="gpointer"/> 12363 + </array> 12364 + </field> 12365 + </record> 12366 + <bitfield name="ServerListenOptions" 12367 + glib:type-name="SoupServerListenOptions" 12368 + glib:get-type="soup_server_listen_options_get_type" 12369 + c:type="SoupServerListenOptions"> 12370 + <doc xml:space="preserve" 12371 + filename="libsoup/server/soup-server.c" 12372 + line="1188">Options to pass to [method@Server.listen], etc. 12373 + 12374 + %SOUP_SERVER_LISTEN_IPV4_ONLY and %SOUP_SERVER_LISTEN_IPV6_ONLY 12375 + only make sense with [method@Server.listen_all] and 12376 + [method@Server.listen_local], not plain [method@Server.listen] (which 12377 + simply listens on whatever kind of socket you give it). And you 12378 + cannot specify both of them in a single call.</doc> 12379 + <member name="https" 12380 + value="1" 12381 + c:identifier="SOUP_SERVER_LISTEN_HTTPS" 12382 + glib:nick="https" 12383 + glib:name="SOUP_SERVER_LISTEN_HTTPS"> 12384 + <doc xml:space="preserve" 12385 + filename="libsoup/server/soup-server.c" 12386 + line="1190">Listen for https connections rather 12387 + than plain http.</doc> 12388 + </member> 12389 + <member name="ipv4_only" 12390 + value="2" 12391 + c:identifier="SOUP_SERVER_LISTEN_IPV4_ONLY" 12392 + glib:nick="ipv4-only" 12393 + glib:name="SOUP_SERVER_LISTEN_IPV4_ONLY"> 12394 + <doc xml:space="preserve" 12395 + filename="libsoup/server/soup-server.c" 12396 + line="1192">Only listen on IPv4 interfaces.</doc> 12397 + </member> 12398 + <member name="ipv6_only" 12399 + value="4" 12400 + c:identifier="SOUP_SERVER_LISTEN_IPV6_ONLY" 12401 + glib:nick="ipv6-only" 12402 + glib:name="SOUP_SERVER_LISTEN_IPV6_ONLY"> 12403 + <doc xml:space="preserve" 12404 + filename="libsoup/server/soup-server.c" 12405 + line="1193">Only listen on IPv6 interfaces.</doc> 12406 + </member> 12407 + </bitfield> 12408 + <class name="ServerMessage" 12409 + c:symbol-prefix="server_message" 12410 + c:type="SoupServerMessage" 12411 + parent="GObject.Object" 12412 + final="1" 12413 + glib:type-name="SoupServerMessage" 12414 + glib:get-type="soup_server_message_get_type" 12415 + glib:type-struct="ServerMessageClass"> 12416 + <doc xml:space="preserve" 12417 + filename="libsoup/server/soup-server-message.c" 12418 + line="20">An HTTP server request and response pair. 12419 + 12420 + A SoupServerMessage represents an HTTP message that is being sent or 12421 + received on a [class@Server]. 12422 + 12423 + [class@Server] will create `SoupServerMessage`s automatically for 12424 + incoming requests, which your application will receive via handlers. 12425 + 12426 + Note that libsoup's terminology here does not quite match the HTTP 12427 + specification: in RFC 2616, an "HTTP-message" is *either* a Request, *or* a 12428 + Response. In libsoup, a #SoupServerMessage combines both the request and the 12429 + response.</doc> 12430 + <source-position filename="libsoup/server/soup-server-message.h" 12431 + line="17"/> 12432 + <method name="get_http_version" 12433 + c:identifier="soup_server_message_get_http_version"> 12434 + <doc xml:space="preserve" 12435 + filename="libsoup/server/soup-server-message.c" 12436 + line="808">Get the HTTP version of @msg.</doc> 12437 + <source-position filename="libsoup/server/soup-server-message.h" 12438 + line="35"/> 12439 + <return-value transfer-ownership="none"> 12440 + <doc xml:space="preserve" 12441 + filename="libsoup/server/soup-server-message.c" 12442 + line="814">a #SoupHTTPVersion.</doc> 12443 + <type name="HTTPVersion" c:type="SoupHTTPVersion"/> 12444 + </return-value> 12445 + <parameters> 12446 + <instance-parameter name="msg" transfer-ownership="none"> 12447 + <doc xml:space="preserve" 12448 + filename="libsoup/server/soup-server-message.c" 12449 + line="810">a #SoupServerMessage</doc> 12450 + <type name="ServerMessage" c:type="SoupServerMessage*"/> 12451 + </instance-parameter> 12452 + </parameters> 12453 + </method> 12454 + <method name="get_local_address" 12455 + c:identifier="soup_server_message_get_local_address"> 12456 + <doc xml:space="preserve" 12457 + filename="libsoup/server/soup-server-message.c" 12458 + line="1031">Retrieves the [class@Gio.SocketAddress] associated with the local end 12459 + of a connection.</doc> 12460 + <source-position filename="libsoup/server/soup-server-message.h" 12461 + line="69"/> 12462 + <return-value transfer-ownership="none" nullable="1"> 12463 + <doc xml:space="preserve" 12464 + filename="libsoup/server/soup-server-message.c" 12465 + line="1038">the #GSocketAddress 12466 + associated with the local end of a connection, it may be 12467 + %NULL if you used [method@Server.accept_iostream].</doc> 12468 + <type name="Gio.SocketAddress" c:type="GSocketAddress*"/> 12469 + </return-value> 12470 + <parameters> 12471 + <instance-parameter name="msg" transfer-ownership="none"> 12472 + <doc xml:space="preserve" 12473 + filename="libsoup/server/soup-server-message.c" 12474 + line="1033">a #SoupServerMessage</doc> 12475 + <type name="ServerMessage" c:type="SoupServerMessage*"/> 12476 + </instance-parameter> 12477 + </parameters> 12478 + </method> 12479 + <method name="get_method" c:identifier="soup_server_message_get_method"> 12480 + <doc xml:space="preserve" 12481 + filename="libsoup/server/soup-server-message.c" 12482 + line="762">Get the HTTP method of @msg.</doc> 12483 + <source-position filename="libsoup/server/soup-server-message.h" 12484 + line="32"/> 12485 + <return-value transfer-ownership="none"> 12486 + <doc xml:space="preserve" 12487 + filename="libsoup/server/soup-server-message.c" 12488 + line="768">the HTTP method.</doc> 12489 + <type name="utf8" c:type="const char*"/> 12490 + </return-value> 12491 + <parameters> 12492 + <instance-parameter name="msg" transfer-ownership="none"> 12493 + <doc xml:space="preserve" 12494 + filename="libsoup/server/soup-server-message.c" 12495 + line="764">a #SoupServerMessage</doc> 12496 + <type name="ServerMessage" c:type="SoupServerMessage*"/> 12497 + </instance-parameter> 12498 + </parameters> 12499 + </method> 12500 + <method name="get_reason_phrase" 12501 + c:identifier="soup_server_message_get_reason_phrase"> 12502 + <doc xml:space="preserve" 12503 + filename="libsoup/server/soup-server-message.c" 12504 + line="842">Get the HTTP reason phrase of @msg.</doc> 12505 + <source-position filename="libsoup/server/soup-server-message.h" 12506 + line="42"/> 12507 + <return-value transfer-ownership="none" nullable="1"> 12508 + <doc xml:space="preserve" 12509 + filename="libsoup/server/soup-server-message.c" 12510 + line="848">the reason phrase.</doc> 12511 + <type name="utf8" c:type="const char*"/> 12512 + </return-value> 12513 + <parameters> 12514 + <instance-parameter name="msg" transfer-ownership="none"> 12515 + <doc xml:space="preserve" 12516 + filename="libsoup/server/soup-server-message.c" 12517 + line="844">a #SoupServerMessage:</doc> 12518 + <type name="ServerMessage" c:type="SoupServerMessage*"/> 12519 + </instance-parameter> 12520 + </parameters> 12521 + </method> 12522 + <method name="get_remote_address" 12523 + c:identifier="soup_server_message_get_remote_address"> 12524 + <doc xml:space="preserve" 12525 + filename="libsoup/server/soup-server-message.c" 12526 + line="1012">Retrieves the [class@Gio.SocketAddress] associated with the remote end 12527 + of a connection.</doc> 12528 + <source-position filename="libsoup/server/soup-server-message.h" 12529 + line="72"/> 12530 + <return-value transfer-ownership="none" nullable="1"> 12531 + <doc xml:space="preserve" 12532 + filename="libsoup/server/soup-server-message.c" 12533 + line="1019">the #GSocketAddress 12534 + associated with the remote end of a connection, it may be 12535 + %NULL if you used [class@Server.accept_iostream].</doc> 12536 + <type name="Gio.SocketAddress" c:type="GSocketAddress*"/> 12537 + </return-value> 12538 + <parameters> 12539 + <instance-parameter name="msg" transfer-ownership="none"> 12540 + <doc xml:space="preserve" 12541 + filename="libsoup/server/soup-server-message.c" 12542 + line="1014">a #SoupServerMessage</doc> 12543 + <type name="ServerMessage" c:type="SoupServerMessage*"/> 12544 + </instance-parameter> 12545 + </parameters> 12546 + </method> 12547 + <method name="get_remote_host" 12548 + c:identifier="soup_server_message_get_remote_host"> 12549 + <doc xml:space="preserve" 12550 + filename="libsoup/server/soup-server-message.c" 12551 + line="1050">Retrieves the IP address associated with the remote end of a 12552 + connection.</doc> 12553 + <source-position filename="libsoup/server/soup-server-message.h" 12554 + line="75"/> 12555 + <return-value transfer-ownership="none" nullable="1"> 12556 + <doc xml:space="preserve" 12557 + filename="libsoup/server/soup-server-message.c" 12558 + line="1057">the IP address associated with the remote 12559 + end of a connection, it may be %NULL if you used 12560 + [method@Server.accept_iostream].</doc> 12561 + <type name="utf8" c:type="const char*"/> 12562 + </return-value> 12563 + <parameters> 12564 + <instance-parameter name="msg" transfer-ownership="none"> 12565 + <doc xml:space="preserve" 12566 + filename="libsoup/server/soup-server-message.c" 12567 + line="1052">a #SoupServerMessage</doc> 12568 + <type name="ServerMessage" c:type="SoupServerMessage*"/> 12569 + </instance-parameter> 12570 + </parameters> 12571 + </method> 12572 + <method name="get_request_body" 12573 + c:identifier="soup_server_message_get_request_body"> 12574 + <doc xml:space="preserve" 12575 + filename="libsoup/server/soup-server-message.c" 12576 + line="730">Get the request body of @msg.</doc> 12577 + <source-position filename="libsoup/server/soup-server-message.h" 12578 + line="26"/> 12579 + <return-value transfer-ownership="none"> 12580 + <doc xml:space="preserve" 12581 + filename="libsoup/server/soup-server-message.c" 12582 + line="736">a #SoupMessageBody.</doc> 12583 + <type name="MessageBody" c:type="SoupMessageBody*"/> 12584 + </return-value> 12585 + <parameters> 12586 + <instance-parameter name="msg" transfer-ownership="none"> 12587 + <doc xml:space="preserve" 12588 + filename="libsoup/server/soup-server-message.c" 12589 + line="732">a #SoupServerMessage</doc> 12590 + <type name="ServerMessage" c:type="SoupServerMessage*"/> 12591 + </instance-parameter> 12592 + </parameters> 12593 + </method> 12594 + <method name="get_request_headers" 12595 + c:identifier="soup_server_message_get_request_headers"> 12596 + <doc xml:space="preserve" 12597 + filename="libsoup/server/soup-server-message.c" 12598 + line="698">Get the request headers of @msg.</doc> 12599 + <source-position filename="libsoup/server/soup-server-message.h" 12600 + line="20"/> 12601 + <return-value transfer-ownership="none"> 12602 + <doc xml:space="preserve" 12603 + filename="libsoup/server/soup-server-message.c" 12604 + line="704">a #SoupMessageHeaders with the request headers.</doc> 12605 + <type name="MessageHeaders" c:type="SoupMessageHeaders*"/> 12606 + </return-value> 12607 + <parameters> 12608 + <instance-parameter name="msg" transfer-ownership="none"> 12609 + <doc xml:space="preserve" 12610 + filename="libsoup/server/soup-server-message.c" 12611 + line="700">a #SoupServerMessage</doc> 12612 + <type name="ServerMessage" c:type="SoupServerMessage*"/> 12613 + </instance-parameter> 12614 + </parameters> 12615 + </method> 12616 + <method name="get_response_body" 12617 + c:identifier="soup_server_message_get_response_body"> 12618 + <doc xml:space="preserve" 12619 + filename="libsoup/server/soup-server-message.c" 12620 + line="746">Get the response body of @msg.</doc> 12621 + <source-position filename="libsoup/server/soup-server-message.h" 12622 + line="29"/> 12623 + <return-value transfer-ownership="none"> 12624 + <doc xml:space="preserve" 12625 + filename="libsoup/server/soup-server-message.c" 12626 + line="752">a #SoupMessageBody.</doc> 12627 + <type name="MessageBody" c:type="SoupMessageBody*"/> 12628 + </return-value> 12629 + <parameters> 12630 + <instance-parameter name="msg" transfer-ownership="none"> 12631 + <doc xml:space="preserve" 12632 + filename="libsoup/server/soup-server-message.c" 12633 + line="748">a #SoupServerMessage</doc> 12634 + <type name="ServerMessage" c:type="SoupServerMessage*"/> 12635 + </instance-parameter> 12636 + </parameters> 12637 + </method> 12638 + <method name="get_response_headers" 12639 + c:identifier="soup_server_message_get_response_headers"> 12640 + <doc xml:space="preserve" 12641 + filename="libsoup/server/soup-server-message.c" 12642 + line="714">Get the response headers of @msg.</doc> 12643 + <source-position filename="libsoup/server/soup-server-message.h" 12644 + line="23"/> 12645 + <return-value transfer-ownership="none"> 12646 + <doc xml:space="preserve" 12647 + filename="libsoup/server/soup-server-message.c" 12648 + line="720">a #SoupMessageHeaders with the response headers.</doc> 12649 + <type name="MessageHeaders" c:type="SoupMessageHeaders*"/> 12650 + </return-value> 12651 + <parameters> 12652 + <instance-parameter name="msg" transfer-ownership="none"> 12653 + <doc xml:space="preserve" 12654 + filename="libsoup/server/soup-server-message.c" 12655 + line="716">a #SoupServerMessage</doc> 12656 + <type name="ServerMessage" c:type="SoupServerMessage*"/> 12657 + </instance-parameter> 12658 + </parameters> 12659 + </method> 12660 + <method name="get_socket" c:identifier="soup_server_message_get_socket"> 12661 + <doc xml:space="preserve" 12662 + filename="libsoup/server/soup-server-message.c" 12663 + line="988">Retrieves the [class@Gio.Socket] that @msg is associated with. 12664 + 12665 + If you are using this method to observe when multiple requests are 12666 + made on the same persistent HTTP connection (eg, as the ntlm-test 12667 + test program does), you will need to pay attention to socket 12668 + destruction as well (eg, by using weak references), so that you do 12669 + not get fooled when the allocator reuses the memory address of a 12670 + previously-destroyed socket to represent a new socket.</doc> 12671 + <source-position filename="libsoup/server/soup-server-message.h" 12672 + line="66"/> 12673 + <return-value transfer-ownership="none" nullable="1"> 12674 + <doc xml:space="preserve" 12675 + filename="libsoup/server/soup-server-message.c" 12676 + line="1001">the #GSocket that @msg is 12677 + associated with, %NULL if you used [method@Server.accept_iostream].</doc> 12678 + <type name="Gio.Socket" c:type="GSocket*"/> 12679 + </return-value> 12680 + <parameters> 12681 + <instance-parameter name="msg" transfer-ownership="none"> 12682 + <doc xml:space="preserve" 12683 + filename="libsoup/server/soup-server-message.c" 12684 + line="990">a #SoupServerMessage</doc> 12685 + <type name="ServerMessage" c:type="SoupServerMessage*"/> 12686 + </instance-parameter> 12687 + </parameters> 12688 + </method> 12689 + <method name="get_status" c:identifier="soup_server_message_get_status"> 12690 + <doc xml:space="preserve" 12691 + filename="libsoup/server/soup-server-message.c" 12692 + line="858">Get the HTTP status code of @msg.</doc> 12693 + <source-position filename="libsoup/server/soup-server-message.h" 12694 + line="45"/> 12695 + <return-value transfer-ownership="none"> 12696 + <doc xml:space="preserve" 12697 + filename="libsoup/server/soup-server-message.c" 12698 + line="864">the HTTP status code.</doc> 12699 + <type name="guint" c:type="guint"/> 12700 + </return-value> 12701 + <parameters> 12702 + <instance-parameter name="msg" transfer-ownership="none"> 12703 + <doc xml:space="preserve" 12704 + filename="libsoup/server/soup-server-message.c" 12705 + line="860">a #SoupServerMessage</doc> 12706 + <type name="ServerMessage" c:type="SoupServerMessage*"/> 12707 + </instance-parameter> 12708 + </parameters> 12709 + </method> 12710 + <method name="get_tls_peer_certificate" 12711 + c:identifier="soup_server_message_get_tls_peer_certificate" 12712 + glib:get-property="tls-peer-certificate" 12713 + version="3.2"> 12714 + <doc xml:space="preserve" 12715 + filename="libsoup/server/soup-server-message.c" 12716 + line="1113">Gets the peer's #GTlsCertificate associated with @msg's connection. 12717 + Note that this is not set yet during the emission of 12718 + SoupServerMessage::accept-certificate signal.</doc> 12719 + <source-position filename="libsoup/server/soup-server-message.h" 12720 + line="90"/> 12721 + <return-value transfer-ownership="none" nullable="1"> 12722 + <doc xml:space="preserve" 12723 + filename="libsoup/server/soup-server-message.c" 12724 + line="1121">@msg's TLS peer certificate, 12725 + or %NULL if @msg's connection is not SSL.</doc> 12726 + <type name="Gio.TlsCertificate" c:type="GTlsCertificate*"/> 12727 + </return-value> 12728 + <parameters> 12729 + <instance-parameter name="msg" transfer-ownership="none"> 12730 + <doc xml:space="preserve" 12731 + filename="libsoup/server/soup-server-message.c" 12732 + line="1115">a #SoupMessage</doc> 12733 + <type name="ServerMessage" c:type="SoupServerMessage*"/> 12734 + </instance-parameter> 12735 + </parameters> 12736 + </method> 12737 + <method name="get_tls_peer_certificate_errors" 12738 + c:identifier="soup_server_message_get_tls_peer_certificate_errors" 12739 + glib:get-property="tls-peer-certificate-errors" 12740 + version="3.2"> 12741 + <doc xml:space="preserve" 12742 + filename="libsoup/server/soup-server-message.c" 12743 + line="1134">Gets the errors associated with validating @msg's TLS peer certificate. 12744 + Note that this is not set yet during the emission of 12745 + SoupServerMessage::accept-certificate signal.</doc> 12746 + <source-position filename="libsoup/server/soup-server-message.h" 12747 + line="93"/> 12748 + <return-value transfer-ownership="none"> 12749 + <doc xml:space="preserve" 12750 + filename="libsoup/server/soup-server-message.c" 12751 + line="1142">a #GTlsCertificateFlags with @msg's TLS peer certificate errors.</doc> 12752 + <type name="Gio.TlsCertificateFlags" c:type="GTlsCertificateFlags"/> 12753 + </return-value> 12754 + <parameters> 12755 + <instance-parameter name="msg" transfer-ownership="none"> 12756 + <doc xml:space="preserve" 12757 + filename="libsoup/server/soup-server-message.c" 12758 + line="1136">a #SoupMessage</doc> 12759 + <type name="ServerMessage" c:type="SoupServerMessage*"/> 12760 + </instance-parameter> 12761 + </parameters> 12762 + </method> 12763 + <method name="get_uri" c:identifier="soup_server_message_get_uri"> 12764 + <doc xml:space="preserve" 12765 + filename="libsoup/server/soup-server-message.c" 12766 + line="899">Get @msg's URI.</doc> 12767 + <source-position filename="libsoup/server/soup-server-message.h" 12768 + line="52"/> 12769 + <return-value transfer-ownership="none"> 12770 + <doc xml:space="preserve" 12771 + filename="libsoup/server/soup-server-message.c" 12772 + line="905">a #GUri</doc> 12773 + <type name="GLib.Uri" c:type="GUri*"/> 12774 + </return-value> 12775 + <parameters> 12776 + <instance-parameter name="msg" transfer-ownership="none"> 12777 + <doc xml:space="preserve" 12778 + filename="libsoup/server/soup-server-message.c" 12779 + line="901">a #SoupServerMessage</doc> 12780 + <type name="ServerMessage" c:type="SoupServerMessage*"/> 12781 + </instance-parameter> 12782 + </parameters> 12783 + </method> 12784 + <method name="is_options_ping" 12785 + c:identifier="soup_server_message_is_options_ping"> 12786 + <doc xml:space="preserve" 12787 + filename="libsoup/server/soup-server-message.c" 12788 + line="792">Gets if @msg represents an OPTIONS message with the path `*`.</doc> 12789 + <source-position filename="libsoup/server/soup-server-message.h" 12790 + line="81"/> 12791 + <return-value transfer-ownership="none"> 12792 + <doc xml:space="preserve" 12793 + filename="libsoup/server/soup-server-message.c" 12794 + line="798">%TRUE if is an OPTIONS ping</doc> 12795 + <type name="gboolean" c:type="gboolean"/> 12796 + </return-value> 12797 + <parameters> 12798 + <instance-parameter name="msg" transfer-ownership="none"> 12799 + <doc xml:space="preserve" 12800 + filename="libsoup/server/soup-server-message.c" 12801 + line="794">a #SoupServerMessage</doc> 12802 + <type name="ServerMessage" c:type="SoupServerMessage*"/> 12803 + </instance-parameter> 12804 + </parameters> 12805 + </method> 12806 + <method name="pause" 12807 + c:identifier="soup_server_message_pause" 12808 + version="3.2"> 12809 + <doc xml:space="preserve" 12810 + filename="libsoup/server/soup-server-message.c" 12811 + line="571">Pauses I/O on @msg. 12812 + 12813 + This can be used when you need to return from the server handler without 12814 + having the full response ready yet. Use [method@ServerMessage.unpause] to 12815 + resume I/O.</doc> 12816 + <source-position filename="libsoup/server/soup-server-message.h" 12817 + line="84"/> 12818 + <return-value transfer-ownership="none"> 12819 + <type name="none" c:type="void"/> 12820 + </return-value> 12821 + <parameters> 12822 + <instance-parameter name="msg" transfer-ownership="none"> 12823 + <doc xml:space="preserve" 12824 + filename="libsoup/server/soup-server-message.c" 12825 + line="573">a SoupServerMessage</doc> 12826 + <type name="ServerMessage" c:type="SoupServerMessage*"/> 12827 + </instance-parameter> 12828 + </parameters> 12829 + </method> 12830 + <method name="set_http_version" 12831 + c:identifier="soup_server_message_set_http_version"> 12832 + <doc xml:space="preserve" 12833 + filename="libsoup/server/soup-server-message.c" 12834 + line="824">Set the HTTP version of @msg.</doc> 12835 + <source-position filename="libsoup/server/soup-server-message.h" 12836 + line="38"/> 12837 + <return-value transfer-ownership="none"> 12838 + <type name="none" c:type="void"/> 12839 + </return-value> 12840 + <parameters> 12841 + <instance-parameter name="msg" transfer-ownership="none"> 12842 + <doc xml:space="preserve" 12843 + filename="libsoup/server/soup-server-message.c" 12844 + line="826">a #SoupServerMessage</doc> 12845 + <type name="ServerMessage" c:type="SoupServerMessage*"/> 12846 + </instance-parameter> 12847 + <parameter name="version" transfer-ownership="none"> 12848 + <doc xml:space="preserve" 12849 + filename="libsoup/server/soup-server-message.c" 12850 + line="827">a #SoupHTTPVersion</doc> 12851 + <type name="HTTPVersion" c:type="SoupHTTPVersion"/> 12852 + </parameter> 12853 + </parameters> 12854 + </method> 12855 + <method name="set_redirect" 12856 + c:identifier="soup_server_message_set_redirect"> 12857 + <doc xml:space="preserve" 12858 + filename="libsoup/server/soup-server-message.c" 12859 + line="952">Sets @msg's status_code to @status_code and adds a Location header 12860 + pointing to @redirect_uri. Use this from a [class@Server] when you 12861 + want to redirect the client to another URI. 12862 + 12863 + @redirect_uri can be a relative URI, in which case it is 12864 + interpreted relative to @msg's current URI. In particular, if 12865 + @redirect_uri is just a path, it will replace the path 12866 + *and query* of @msg's URI.</doc> 12867 + <source-position filename="libsoup/server/soup-server-message.h" 12868 + line="61"/> 12869 + <return-value transfer-ownership="none"> 12870 + <type name="none" c:type="void"/> 12871 + </return-value> 12872 + <parameters> 12873 + <instance-parameter name="msg" transfer-ownership="none"> 12874 + <doc xml:space="preserve" 12875 + filename="libsoup/server/soup-server-message.c" 12876 + line="954">a #SoupServerMessage</doc> 12877 + <type name="ServerMessage" c:type="SoupServerMessage*"/> 12878 + </instance-parameter> 12879 + <parameter name="status_code" transfer-ownership="none"> 12880 + <doc xml:space="preserve" 12881 + filename="libsoup/server/soup-server-message.c" 12882 + line="955">a 3xx status code</doc> 12883 + <type name="guint" c:type="guint"/> 12884 + </parameter> 12885 + <parameter name="redirect_uri" transfer-ownership="none"> 12886 + <doc xml:space="preserve" 12887 + filename="libsoup/server/soup-server-message.c" 12888 + line="956">the URI to redirect @msg to</doc> 12889 + <type name="utf8" c:type="const char*"/> 12890 + </parameter> 12891 + </parameters> 12892 + </method> 12893 + <method name="set_response" 12894 + c:identifier="soup_server_message_set_response"> 12895 + <doc xml:space="preserve" 12896 + filename="libsoup/server/soup-server-message.c" 12897 + line="915">Convenience function to set the response body of a #SoupServerMessage. If 12898 + @content_type is %NULL, the response body must be empty as well.</doc> 12899 + <source-position filename="libsoup/server/soup-server-message.h" 12900 + line="55"/> 12901 + <return-value transfer-ownership="none"> 12902 + <type name="none" c:type="void"/> 12903 + </return-value> 12904 + <parameters> 12905 + <instance-parameter name="msg" transfer-ownership="none"> 12906 + <doc xml:space="preserve" 12907 + filename="libsoup/server/soup-server-message.c" 12908 + line="917">the message</doc> 12909 + <type name="ServerMessage" c:type="SoupServerMessage*"/> 12910 + </instance-parameter> 12911 + <parameter name="content_type" 12912 + transfer-ownership="none" 12913 + nullable="1" 12914 + allow-none="1"> 12915 + <doc xml:space="preserve" 12916 + filename="libsoup/server/soup-server-message.c" 12917 + line="918">MIME Content-Type of the body</doc> 12918 + <type name="utf8" c:type="const char*"/> 12919 + </parameter> 12920 + <parameter name="resp_use" transfer-ownership="none"> 12921 + <doc xml:space="preserve" 12922 + filename="libsoup/server/soup-server-message.c" 12923 + line="919">a #SoupMemoryUse describing how to handle @resp_body</doc> 12924 + <type name="MemoryUse" c:type="SoupMemoryUse"/> 12925 + </parameter> 12926 + <parameter name="resp_body" 12927 + transfer-ownership="none" 12928 + nullable="1" 12929 + allow-none="1"> 12930 + <doc xml:space="preserve" 12931 + filename="libsoup/server/soup-server-message.c" 12932 + line="920"> 12933 + a data buffer containing the body of the message response.</doc> 12934 + <array length="3" zero-terminated="0" c:type="const char*"> 12935 + <type name="guint8"/> 12936 + </array> 12937 + </parameter> 12938 + <parameter name="resp_length" transfer-ownership="none"> 12939 + <doc xml:space="preserve" 12940 + filename="libsoup/server/soup-server-message.c" 12941 + line="922">the byte length of @resp_body.</doc> 12942 + <type name="gsize" c:type="gsize"/> 12943 + </parameter> 12944 + </parameters> 12945 + </method> 12946 + <method name="set_status" c:identifier="soup_server_message_set_status"> 12947 + <doc xml:space="preserve" 12948 + filename="libsoup/server/soup-server-message.c" 12949 + line="874">Sets @msg's status code to @status_code. 12950 + 12951 + If @status_code is a known value and @reason_phrase is %NULL, the 12952 + reason_phrase will be set automatically.</doc> 12953 + <source-position filename="libsoup/server/soup-server-message.h" 12954 + line="48"/> 12955 + <return-value transfer-ownership="none"> 12956 + <type name="none" c:type="void"/> 12957 + </return-value> 12958 + <parameters> 12959 + <instance-parameter name="msg" transfer-ownership="none"> 12960 + <doc xml:space="preserve" 12961 + filename="libsoup/server/soup-server-message.c" 12962 + line="876">a #SoupServerMessage</doc> 12963 + <type name="ServerMessage" c:type="SoupServerMessage*"/> 12964 + </instance-parameter> 12965 + <parameter name="status_code" transfer-ownership="none"> 12966 + <doc xml:space="preserve" 12967 + filename="libsoup/server/soup-server-message.c" 12968 + line="877">an HTTP status code</doc> 12969 + <type name="guint" c:type="guint"/> 12970 + </parameter> 12971 + <parameter name="reason_phrase" 12972 + transfer-ownership="none" 12973 + nullable="1" 12974 + allow-none="1"> 12975 + <doc xml:space="preserve" 12976 + filename="libsoup/server/soup-server-message.c" 12977 + line="878">a reason phrase</doc> 12978 + <type name="utf8" c:type="const char*"/> 12979 + </parameter> 12980 + </parameters> 12981 + </method> 12982 + <method name="steal_connection" 12983 + c:identifier="soup_server_message_steal_connection"> 12984 + <doc xml:space="preserve" 12985 + filename="libsoup/server/soup-server-message.c" 12986 + line="1080">"Steals" the HTTP connection associated with @msg from its #SoupServer. This 12987 + happens immediately, regardless of the current state of the connection; if 12988 + the response to @msg has not yet finished being sent, then it will be 12989 + discarded; you can steal the connection from a 12990 + [signal@ServerMessage::wrote-informational] or 12991 + [signal@ServerMessage::wrote-body] signal handler if you need to wait for 12992 + part or all of the response to be sent. 12993 + 12994 + Note that when calling this function from C, @msg will most 12995 + likely be freed as a side effect.</doc> 12996 + <source-position filename="libsoup/server/soup-server-message.h" 12997 + line="78"/> 12998 + <return-value transfer-ownership="full"> 12999 + <doc xml:space="preserve" 13000 + filename="libsoup/server/soup-server-message.c" 13001 + line="1095">the #GIOStream formerly associated 13002 + with @msg (or %NULL if @msg was no longer associated with a 13003 + connection). No guarantees are made about what kind of #GIOStream 13004 + is returned.</doc> 13005 + <type name="Gio.IOStream" c:type="GIOStream*"/> 13006 + </return-value> 13007 + <parameters> 13008 + <instance-parameter name="msg" transfer-ownership="none"> 13009 + <doc xml:space="preserve" 13010 + filename="libsoup/server/soup-server-message.c" 13011 + line="1082">a #SoupServerMessage</doc> 13012 + <type name="ServerMessage" c:type="SoupServerMessage*"/> 13013 + </instance-parameter> 13014 + </parameters> 13015 + </method> 13016 + <method name="unpause" 13017 + c:identifier="soup_server_message_unpause" 13018 + version="3.2"> 13019 + <doc xml:space="preserve" 13020 + filename="libsoup/server/soup-server-message.c" 13021 + line="592">Resumes I/O on @msg. 13022 + 13023 + Use this to resume after calling [method@ServerMessage.pause], or after 13024 + adding a new chunk to a chunked response. I/O won't actually resume until you 13025 + return to the main loop.</doc> 13026 + <source-position filename="libsoup/server/soup-server-message.h" 13027 + line="87"/> 13028 + <return-value transfer-ownership="none"> 13029 + <type name="none" c:type="void"/> 13030 + </return-value> 13031 + <parameters> 13032 + <instance-parameter name="msg" transfer-ownership="none"> 13033 + <doc xml:space="preserve" 13034 + filename="libsoup/server/soup-server-message.c" 13035 + line="594">a SoupServerMessage</doc> 13036 + <type name="ServerMessage" c:type="SoupServerMessage*"/> 13037 + </instance-parameter> 13038 + </parameters> 13039 + </method> 13040 + <property name="tls-peer-certificate" 13041 + version="3.2" 13042 + transfer-ownership="none" 13043 + getter="get_tls_peer_certificate"> 13044 + <doc xml:space="preserve" 13045 + filename="libsoup/server/soup-server-message.c" 13046 + line="378">The peer's #GTlsCertificate associated with the message</doc> 13047 + <type name="Gio.TlsCertificate"/> 13048 + </property> 13049 + <property name="tls-peer-certificate-errors" 13050 + version="3.2" 13051 + transfer-ownership="none" 13052 + getter="get_tls_peer_certificate_errors" 13053 + default-value="G_TLS_CERTIFICATE_NO_FLAGS"> 13054 + <doc xml:space="preserve" 13055 + filename="libsoup/server/soup-server-message.c" 13056 + line="393">The verification errors on #SoupServerMessage:tls-peer-certificate</doc> 13057 + <type name="Gio.TlsCertificateFlags"/> 13058 + </property> 13059 + <glib:signal name="accept-certificate" when="last"> 13060 + <doc xml:space="preserve" 13061 + filename="libsoup/server/soup-server-message.c" 13062 + line="352">Emitted during the @msg's connection TLS handshake 13063 + after client TLS certificate has been received. 13064 + You can return %TRUE to accept @tls_certificate despite 13065 + @tls_errors.</doc> 13066 + <return-value transfer-ownership="none"> 13067 + <doc xml:space="preserve" 13068 + filename="libsoup/server/soup-server-message.c" 13069 + line="363">%TRUE to accept the TLS certificate and stop other 13070 + handlers from being invoked, or %FALSE to propagate the 13071 + event further.</doc> 13072 + <type name="gboolean" c:type="gboolean"/> 13073 + </return-value> 13074 + <parameters> 13075 + <parameter name="tls_peer_certificate" transfer-ownership="none"> 13076 + <doc xml:space="preserve" 13077 + filename="libsoup/server/soup-server-message.c" 13078 + line="355">the peer's #GTlsCertificate</doc> 13079 + <type name="Gio.TlsCertificate"/> 13080 + </parameter> 13081 + <parameter name="tls_peer_errors" transfer-ownership="none"> 13082 + <doc xml:space="preserve" 13083 + filename="libsoup/server/soup-server-message.c" 13084 + line="356">the tls errors of @tls_certificate</doc> 13085 + <type name="Gio.TlsCertificateFlags"/> 13086 + </parameter> 13087 + </parameters> 13088 + </glib:signal> 13089 + <glib:signal name="connected" when="last"> 13090 + <doc xml:space="preserve" 13091 + filename="libsoup/server/soup-server-message.c" 13092 + line="322">Emitted when the @msg's socket is connected and the TLS handshake completed.</doc> 13093 + <return-value transfer-ownership="none"> 13094 + <type name="none" c:type="void"/> 13095 + </return-value> 13096 + </glib:signal> 13097 + <glib:signal name="disconnected" when="last"> 13098 + <doc xml:space="preserve" 13099 + filename="libsoup/server/soup-server-message.c" 13100 + line="337">Emitted when the @msg's socket is disconnected.</doc> 13101 + <return-value transfer-ownership="none"> 13102 + <type name="none" c:type="void"/> 13103 + </return-value> 13104 + </glib:signal> 13105 + <glib:signal name="finished" when="last"> 13106 + <doc xml:space="preserve" 13107 + filename="libsoup/server/soup-server-message.c" 13108 + line="307">Emitted when all HTTP processing is finished for a message. 13109 + (After [signal@ServerMessage::wrote-body]).</doc> 13110 + <return-value transfer-ownership="none"> 13111 + <type name="none" c:type="void"/> 13112 + </return-value> 13113 + </glib:signal> 13114 + <glib:signal name="got-body" when="last"> 13115 + <doc xml:space="preserve" 13116 + filename="libsoup/server/soup-server-message.c" 13117 + line="292">Emitted after receiving the complete request body.</doc> 13118 + <return-value transfer-ownership="none"> 13119 + <type name="none" c:type="void"/> 13120 + </return-value> 13121 + </glib:signal> 13122 + <glib:signal name="got-chunk" when="first"> 13123 + <doc xml:space="preserve" 13124 + filename="libsoup/server/soup-server-message.c" 13125 + line="272">Emitted after receiving a chunk of a message body. 13126 + 13127 + Note that "chunk" in this context means any subpiece of the body, not 13128 + necessarily the specific HTTP 1.1 chunks sent by the other side.</doc> 13129 + <return-value transfer-ownership="none"> 13130 + <type name="none" c:type="void"/> 13131 + </return-value> 13132 + <parameters> 13133 + <parameter name="chunk" transfer-ownership="none"> 13134 + <doc xml:space="preserve" 13135 + filename="libsoup/server/soup-server-message.c" 13136 + line="275">the just-read chunk</doc> 13137 + <type name="GLib.Bytes"/> 13138 + </parameter> 13139 + </parameters> 13140 + </glib:signal> 13141 + <glib:signal name="got-headers" when="last"> 13142 + <doc xml:space="preserve" 13143 + filename="libsoup/server/soup-server-message.c" 13144 + line="257">Emitted after receiving the Request-Line and request headers.</doc> 13145 + <return-value transfer-ownership="none"> 13146 + <type name="none" c:type="void"/> 13147 + </return-value> 13148 + </glib:signal> 13149 + <glib:signal name="wrote-body" when="last"> 13150 + <doc xml:space="preserve" 13151 + filename="libsoup/server/soup-server-message.c" 13152 + line="241">Emitted immediately after writing the complete response body for a 13153 + message.</doc> 13154 + <return-value transfer-ownership="none"> 13155 + <type name="none" c:type="void"/> 13156 + </return-value> 13157 + </glib:signal> 13158 + <glib:signal name="wrote-body-data" when="last"> 13159 + <doc xml:space="preserve" 13160 + filename="libsoup/server/soup-server-message.c" 13161 + line="223">Emitted immediately after writing a portion of the message 13162 + body to the network.</doc> 13163 + <return-value transfer-ownership="none"> 13164 + <type name="none" c:type="void"/> 13165 + </return-value> 13166 + <parameters> 13167 + <parameter name="chunk_size" transfer-ownership="none"> 13168 + <doc xml:space="preserve" 13169 + filename="libsoup/server/soup-server-message.c" 13170 + line="226">the number of bytes written</doc> 13171 + <type name="guint" c:type="guint"/> 13172 + </parameter> 13173 + </parameters> 13174 + </glib:signal> 13175 + <glib:signal name="wrote-chunk" when="last"> 13176 + <doc xml:space="preserve" 13177 + filename="libsoup/server/soup-server-message.c" 13178 + line="201">Emitted immediately after writing a body chunk for a message. 13179 + 13180 + Note that this signal is not parallel to 13181 + [signal@ServerMessage::got-chunk]; it is emitted only when a complete 13182 + chunk (added with [method@MessageBody.append] or 13183 + [method@MessageBody.append_bytes] has been written. To get 13184 + more useful continuous progress information, use 13185 + [signal@ServerMessage::wrote-body-data].</doc> 13186 + <return-value transfer-ownership="none"> 13187 + <type name="none" c:type="void"/> 13188 + </return-value> 13189 + </glib:signal> 13190 + <glib:signal name="wrote-headers" when="last"> 13191 + <doc xml:space="preserve" 13192 + filename="libsoup/server/soup-server-message.c" 13193 + line="185">Emitted immediately after writing the response headers for a 13194 + message.</doc> 13195 + <return-value transfer-ownership="none"> 13196 + <type name="none" c:type="void"/> 13197 + </return-value> 13198 + </glib:signal> 13199 + <glib:signal name="wrote-informational" when="last"> 13200 + <doc xml:space="preserve" 13201 + filename="libsoup/server/soup-server-message.c" 13202 + line="170">Emitted immediately after writing a 1xx (Informational) response.</doc> 13203 + <return-value transfer-ownership="none"> 13204 + <type name="none" c:type="void"/> 13205 + </return-value> 13206 + </glib:signal> 13207 + </class> 13208 + <record name="ServerMessageClass" 13209 + c:type="SoupServerMessageClass" 13210 + glib:is-gtype-struct-for="ServerMessage"> 13211 + <source-position filename="libsoup/server/soup-server-message.h" 13212 + line="17"/> 13213 + <field name="parent_class"> 13214 + <type name="GObject.ObjectClass" c:type="GObjectClass"/> 13215 + </field> 13216 + </record> 13217 + <callback name="ServerWebsocketCallback" 13218 + c:type="SoupServerWebsocketCallback"> 13219 + <doc xml:space="preserve" 13220 + filename="libsoup/server/soup-server.c" 13221 + line="1742">A callback used to handle WebSocket requests to a #SoupServer. 13222 + 13223 + The callback will be invoked after sending the handshake response back to the 13224 + client (and is only invoked if the handshake was successful). 13225 + 13226 + @path contains the path of the Request-URI, subject to the same 13227 + rules as [callback@ServerCallback] `(qv)`.</doc> 13228 + <source-position filename="libsoup/server/soup-server.h" line="121"/> 13229 + <return-value transfer-ownership="none"> 13230 + <type name="none" c:type="void"/> 13231 + </return-value> 13232 + <parameters> 13233 + <parameter name="server" transfer-ownership="none"> 13234 + <doc xml:space="preserve" 13235 + filename="libsoup/server/soup-server.c" 13236 + line="1744">the #SoupServer</doc> 13237 + <type name="Server" c:type="SoupServer*"/> 13238 + </parameter> 13239 + <parameter name="msg" transfer-ownership="none"> 13240 + <doc xml:space="preserve" 13241 + filename="libsoup/server/soup-server.c" 13242 + line="1747">the #SoupServerMessage</doc> 13243 + <type name="ServerMessage" c:type="SoupServerMessage*"/> 13244 + </parameter> 13245 + <parameter name="path" transfer-ownership="none"> 13246 + <doc xml:space="preserve" 13247 + filename="libsoup/server/soup-server.c" 13248 + line="1745">the path component of @msg's Request-URI</doc> 13249 + <type name="utf8" c:type="const char*"/> 13250 + </parameter> 13251 + <parameter name="connection" transfer-ownership="none"> 13252 + <doc xml:space="preserve" 13253 + filename="libsoup/server/soup-server.c" 13254 + line="1746">the newly created WebSocket connection</doc> 13255 + <type name="WebsocketConnection" c:type="SoupWebsocketConnection*"/> 13256 + </parameter> 13257 + <parameter name="user_data" 13258 + transfer-ownership="none" 13259 + nullable="1" 13260 + allow-none="1" 13261 + closure="4"> 13262 + <doc xml:space="preserve" 13263 + filename="libsoup/server/soup-server.c" 13264 + line="1748">the data passed to @soup_server_add_handler</doc> 13265 + <type name="gpointer" c:type="gpointer"/> 13266 + </parameter> 13267 + </parameters> 13268 + </callback> 13269 + <class name="Session" 13270 + c:symbol-prefix="session" 13271 + c:type="SoupSession" 13272 + parent="GObject.Object" 13273 + glib:type-name="SoupSession" 13274 + glib:get-type="soup_session_get_type" 13275 + glib:type-struct="SessionClass"> 13276 + <doc xml:space="preserve" 13277 + filename="libsoup/soup-session.c" 13278 + line="32">Soup session state object. 13279 + 13280 + #SoupSession is the object that controls client-side HTTP. A 13281 + #SoupSession encapsulates all of the state that libsoup is keeping 13282 + on behalf of your program; cached HTTP connections, authentication 13283 + information, etc. It also keeps track of various global options 13284 + and features that you are using. 13285 + 13286 + Most applications will only need a single #SoupSession; the primary 13287 + reason you might need multiple sessions is if you need to have 13288 + multiple independent authentication contexts. (Eg, you are 13289 + connecting to a server and authenticating as two different users at 13290 + different times; the easiest way to ensure that each [class@Message] 13291 + is sent with the authentication information you intended is to use 13292 + one session for the first user, and a second session for the other 13293 + user.) 13294 + 13295 + Additional #SoupSession functionality is provided by 13296 + [iface@SessionFeature] objects, which can be added to a session with 13297 + [method@Session.add_feature] or [method@Session.add_feature_by_type] 13298 + For example, [class@Logger] provides support for 13299 + logging HTTP traffic, [class@ContentDecoder] provides support for 13300 + compressed response handling, and [class@ContentSniffer] provides 13301 + support for HTML5-style response body content sniffing. 13302 + Additionally, subtypes of [class@Auth] can be added 13303 + as features, to add support for additional authentication types. 13304 + 13305 + All `SoupSession`s are created with a [class@AuthManager], and support 13306 + for %SOUP_TYPE_AUTH_BASIC and %SOUP_TYPE_AUTH_DIGEST. Additionally, 13307 + sessions using the plain #SoupSession class (rather than one of its deprecated 13308 + subtypes) have a [class@ContentDecoder] by default. 13309 + 13310 + Note that all async methods will invoke their callbacks on the thread-default 13311 + context at the time of the function call.</doc> 13312 + <source-position filename="libsoup/soup-session.h" line="34"/> 13313 + <constructor name="new" c:identifier="soup_session_new"> 13314 + <doc xml:space="preserve" 13315 + filename="libsoup/soup-session.c" 13316 + line="516">Creates a #SoupSession with the default options.</doc> 13317 + <source-position filename="libsoup/soup-session.h" line="57"/> 13318 + <return-value transfer-ownership="full"> 13319 + <doc xml:space="preserve" 13320 + filename="libsoup/soup-session.c" 13321 + line="521">the new session.</doc> 13322 + <type name="Session" c:type="SoupSession*"/> 13323 + </return-value> 13324 + </constructor> 13325 + <constructor name="new_with_options" 13326 + c:identifier="soup_session_new_with_options" 13327 + introspectable="0"> 13328 + <doc xml:space="preserve" 13329 + filename="libsoup/soup-session.c" 13330 + line="529">Creates a #SoupSession with the specified options.</doc> 13331 + <source-position filename="libsoup/soup-session.h" line="60"/> 13332 + <return-value transfer-ownership="full"> 13333 + <doc xml:space="preserve" 13334 + filename="libsoup/soup-session.c" 13335 + line="536">the new session.</doc> 13336 + <type name="Session" c:type="SoupSession*"/> 13337 + </return-value> 13338 + <parameters> 13339 + <parameter name="optname1" transfer-ownership="none"> 13340 + <doc xml:space="preserve" 13341 + filename="libsoup/soup-session.c" 13342 + line="531">name of first property to set</doc> 13343 + <type name="utf8" c:type="const char*"/> 13344 + </parameter> 13345 + <parameter name="..." transfer-ownership="none"> 13346 + <doc xml:space="preserve" 13347 + filename="libsoup/soup-session.c" 13348 + line="532">value of @optname1, followed by additional property/value pairs</doc> 13349 + <varargs/> 13350 + </parameter> 13351 + </parameters> 13352 + </constructor> 13353 + <virtual-method name="request_queued"> 13354 + <source-position filename="libsoup/soup-session.h" line="21"/> 13355 + <return-value transfer-ownership="none"> 13356 + <type name="none" c:type="void"/> 13357 + </return-value> 13358 + <parameters> 13359 + <instance-parameter name="session" transfer-ownership="none"> 13360 + <type name="Session" c:type="SoupSession*"/> 13361 + </instance-parameter> 13362 + <parameter name="msg" transfer-ownership="none"> 13363 + <type name="Message" c:type="SoupMessage*"/> 13364 + </parameter> 13365 + </parameters> 13366 + </virtual-method> 13367 + <virtual-method name="request_unqueued"> 13368 + <source-position filename="libsoup/soup-session.h" line="23"/> 13369 + <return-value transfer-ownership="none"> 13370 + <type name="none" c:type="void"/> 13371 + </return-value> 13372 + <parameters> 13373 + <instance-parameter name="session" transfer-ownership="none"> 13374 + <type name="Session" c:type="SoupSession*"/> 13375 + </instance-parameter> 13376 + <parameter name="msg" transfer-ownership="none"> 13377 + <type name="Message" c:type="SoupMessage*"/> 13378 + </parameter> 13379 + </parameters> 13380 + </virtual-method> 13381 + <method name="abort" c:identifier="soup_session_abort"> 13382 + <doc xml:space="preserve" 13383 + filename="libsoup/soup-session.c" 13384 + line="1979">Cancels all pending requests in @session and closes all idle 13385 + persistent connections.</doc> 13386 + <source-position filename="libsoup/soup-session.h" line="132"/> 13387 + <return-value transfer-ownership="none"> 13388 + <type name="none" c:type="void"/> 13389 + </return-value> 13390 + <parameters> 13391 + <instance-parameter name="session" transfer-ownership="none"> 13392 + <doc xml:space="preserve" 13393 + filename="libsoup/soup-session.c" 13394 + line="1981">the session</doc> 13395 + <type name="Session" c:type="SoupSession*"/> 13396 + </instance-parameter> 13397 + </parameters> 13398 + </method> 13399 + <method name="add_feature" c:identifier="soup_session_add_feature"> 13400 + <doc xml:space="preserve" 13401 + filename="libsoup/soup-session.c" 13402 + line="2016">Adds @feature's functionality to @session. You cannot add multiple 13403 + features of the same [alias@GLib.Type] to a session. 13404 + 13405 + See the main #SoupSession documentation for information on what 13406 + features are present in sessions by default.</doc> 13407 + <source-position filename="libsoup/soup-session.h" line="197"/> 13408 + <return-value transfer-ownership="none"> 13409 + <type name="none" c:type="void"/> 13410 + </return-value> 13411 + <parameters> 13412 + <instance-parameter name="session" transfer-ownership="none"> 13413 + <doc xml:space="preserve" 13414 + filename="libsoup/soup-session.c" 13415 + line="2018">a #SoupSession</doc> 13416 + <type name="Session" c:type="SoupSession*"/> 13417 + </instance-parameter> 13418 + <parameter name="feature" transfer-ownership="none"> 13419 + <doc xml:space="preserve" 13420 + filename="libsoup/soup-session.c" 13421 + line="2019">an object that implements #SoupSessionFeature</doc> 13422 + <type name="SessionFeature" c:type="SoupSessionFeature*"/> 13423 + </parameter> 13424 + </parameters> 13425 + </method> 13426 + <method name="add_feature_by_type" 13427 + c:identifier="soup_session_add_feature_by_type"> 13428 + <doc xml:space="preserve" 13429 + filename="libsoup/soup-session.c" 13430 + line="2044">If @feature_type is the type of a class that implements 13431 + [iface@SessionFeature], this creates a new feature of that type and 13432 + adds it to @session as with [method@Session.add_feature]. You can use 13433 + this when you don't need to customize the new feature in any way. 13434 + Adding multiple features of the same @feature_type is not allowed. 13435 + 13436 + If @feature_type is not a [iface@SessionFeature] type, this gives each 13437 + existing feature on @session the chance to accept @feature_type as 13438 + a "subfeature". This can be used to add new [class@Auth] types, for instance. 13439 + 13440 + See the main #SoupSession documentation for information on what 13441 + features are present in sessions by default.</doc> 13442 + <source-position filename="libsoup/soup-session.h" line="200"/> 13443 + <return-value transfer-ownership="none"> 13444 + <type name="none" c:type="void"/> 13445 + </return-value> 13446 + <parameters> 13447 + <instance-parameter name="session" transfer-ownership="none"> 13448 + <doc xml:space="preserve" 13449 + filename="libsoup/soup-session.c" 13450 + line="2046">a #SoupSession</doc> 13451 + <type name="Session" c:type="SoupSession*"/> 13452 + </instance-parameter> 13453 + <parameter name="feature_type" transfer-ownership="none"> 13454 + <doc xml:space="preserve" 13455 + filename="libsoup/soup-session.c" 13456 + line="2047">a #GType</doc> 13457 + <type name="GType" c:type="GType"/> 13458 + </parameter> 13459 + </parameters> 13460 + </method> 13461 + <method name="get_accept_language" 13462 + c:identifier="soup_session_get_accept_language" 13463 + glib:get-property="accept-language"> 13464 + <attribute name="org.gtk.Method.get_property" value="accept-language"/> 13465 + <doc xml:space="preserve" 13466 + filename="libsoup/soup-session.c" 13467 + line="962">Get the value used by @session for the "Accept-Language" header on new 13468 + requests.</doc> 13469 + <source-position filename="libsoup/soup-session.h" line="119"/> 13470 + <return-value transfer-ownership="none" nullable="1"> 13471 + <doc xml:space="preserve" 13472 + filename="libsoup/soup-session.c" 13473 + line="969">the accept language string</doc> 13474 + <type name="utf8" c:type="const char*"/> 13475 + </return-value> 13476 + <parameters> 13477 + <instance-parameter name="session" transfer-ownership="none"> 13478 + <doc xml:space="preserve" 13479 + filename="libsoup/soup-session.c" 13480 + line="964">a #SoupSession</doc> 13481 + <type name="Session" c:type="SoupSession*"/> 13482 + </instance-parameter> 13483 + </parameters> 13484 + </method> 13485 + <method name="get_accept_language_auto" 13486 + c:identifier="soup_session_get_accept_language_auto" 13487 + glib:get-property="accept-language-auto"> 13488 + <attribute name="org.gtk.Method.get_property" 13489 + value="accept-language-auto"/> 13490 + <doc xml:space="preserve" 13491 + filename="libsoup/soup-session.c" 13492 + line="1017">Gets whether @session automatically sets the "Accept-Language" header on new 13493 + requests.</doc> 13494 + <source-position filename="libsoup/soup-session.h" line="126"/> 13495 + <return-value transfer-ownership="none"> 13496 + <doc xml:space="preserve" 13497 + filename="libsoup/soup-session.c" 13498 + line="1024">%TRUE if @session sets "Accept-Language" header automatically, or 13499 + %FALSE otherwise.</doc> 13500 + <type name="gboolean" c:type="gboolean"/> 13501 + </return-value> 13502 + <parameters> 13503 + <instance-parameter name="session" transfer-ownership="none"> 13504 + <doc xml:space="preserve" 13505 + filename="libsoup/soup-session.c" 13506 + line="1019">a #SoupSession</doc> 13507 + <type name="Session" c:type="SoupSession*"/> 13508 + </instance-parameter> 13509 + </parameters> 13510 + </method> 13511 + <method name="get_async_result_message" 13512 + c:identifier="soup_session_get_async_result_message"> 13513 + <doc xml:space="preserve" 13514 + filename="libsoup/soup-session.c" 13515 + line="3589">Gets the [class@Message] of the @result asynchronous operation This is useful 13516 + to get the [class@Message] of an asynchronous operation started by @session 13517 + from its [callback@Gio.AsyncReadyCallback].</doc> 13518 + <source-position filename="libsoup/soup-session.h" line="193"/> 13519 + <return-value transfer-ownership="none" nullable="1"> 13520 + <doc xml:space="preserve" 13521 + filename="libsoup/soup-session.c" 13522 + line="3598">a #SoupMessage or 13523 + %NULL if @result is not a valid @session async operation result.</doc> 13524 + <type name="Message" c:type="SoupMessage*"/> 13525 + </return-value> 13526 + <parameters> 13527 + <instance-parameter name="session" transfer-ownership="none"> 13528 + <doc xml:space="preserve" 13529 + filename="libsoup/soup-session.c" 13530 + line="3591">a #SoupSession</doc> 13531 + <type name="Session" c:type="SoupSession*"/> 13532 + </instance-parameter> 13533 + <parameter name="result" transfer-ownership="none"> 13534 + <doc xml:space="preserve" 13535 + filename="libsoup/soup-session.c" 13536 + line="3592">the #GAsyncResult passed to your callback</doc> 13537 + <type name="Gio.AsyncResult" c:type="GAsyncResult*"/> 13538 + </parameter> 13539 + </parameters> 13540 + </method> 13541 + <method name="get_feature" c:identifier="soup_session_get_feature"> 13542 + <doc xml:space="preserve" 13543 + filename="libsoup/soup-session.c" 13544 + line="2213">Gets the feature in @session of type @feature_type.</doc> 13545 + <source-position filename="libsoup/soup-session.h" line="212"/> 13546 + <return-value transfer-ownership="none" nullable="1"> 13547 + <doc xml:space="preserve" 13548 + filename="libsoup/soup-session.c" 13549 + line="2220">a #SoupSessionFeature, or %NULL. The 13550 + feature is owned by @session.</doc> 13551 + <type name="SessionFeature" c:type="SoupSessionFeature*"/> 13552 + </return-value> 13553 + <parameters> 13554 + <instance-parameter name="session" transfer-ownership="none"> 13555 + <doc xml:space="preserve" 13556 + filename="libsoup/soup-session.c" 13557 + line="2215">a #SoupSession</doc> 13558 + <type name="Session" c:type="SoupSession*"/> 13559 + </instance-parameter> 13560 + <parameter name="feature_type" transfer-ownership="none"> 13561 + <doc xml:space="preserve" 13562 + filename="libsoup/soup-session.c" 13563 + line="2216">the #GType of the feature to get</doc> 13564 + <type name="GType" c:type="GType"/> 13565 + </parameter> 13566 + </parameters> 13567 + </method> 13568 + <method name="get_feature_for_message" 13569 + c:identifier="soup_session_get_feature_for_message"> 13570 + <doc xml:space="preserve" 13571 + filename="libsoup/soup-session.c" 13572 + line="2242">Gets the feature in @session of type @feature_type, provided 13573 + that it is not disabled for @msg.</doc> 13574 + <source-position filename="libsoup/soup-session.h" line="215"/> 13575 + <return-value transfer-ownership="none" nullable="1"> 13576 + <doc xml:space="preserve" 13577 + filename="libsoup/soup-session.c" 13578 + line="2251">a #SoupSessionFeature. The feature is 13579 + owned by @session.</doc> 13580 + <type name="SessionFeature" c:type="SoupSessionFeature*"/> 13581 + </return-value> 13582 + <parameters> 13583 + <instance-parameter name="session" transfer-ownership="none"> 13584 + <doc xml:space="preserve" 13585 + filename="libsoup/soup-session.c" 13586 + line="2244">a #SoupSession</doc> 13587 + <type name="Session" c:type="SoupSession*"/> 13588 + </instance-parameter> 13589 + <parameter name="feature_type" transfer-ownership="none"> 13590 + <doc xml:space="preserve" 13591 + filename="libsoup/soup-session.c" 13592 + line="2245">the #GType of the feature to get</doc> 13593 + <type name="GType" c:type="GType"/> 13594 + </parameter> 13595 + <parameter name="msg" transfer-ownership="none"> 13596 + <doc xml:space="preserve" 13597 + filename="libsoup/soup-session.c" 13598 + line="2246">a #SoupMessage</doc> 13599 + <type name="Message" c:type="SoupMessage*"/> 13600 + </parameter> 13601 + </parameters> 13602 + </method> 13603 + <method name="get_idle_timeout" 13604 + c:identifier="soup_session_get_idle_timeout" 13605 + glib:get-property="idle-timeout"> 13606 + <attribute name="org.gtk.Method.get_property" value="idle-timeout"/> 13607 + <doc xml:space="preserve" 13608 + filename="libsoup/soup-session.c" 13609 + line="838">Get the timeout in seconds for idle connection lifetime currently used by 13610 + @session.</doc> 13611 + <source-position filename="libsoup/soup-session.h" line="105"/> 13612 + <return-value transfer-ownership="none"> 13613 + <doc xml:space="preserve" 13614 + filename="libsoup/soup-session.c" 13615 + line="845">the timeout in seconds</doc> 13616 + <type name="guint" c:type="guint"/> 13617 + </return-value> 13618 + <parameters> 13619 + <instance-parameter name="session" transfer-ownership="none"> 13620 + <doc xml:space="preserve" 13621 + filename="libsoup/soup-session.c" 13622 + line="840">a #SoupSession</doc> 13623 + <type name="Session" c:type="SoupSession*"/> 13624 + </instance-parameter> 13625 + </parameters> 13626 + </method> 13627 + <method name="get_local_address" 13628 + c:identifier="soup_session_get_local_address" 13629 + glib:get-property="local-address"> 13630 + <attribute name="org.gtk.Method.get_property" value="local-address"/> 13631 + <doc xml:space="preserve" 13632 + filename="libsoup/soup-session.c" 13633 + line="553">Get the [class@Gio.InetSocketAddress] to use for the client side of 13634 + connections in @session.</doc> 13635 + <source-position filename="libsoup/soup-session.h" line="64"/> 13636 + <return-value transfer-ownership="none" nullable="1"> 13637 + <doc xml:space="preserve" 13638 + filename="libsoup/soup-session.c" 13639 + line="560">a #GInetSocketAddress</doc> 13640 + <type name="Gio.InetSocketAddress" c:type="GInetSocketAddress*"/> 13641 + </return-value> 13642 + <parameters> 13643 + <instance-parameter name="session" transfer-ownership="none"> 13644 + <doc xml:space="preserve" 13645 + filename="libsoup/soup-session.c" 13646 + line="555">a #SoupSession</doc> 13647 + <type name="Session" c:type="SoupSession*"/> 13648 + </instance-parameter> 13649 + </parameters> 13650 + </method> 13651 + <method name="get_max_conns" 13652 + c:identifier="soup_session_get_max_conns" 13653 + glib:get-property="max-conns"> 13654 + <attribute name="org.gtk.Method.set_property" value="max-conns"/> 13655 + <doc xml:space="preserve" 13656 + filename="libsoup/soup-session.c" 13657 + line="573">Get the maximum number of connections that @session can open at once.</doc> 13658 + <source-position filename="libsoup/soup-session.h" line="67"/> 13659 + <return-value transfer-ownership="none"> 13660 + <doc xml:space="preserve" 13661 + filename="libsoup/soup-session.c" 13662 + line="579">the maximum number of connections</doc> 13663 + <type name="guint" c:type="guint"/> 13664 + </return-value> 13665 + <parameters> 13666 + <instance-parameter name="session" transfer-ownership="none"> 13667 + <doc xml:space="preserve" 13668 + filename="libsoup/soup-session.c" 13669 + line="575">a #SoupSession</doc> 13670 + <type name="Session" c:type="SoupSession*"/> 13671 + </instance-parameter> 13672 + </parameters> 13673 + </method> 13674 + <method name="get_max_conns_per_host" 13675 + c:identifier="soup_session_get_max_conns_per_host" 13676 + glib:get-property="max-conns-per-host"> 13677 + <attribute name="org.gtk.Method.get_property" 13678 + value="max-conns-per-host"/> 13679 + <doc xml:space="preserve" 13680 + filename="libsoup/soup-session.c" 13681 + line="592">Get the maximum number of connections that @session can open at once to a 13682 + given host.</doc> 13683 + <source-position filename="libsoup/soup-session.h" line="70"/> 13684 + <return-value transfer-ownership="none"> 13685 + <doc xml:space="preserve" 13686 + filename="libsoup/soup-session.c" 13687 + line="599">the maximum number of connections per host</doc> 13688 + <type name="guint" c:type="guint"/> 13689 + </return-value> 13690 + <parameters> 13691 + <instance-parameter name="session" transfer-ownership="none"> 13692 + <doc xml:space="preserve" 13693 + filename="libsoup/soup-session.c" 13694 + line="594">a #SoupSession</doc> 13695 + <type name="Session" c:type="SoupSession*"/> 13696 + </instance-parameter> 13697 + </parameters> 13698 + </method> 13699 + <method name="get_proxy_resolver" 13700 + c:identifier="soup_session_get_proxy_resolver" 13701 + glib:get-property="proxy-resolver"> 13702 + <attribute name="org.gtk.Method.get_property" value="proxy-resolver"/> 13703 + <doc xml:space="preserve" 13704 + filename="libsoup/soup-session.c" 13705 + line="642">Get the [iface@Gio.ProxyResolver] currently used by @session.</doc> 13706 + <source-position filename="libsoup/soup-session.h" line="77"/> 13707 + <return-value transfer-ownership="none" nullable="1"> 13708 + <doc xml:space="preserve" 13709 + filename="libsoup/soup-session.c" 13710 + line="648">a #GProxyResolver or %NULL if proxies 13711 + are disabled in @session</doc> 13712 + <type name="Gio.ProxyResolver" c:type="GProxyResolver*"/> 13713 + </return-value> 13714 + <parameters> 13715 + <instance-parameter name="session" transfer-ownership="none"> 13716 + <doc xml:space="preserve" 13717 + filename="libsoup/soup-session.c" 13718 + line="644">a #SoupSession</doc> 13719 + <type name="Session" c:type="SoupSession*"/> 13720 + </instance-parameter> 13721 + </parameters> 13722 + </method> 13723 + <method name="get_remote_connectable" 13724 + c:identifier="soup_session_get_remote_connectable" 13725 + glib:get-property="remote-connectable"> 13726 + <attribute name="org.gtk.Method.get_property" 13727 + value="remote-connectable"/> 13728 + <doc xml:space="preserve" 13729 + filename="libsoup/soup-session.c" 13730 + line="1038">Gets the remote connectable if one set.</doc> 13731 + <source-position filename="libsoup/soup-session.h" line="129"/> 13732 + <return-value transfer-ownership="none" nullable="1"> 13733 + <doc xml:space="preserve" 13734 + filename="libsoup/soup-session.c" 13735 + line="1044">the #GSocketConnectable</doc> 13736 + <type name="Gio.SocketConnectable" c:type="GSocketConnectable*"/> 13737 + </return-value> 13738 + <parameters> 13739 + <instance-parameter name="session" transfer-ownership="none"> 13740 + <doc xml:space="preserve" 13741 + filename="libsoup/soup-session.c" 13742 + line="1040">a #SoupSession</doc> 13743 + <type name="Session" c:type="SoupSession*"/> 13744 + </instance-parameter> 13745 + </parameters> 13746 + </method> 13747 + <method name="get_timeout" 13748 + c:identifier="soup_session_get_timeout" 13749 + glib:get-property="timeout"> 13750 + <attribute name="org.gtk.Method.get_property" value="timeout"/> 13751 + <doc xml:space="preserve" 13752 + filename="libsoup/soup-session.c" 13753 + line="791">Get the timeout in seconds for socket I/O operations currently used by 13754 + @session.</doc> 13755 + <source-position filename="libsoup/soup-session.h" line="98"/> 13756 + <return-value transfer-ownership="none"> 13757 + <doc xml:space="preserve" 13758 + filename="libsoup/soup-session.c" 13759 + line="798">the timeout in seconds</doc> 13760 + <type name="guint" c:type="guint"/> 13761 + </return-value> 13762 + <parameters> 13763 + <instance-parameter name="session" transfer-ownership="none"> 13764 + <doc xml:space="preserve" 13765 + filename="libsoup/soup-session.c" 13766 + line="793">a #SoupSession</doc> 13767 + <type name="Session" c:type="SoupSession*"/> 13768 + </instance-parameter> 13769 + </parameters> 13770 + </method> 13771 + <method name="get_tls_database" 13772 + c:identifier="soup_session_get_tls_database" 13773 + glib:get-property="tls-database"> 13774 + <attribute name="org.gtk.Method.get_property" value="tls-database"/> 13775 + <doc xml:space="preserve" 13776 + filename="libsoup/soup-session.c" 13777 + line="692">Get the [class@Gio.TlsDatabase] currently used by @session.</doc> 13778 + <source-position filename="libsoup/soup-session.h" line="84"/> 13779 + <return-value transfer-ownership="none" nullable="1"> 13780 + <doc xml:space="preserve" 13781 + filename="libsoup/soup-session.c" 13782 + line="698">a #GTlsDatabase</doc> 13783 + <type name="Gio.TlsDatabase" c:type="GTlsDatabase*"/> 13784 + </return-value> 13785 + <parameters> 13786 + <instance-parameter name="session" transfer-ownership="none"> 13787 + <doc xml:space="preserve" 13788 + filename="libsoup/soup-session.c" 13789 + line="694">a #SoupSession</doc> 13790 + <type name="Session" c:type="SoupSession*"/> 13791 + </instance-parameter> 13792 + </parameters> 13793 + </method> 13794 + <method name="get_tls_interaction" 13795 + c:identifier="soup_session_get_tls_interaction" 13796 + glib:get-property="tls-interaction"> 13797 + <attribute name="org.gtk.Method.get_property" value="tls-interaction"/> 13798 + <doc xml:space="preserve" 13799 + filename="libsoup/soup-session.c" 13800 + line="745">Get the [class@Gio.TlsInteraction] currently used by @session.</doc> 13801 + <source-position filename="libsoup/soup-session.h" line="91"/> 13802 + <return-value transfer-ownership="none" nullable="1"> 13803 + <doc xml:space="preserve" 13804 + filename="libsoup/soup-session.c" 13805 + line="751">a #GTlsInteraction</doc> 13806 + <type name="Gio.TlsInteraction" c:type="GTlsInteraction*"/> 13807 + </return-value> 13808 + <parameters> 13809 + <instance-parameter name="session" transfer-ownership="none"> 13810 + <doc xml:space="preserve" 13811 + filename="libsoup/soup-session.c" 13812 + line="747">a #SoupSession</doc> 13813 + <type name="Session" c:type="SoupSession*"/> 13814 + </instance-parameter> 13815 + </parameters> 13816 + </method> 13817 + <method name="get_user_agent" 13818 + c:identifier="soup_session_get_user_agent" 13819 + glib:get-property="user-agent"> 13820 + <attribute name="org.gtk.Method.get_property" value="user-agent"/> 13821 + <doc xml:space="preserve" 13822 + filename="libsoup/soup-session.c" 13823 + line="910">Get the value used by @session for the "User-Agent" header on new requests.</doc> 13824 + <source-position filename="libsoup/soup-session.h" line="112"/> 13825 + <return-value transfer-ownership="none" nullable="1"> 13826 + <doc xml:space="preserve" 13827 + filename="libsoup/soup-session.c" 13828 + line="916">the user agent string</doc> 13829 + <type name="utf8" c:type="const char*"/> 13830 + </return-value> 13831 + <parameters> 13832 + <instance-parameter name="session" transfer-ownership="none"> 13833 + <doc xml:space="preserve" 13834 + filename="libsoup/soup-session.c" 13835 + line="912">a #SoupSession</doc> 13836 + <type name="Session" c:type="SoupSession*"/> 13837 + </instance-parameter> 13838 + </parameters> 13839 + </method> 13840 + <method name="has_feature" c:identifier="soup_session_has_feature"> 13841 + <doc xml:space="preserve" 13842 + filename="libsoup/soup-session.c" 13843 + line="2148">Tests if @session has at a feature of type @feature_type (which can 13844 + be the type of either a [iface@SessionFeature], or else a subtype of 13845 + some class managed by another feature, such as [class@Auth]).</doc> 13846 + <source-position filename="libsoup/soup-session.h" line="209"/> 13847 + <return-value transfer-ownership="none"> 13848 + <doc xml:space="preserve" 13849 + filename="libsoup/soup-session.c" 13850 + line="2157">%TRUE or %FALSE</doc> 13851 + <type name="gboolean" c:type="gboolean"/> 13852 + </return-value> 13853 + <parameters> 13854 + <instance-parameter name="session" transfer-ownership="none"> 13855 + <doc xml:space="preserve" 13856 + filename="libsoup/soup-session.c" 13857 + line="2150">a #SoupSession</doc> 13858 + <type name="Session" c:type="SoupSession*"/> 13859 + </instance-parameter> 13860 + <parameter name="feature_type" transfer-ownership="none"> 13861 + <doc xml:space="preserve" 13862 + filename="libsoup/soup-session.c" 13863 + line="2151">the #GType of the class of features to check for</doc> 13864 + <type name="GType" c:type="GType"/> 13865 + </parameter> 13866 + </parameters> 13867 + </method> 13868 + <method name="preconnect_async" 13869 + c:identifier="soup_session_preconnect_async" 13870 + glib:finish-func="preconnect_finish"> 13871 + <doc xml:space="preserve" 13872 + filename="libsoup/soup-session.c" 13873 + line="3848">Start a preconnection to @msg. 13874 + 13875 + Once the connection is done, it will remain in idle state so that it can be 13876 + reused by future requests. If there's already an idle connection for the 13877 + given @msg host, the operation finishes successfully without creating a new 13878 + connection. If a new request for the given @msg host is made while the 13879 + preconnect is still ongoing, the request will take the ownership of the 13880 + connection and the preconnect operation will finish successfully (if there's 13881 + a connection error it will be handled by the request). 13882 + 13883 + The operation finishes when the connection is done or an error occurred.</doc> 13884 + <source-position filename="libsoup/soup-session.h" line="236"/> 13885 + <return-value transfer-ownership="none"> 13886 + <type name="none" c:type="void"/> 13887 + </return-value> 13888 + <parameters> 13889 + <instance-parameter name="session" transfer-ownership="none"> 13890 + <doc xml:space="preserve" 13891 + filename="libsoup/soup-session.c" 13892 + line="3850">a #SoupSession</doc> 13893 + <type name="Session" c:type="SoupSession*"/> 13894 + </instance-parameter> 13895 + <parameter name="msg" transfer-ownership="none"> 13896 + <doc xml:space="preserve" 13897 + filename="libsoup/soup-session.c" 13898 + line="3851">a #SoupMessage</doc> 13899 + <type name="Message" c:type="SoupMessage*"/> 13900 + </parameter> 13901 + <parameter name="io_priority" transfer-ownership="none"> 13902 + <doc xml:space="preserve" 13903 + filename="libsoup/soup-session.c" 13904 + line="3852">the I/O priority of the request</doc> 13905 + <type name="gint" c:type="int"/> 13906 + </parameter> 13907 + <parameter name="cancellable" 13908 + transfer-ownership="none" 13909 + nullable="1" 13910 + allow-none="1"> 13911 + <doc xml:space="preserve" 13912 + filename="libsoup/soup-session.c" 13913 + line="3853">a #GCancellable</doc> 13914 + <type name="Gio.Cancellable" c:type="GCancellable*"/> 13915 + </parameter> 13916 + <parameter name="callback" 13917 + transfer-ownership="none" 13918 + nullable="1" 13919 + allow-none="1" 13920 + scope="async" 13921 + closure="4"> 13922 + <doc xml:space="preserve" 13923 + filename="libsoup/soup-session.c" 13924 + line="3854">the callback to invoke when the operation finishes</doc> 13925 + <type name="Gio.AsyncReadyCallback" c:type="GAsyncReadyCallback"/> 13926 + </parameter> 13927 + <parameter name="user_data" 13928 + transfer-ownership="none" 13929 + nullable="1" 13930 + allow-none="1"> 13931 + <doc xml:space="preserve" 13932 + filename="libsoup/soup-session.c" 13933 + line="3855">data for @progress_callback and @callback</doc> 13934 + <type name="gpointer" c:type="gpointer"/> 13935 + </parameter> 13936 + </parameters> 13937 + </method> 13938 + <method name="preconnect_finish" 13939 + c:identifier="soup_session_preconnect_finish" 13940 + throws="1"> 13941 + <doc xml:space="preserve" 13942 + filename="libsoup/soup-session.c" 13943 + line="3903">Complete a preconnect async operation started with [method@Session.preconnect_async].</doc> 13944 + <source-position filename="libsoup/soup-session.h" line="243"/> 13945 + <return-value transfer-ownership="none"> 13946 + <doc xml:space="preserve" 13947 + filename="libsoup/soup-session.c" 13948 + line="3911">%TRUE if the preconnect succeeded, or %FALSE in case of error.</doc> 13949 + <type name="gboolean" c:type="gboolean"/> 13950 + </return-value> 13951 + <parameters> 13952 + <instance-parameter name="session" transfer-ownership="none"> 13953 + <doc xml:space="preserve" 13954 + filename="libsoup/soup-session.c" 13955 + line="3905">a #SoupSession</doc> 13956 + <type name="Session" c:type="SoupSession*"/> 13957 + </instance-parameter> 13958 + <parameter name="result" transfer-ownership="none"> 13959 + <doc xml:space="preserve" 13960 + filename="libsoup/soup-session.c" 13961 + line="3906">the #GAsyncResult passed to your callback</doc> 13962 + <type name="Gio.AsyncResult" c:type="GAsyncResult*"/> 13963 + </parameter> 13964 + </parameters> 13965 + </method> 13966 + <method name="remove_feature" c:identifier="soup_session_remove_feature"> 13967 + <doc xml:space="preserve" 13968 + filename="libsoup/soup-session.c" 13969 + line="2091">Removes @feature's functionality from @session.</doc> 13970 + <source-position filename="libsoup/soup-session.h" line="203"/> 13971 + <return-value transfer-ownership="none"> 13972 + <type name="none" c:type="void"/> 13973 + </return-value> 13974 + <parameters> 13975 + <instance-parameter name="session" transfer-ownership="none"> 13976 + <doc xml:space="preserve" 13977 + filename="libsoup/soup-session.c" 13978 + line="2093">a #SoupSession</doc> 13979 + <type name="Session" c:type="SoupSession*"/> 13980 + </instance-parameter> 13981 + <parameter name="feature" transfer-ownership="none"> 13982 + <doc xml:space="preserve" 13983 + filename="libsoup/soup-session.c" 13984 + line="2094">a feature that has previously been added to @session</doc> 13985 + <type name="SessionFeature" c:type="SoupSessionFeature*"/> 13986 + </parameter> 13987 + </parameters> 13988 + </method> 13989 + <method name="remove_feature_by_type" 13990 + c:identifier="soup_session_remove_feature_by_type"> 13991 + <doc xml:space="preserve" 13992 + filename="libsoup/soup-session.c" 13993 + line="2113">Removes all features of type @feature_type (or any subclass of 13994 + @feature_type) from @session.</doc> 13995 + <source-position filename="libsoup/soup-session.h" line="206"/> 13996 + <return-value transfer-ownership="none"> 13997 + <type name="none" c:type="void"/> 13998 + </return-value> 13999 + <parameters> 14000 + <instance-parameter name="session" transfer-ownership="none"> 14001 + <doc xml:space="preserve" 14002 + filename="libsoup/soup-session.c" 14003 + line="2115">a #SoupSession</doc> 14004 + <type name="Session" c:type="SoupSession*"/> 14005 + </instance-parameter> 14006 + <parameter name="feature_type" transfer-ownership="none"> 14007 + <doc xml:space="preserve" 14008 + filename="libsoup/soup-session.c" 14009 + line="2116">a #GType</doc> 14010 + <type name="GType" c:type="GType"/> 14011 + </parameter> 14012 + </parameters> 14013 + </method> 14014 + <method name="send" 14015 + c:identifier="soup_session_send" 14016 + throws="1" 14017 + glib:async-func="send_async"> 14018 + <doc xml:space="preserve" 14019 + filename="libsoup/soup-session.c" 14020 + line="3146">Synchronously sends @msg and waits for the beginning of a response. 14021 + 14022 + On success, a [class@Gio.InputStream] will be returned which you can use to 14023 + read the response body. ("Success" here means only that an HTTP 14024 + response was received and understood; it does not necessarily mean 14025 + that a 2xx class status code was received.) 14026 + 14027 + If non-%NULL, @cancellable can be used to cancel the request; 14028 + [method@Session.send] will return a %G_IO_ERROR_CANCELLED error. Note that 14029 + with requests that have side effects (eg, `POST`, `PUT`, `DELETE`) it is 14030 + possible that you might cancel the request after the server acts on it, but 14031 + before it returns a response, leaving the remote resource in an unknown 14032 + state. 14033 + 14034 + If @msg is requeued due to a redirect or authentication, the 14035 + initial (`3xx/401/407`) response body will be suppressed, and 14036 + [method@Session.send] will only return once a final response has been 14037 + received.</doc> 14038 + <source-position filename="libsoup/soup-session.h" line="146"/> 14039 + <return-value transfer-ownership="full"> 14040 + <doc xml:space="preserve" 14041 + filename="libsoup/soup-session.c" 14042 + line="3172">a #GInputStream for reading the 14043 + response body, or %NULL on error.</doc> 14044 + <type name="Gio.InputStream" c:type="GInputStream*"/> 14045 + </return-value> 14046 + <parameters> 14047 + <instance-parameter name="session" transfer-ownership="none"> 14048 + <doc xml:space="preserve" 14049 + filename="libsoup/soup-session.c" 14050 + line="3148">a #SoupSession</doc> 14051 + <type name="Session" c:type="SoupSession*"/> 14052 + </instance-parameter> 14053 + <parameter name="msg" transfer-ownership="none"> 14054 + <doc xml:space="preserve" 14055 + filename="libsoup/soup-session.c" 14056 + line="3149">a #SoupMessage</doc> 14057 + <type name="Message" c:type="SoupMessage*"/> 14058 + </parameter> 14059 + <parameter name="cancellable" 14060 + transfer-ownership="none" 14061 + nullable="1" 14062 + allow-none="1"> 14063 + <doc xml:space="preserve" 14064 + filename="libsoup/soup-session.c" 14065 + line="3150">a #GCancellable</doc> 14066 + <type name="Gio.Cancellable" c:type="GCancellable*"/> 14067 + </parameter> 14068 + </parameters> 14069 + </method> 14070 + <method name="send_and_read" 14071 + c:identifier="soup_session_send_and_read" 14072 + throws="1" 14073 + glib:async-func="send_and_read_async"> 14074 + <doc xml:space="preserve" 14075 + filename="libsoup/soup-session.c" 14076 + line="3378">Synchronously sends @msg and reads the response body. 14077 + 14078 + On success, a [struct@GLib.Bytes] will be returned with the response body. 14079 + This function should only be used when the resource to be retrieved 14080 + is not too long and can be stored in memory. 14081 + 14082 + See [method@Session.send] for more details on the general semantics.</doc> 14083 + <source-position filename="libsoup/soup-session.h" line="164"/> 14084 + <return-value transfer-ownership="full"> 14085 + <doc xml:space="preserve" 14086 + filename="libsoup/soup-session.c" 14087 + line="3393">a #GBytes, or %NULL on error.</doc> 14088 + <type name="GLib.Bytes" c:type="GBytes*"/> 14089 + </return-value> 14090 + <parameters> 14091 + <instance-parameter name="session" transfer-ownership="none"> 14092 + <doc xml:space="preserve" 14093 + filename="libsoup/soup-session.c" 14094 + line="3380">a #SoupSession</doc> 14095 + <type name="Session" c:type="SoupSession*"/> 14096 + </instance-parameter> 14097 + <parameter name="msg" transfer-ownership="none"> 14098 + <doc xml:space="preserve" 14099 + filename="libsoup/soup-session.c" 14100 + line="3381">a #SoupMessage</doc> 14101 + <type name="Message" c:type="SoupMessage*"/> 14102 + </parameter> 14103 + <parameter name="cancellable" 14104 + transfer-ownership="none" 14105 + nullable="1" 14106 + allow-none="1"> 14107 + <doc xml:space="preserve" 14108 + filename="libsoup/soup-session.c" 14109 + line="3382">a #GCancellable</doc> 14110 + <type name="Gio.Cancellable" c:type="GCancellable*"/> 14111 + </parameter> 14112 + </parameters> 14113 + </method> 14114 + <method name="send_and_read_async" 14115 + c:identifier="soup_session_send_and_read_async" 14116 + glib:finish-func="send_and_read_finish" 14117 + glib:sync-func="send_and_read"> 14118 + <doc xml:space="preserve" 14119 + filename="libsoup/soup-session.c" 14120 + line="3307">Asynchronously sends @msg and reads the response body. 14121 + 14122 + When @callback is called, then either @msg has been sent, and its response 14123 + body read, or else an error has occurred. This function should only be used 14124 + when the resource to be retrieved is not too long and can be stored in 14125 + memory. Call [method@Session.send_and_read_finish] to get a 14126 + [struct@GLib.Bytes] with the response body. 14127 + 14128 + See [method@Session.send] for more details on the general semantics.</doc> 14129 + <source-position filename="libsoup/soup-session.h" line="151"/> 14130 + <return-value transfer-ownership="none"> 14131 + <type name="none" c:type="void"/> 14132 + </return-value> 14133 + <parameters> 14134 + <instance-parameter name="session" transfer-ownership="none"> 14135 + <doc xml:space="preserve" 14136 + filename="libsoup/soup-session.c" 14137 + line="3309">a #SoupSession</doc> 14138 + <type name="Session" c:type="SoupSession*"/> 14139 + </instance-parameter> 14140 + <parameter name="msg" transfer-ownership="none"> 14141 + <doc xml:space="preserve" 14142 + filename="libsoup/soup-session.c" 14143 + line="3310">a #SoupMessage</doc> 14144 + <type name="Message" c:type="SoupMessage*"/> 14145 + </parameter> 14146 + <parameter name="io_priority" transfer-ownership="none"> 14147 + <doc xml:space="preserve" 14148 + filename="libsoup/soup-session.c" 14149 + line="3311">the I/O priority of the request</doc> 14150 + <type name="gint" c:type="int"/> 14151 + </parameter> 14152 + <parameter name="cancellable" 14153 + transfer-ownership="none" 14154 + nullable="1" 14155 + allow-none="1"> 14156 + <doc xml:space="preserve" 14157 + filename="libsoup/soup-session.c" 14158 + line="3312">a #GCancellable</doc> 14159 + <type name="Gio.Cancellable" c:type="GCancellable*"/> 14160 + </parameter> 14161 + <parameter name="callback" 14162 + transfer-ownership="none" 14163 + nullable="1" 14164 + allow-none="1" 14165 + scope="async" 14166 + closure="4"> 14167 + <doc xml:space="preserve" 14168 + filename="libsoup/soup-session.c" 14169 + line="3313">the callback to invoke</doc> 14170 + <type name="Gio.AsyncReadyCallback" c:type="GAsyncReadyCallback"/> 14171 + </parameter> 14172 + <parameter name="user_data" 14173 + transfer-ownership="none" 14174 + nullable="1" 14175 + allow-none="1"> 14176 + <doc xml:space="preserve" 14177 + filename="libsoup/soup-session.c" 14178 + line="3314">data for @callback</doc> 14179 + <type name="gpointer" c:type="gpointer"/> 14180 + </parameter> 14181 + </parameters> 14182 + </method> 14183 + <method name="send_and_read_finish" 14184 + c:identifier="soup_session_send_and_read_finish" 14185 + throws="1"> 14186 + <doc xml:space="preserve" 14187 + filename="libsoup/soup-session.c" 14188 + line="3355">Gets the response to a [method@Session.send_and_read_async]. 14189 + 14190 + If successful, returns a [struct@GLib.Bytes] with the response body.</doc> 14191 + <source-position filename="libsoup/soup-session.h" line="159"/> 14192 + <return-value transfer-ownership="full"> 14193 + <doc xml:space="preserve" 14194 + filename="libsoup/soup-session.c" 14195 + line="3365">a #GBytes, or %NULL on error.</doc> 14196 + <type name="GLib.Bytes" c:type="GBytes*"/> 14197 + </return-value> 14198 + <parameters> 14199 + <instance-parameter name="session" transfer-ownership="none"> 14200 + <doc xml:space="preserve" 14201 + filename="libsoup/soup-session.c" 14202 + line="3357">a #SoupSession</doc> 14203 + <type name="Session" c:type="SoupSession*"/> 14204 + </instance-parameter> 14205 + <parameter name="result" transfer-ownership="none"> 14206 + <doc xml:space="preserve" 14207 + filename="libsoup/soup-session.c" 14208 + line="3358">the #GAsyncResult passed to your callback</doc> 14209 + <type name="Gio.AsyncResult" c:type="GAsyncResult*"/> 14210 + </parameter> 14211 + </parameters> 14212 + </method> 14213 + <method name="send_and_splice" 14214 + c:identifier="soup_session_send_and_splice" 14215 + version="3.4" 14216 + throws="1" 14217 + glib:async-func="send_and_splice_async"> 14218 + <doc xml:space="preserve" 14219 + filename="libsoup/soup-session.c" 14220 + line="3549">Synchronously sends @msg and splices the response body stream into @out_stream. 14221 + 14222 + See [method@Session.send] for more details on the general semantics.</doc> 14223 + <source-position filename="libsoup/soup-session.h" line="185"/> 14224 + <return-value transfer-ownership="none"> 14225 + <doc xml:space="preserve" 14226 + filename="libsoup/soup-session.c" 14227 + line="3562">a #gssize containing the size of the data spliced, or -1 if an error occurred.</doc> 14228 + <type name="gssize" c:type="gssize"/> 14229 + </return-value> 14230 + <parameters> 14231 + <instance-parameter name="session" transfer-ownership="none"> 14232 + <doc xml:space="preserve" 14233 + filename="libsoup/soup-session.c" 14234 + line="3551">a #SoupSession</doc> 14235 + <type name="Session" c:type="SoupSession*"/> 14236 + </instance-parameter> 14237 + <parameter name="msg" transfer-ownership="none"> 14238 + <doc xml:space="preserve" 14239 + filename="libsoup/soup-session.c" 14240 + line="3552">a #SoupMessage</doc> 14241 + <type name="Message" c:type="SoupMessage*"/> 14242 + </parameter> 14243 + <parameter name="out_stream" transfer-ownership="none"> 14244 + <doc xml:space="preserve" 14245 + filename="libsoup/soup-session.c" 14246 + line="3553">a #GOutputStream</doc> 14247 + <type name="Gio.OutputStream" c:type="GOutputStream*"/> 14248 + </parameter> 14249 + <parameter name="flags" transfer-ownership="none"> 14250 + <doc xml:space="preserve" 14251 + filename="libsoup/soup-session.c" 14252 + line="3554">a set of #GOutputStreamSpliceFlags</doc> 14253 + <type name="Gio.OutputStreamSpliceFlags" 14254 + c:type="GOutputStreamSpliceFlags"/> 14255 + </parameter> 14256 + <parameter name="cancellable" 14257 + transfer-ownership="none" 14258 + nullable="1" 14259 + allow-none="1"> 14260 + <doc xml:space="preserve" 14261 + filename="libsoup/soup-session.c" 14262 + line="3555">a #GCancellable</doc> 14263 + <type name="Gio.Cancellable" c:type="GCancellable*"/> 14264 + </parameter> 14265 + </parameters> 14266 + </method> 14267 + <method name="send_and_splice_async" 14268 + c:identifier="soup_session_send_and_splice_async" 14269 + version="3.4" 14270 + glib:finish-func="send_and_splice_finish" 14271 + glib:sync-func="send_and_splice"> 14272 + <doc xml:space="preserve" 14273 + filename="libsoup/soup-session.c" 14274 + line="3477">Asynchronously sends @msg and splices the response body stream into @out_stream. 14275 + When @callback is called, then either @msg has been sent and its response body 14276 + spliced, or else an error has occurred. 14277 + 14278 + See [method@Session.send] for more details on the general semantics.</doc> 14279 + <source-position filename="libsoup/soup-session.h" line="170"/> 14280 + <return-value transfer-ownership="none"> 14281 + <type name="none" c:type="void"/> 14282 + </return-value> 14283 + <parameters> 14284 + <instance-parameter name="session" transfer-ownership="none"> 14285 + <doc xml:space="preserve" 14286 + filename="libsoup/soup-session.c" 14287 + line="3479">a #SoupSession</doc> 14288 + <type name="Session" c:type="SoupSession*"/> 14289 + </instance-parameter> 14290 + <parameter name="msg" transfer-ownership="none"> 14291 + <doc xml:space="preserve" 14292 + filename="libsoup/soup-session.c" 14293 + line="3480">a #SoupMessage</doc> 14294 + <type name="Message" c:type="SoupMessage*"/> 14295 + </parameter> 14296 + <parameter name="out_stream" transfer-ownership="none"> 14297 + <doc xml:space="preserve" 14298 + filename="libsoup/soup-session.c" 14299 + line="3481">a #GOutputStream</doc> 14300 + <type name="Gio.OutputStream" c:type="GOutputStream*"/> 14301 + </parameter> 14302 + <parameter name="flags" transfer-ownership="none"> 14303 + <doc xml:space="preserve" 14304 + filename="libsoup/soup-session.c" 14305 + line="3482">a set of #GOutputStreamSpliceFlags</doc> 14306 + <type name="Gio.OutputStreamSpliceFlags" 14307 + c:type="GOutputStreamSpliceFlags"/> 14308 + </parameter> 14309 + <parameter name="io_priority" transfer-ownership="none"> 14310 + <doc xml:space="preserve" 14311 + filename="libsoup/soup-session.c" 14312 + line="3483">the I/O priority of the request</doc> 14313 + <type name="gint" c:type="int"/> 14314 + </parameter> 14315 + <parameter name="cancellable" 14316 + transfer-ownership="none" 14317 + nullable="1" 14318 + allow-none="1"> 14319 + <doc xml:space="preserve" 14320 + filename="libsoup/soup-session.c" 14321 + line="3484">a #GCancellable</doc> 14322 + <type name="Gio.Cancellable" c:type="GCancellable*"/> 14323 + </parameter> 14324 + <parameter name="callback" 14325 + transfer-ownership="none" 14326 + nullable="1" 14327 + allow-none="1" 14328 + scope="async" 14329 + closure="6"> 14330 + <doc xml:space="preserve" 14331 + filename="libsoup/soup-session.c" 14332 + line="3485">the callback to invoke</doc> 14333 + <type name="Gio.AsyncReadyCallback" c:type="GAsyncReadyCallback"/> 14334 + </parameter> 14335 + <parameter name="user_data" 14336 + transfer-ownership="none" 14337 + nullable="1" 14338 + allow-none="1"> 14339 + <doc xml:space="preserve" 14340 + filename="libsoup/soup-session.c" 14341 + line="3486">data for @callback</doc> 14342 + <type name="gpointer" c:type="gpointer"/> 14343 + </parameter> 14344 + </parameters> 14345 + </method> 14346 + <method name="send_and_splice_finish" 14347 + c:identifier="soup_session_send_and_splice_finish" 14348 + version="3.4" 14349 + throws="1"> 14350 + <doc xml:space="preserve" 14351 + filename="libsoup/soup-session.c" 14352 + line="3526">Gets the response to a [method@Session.send_and_splice_async].</doc> 14353 + <source-position filename="libsoup/soup-session.h" line="180"/> 14354 + <return-value transfer-ownership="none"> 14355 + <doc xml:space="preserve" 14356 + filename="libsoup/soup-session.c" 14357 + line="3534">a #gssize containing the size of the data spliced, or -1 if an error occurred.</doc> 14358 + <type name="gssize" c:type="gssize"/> 14359 + </return-value> 14360 + <parameters> 14361 + <instance-parameter name="session" transfer-ownership="none"> 14362 + <doc xml:space="preserve" 14363 + filename="libsoup/soup-session.c" 14364 + line="3528">a #SoupSession</doc> 14365 + <type name="Session" c:type="SoupSession*"/> 14366 + </instance-parameter> 14367 + <parameter name="result" transfer-ownership="none"> 14368 + <doc xml:space="preserve" 14369 + filename="libsoup/soup-session.c" 14370 + line="3529">the #GAsyncResult passed to your callback</doc> 14371 + <type name="Gio.AsyncResult" c:type="GAsyncResult*"/> 14372 + </parameter> 14373 + </parameters> 14374 + </method> 14375 + <method name="send_async" 14376 + c:identifier="soup_session_send_async" 14377 + glib:finish-func="send_finish" 14378 + glib:sync-func="send"> 14379 + <doc xml:space="preserve" 14380 + filename="libsoup/soup-session.c" 14381 + line="3054">Asynchronously sends @msg and waits for the beginning of a response. 14382 + 14383 + When @callback is called, then either @msg has been sent, and its response 14384 + headers received, or else an error has occurred. Call 14385 + [method@Session.send_finish] to get a [class@Gio.InputStream] for reading the 14386 + response body. 14387 + 14388 + See [method@Session.send] for more details on the general semantics.</doc> 14389 + <source-position filename="libsoup/soup-session.h" line="135"/> 14390 + <return-value transfer-ownership="none"> 14391 + <type name="none" c:type="void"/> 14392 + </return-value> 14393 + <parameters> 14394 + <instance-parameter name="session" transfer-ownership="none"> 14395 + <doc xml:space="preserve" 14396 + filename="libsoup/soup-session.c" 14397 + line="3056">a #SoupSession</doc> 14398 + <type name="Session" c:type="SoupSession*"/> 14399 + </instance-parameter> 14400 + <parameter name="msg" transfer-ownership="none"> 14401 + <doc xml:space="preserve" 14402 + filename="libsoup/soup-session.c" 14403 + line="3057">a #SoupMessage</doc> 14404 + <type name="Message" c:type="SoupMessage*"/> 14405 + </parameter> 14406 + <parameter name="io_priority" transfer-ownership="none"> 14407 + <doc xml:space="preserve" 14408 + filename="libsoup/soup-session.c" 14409 + line="3058">the I/O priority of the request</doc> 14410 + <type name="gint" c:type="int"/> 14411 + </parameter> 14412 + <parameter name="cancellable" 14413 + transfer-ownership="none" 14414 + nullable="1" 14415 + allow-none="1"> 14416 + <doc xml:space="preserve" 14417 + filename="libsoup/soup-session.c" 14418 + line="3059">a #GCancellable</doc> 14419 + <type name="Gio.Cancellable" c:type="GCancellable*"/> 14420 + </parameter> 14421 + <parameter name="callback" 14422 + transfer-ownership="none" 14423 + nullable="1" 14424 + allow-none="1" 14425 + scope="async" 14426 + closure="4"> 14427 + <doc xml:space="preserve" 14428 + filename="libsoup/soup-session.c" 14429 + line="3060">the callback to invoke</doc> 14430 + <type name="Gio.AsyncReadyCallback" c:type="GAsyncReadyCallback"/> 14431 + </parameter> 14432 + <parameter name="user_data" 14433 + transfer-ownership="none" 14434 + nullable="1" 14435 + allow-none="1"> 14436 + <doc xml:space="preserve" 14437 + filename="libsoup/soup-session.c" 14438 + line="3061">data for @callback</doc> 14439 + <type name="gpointer" c:type="gpointer"/> 14440 + </parameter> 14441 + </parameters> 14442 + </method> 14443 + <method name="send_finish" 14444 + c:identifier="soup_session_send_finish" 14445 + throws="1"> 14446 + <doc xml:space="preserve" 14447 + filename="libsoup/soup-session.c" 14448 + line="3104">Gets the response to a [method@Session.send_async] call. 14449 + 14450 + If successful returns a [class@Gio.InputStream] that can be used to read the 14451 + response body.</doc> 14452 + <source-position filename="libsoup/soup-session.h" line="142"/> 14453 + <return-value transfer-ownership="full"> 14454 + <doc xml:space="preserve" 14455 + filename="libsoup/soup-session.c" 14456 + line="3115">a #GInputStream for reading the 14457 + response body, or %NULL on error.</doc> 14458 + <type name="Gio.InputStream" c:type="GInputStream*"/> 14459 + </return-value> 14460 + <parameters> 14461 + <instance-parameter name="session" transfer-ownership="none"> 14462 + <doc xml:space="preserve" 14463 + filename="libsoup/soup-session.c" 14464 + line="3106">a #SoupSession</doc> 14465 + <type name="Session" c:type="SoupSession*"/> 14466 + </instance-parameter> 14467 + <parameter name="result" transfer-ownership="none"> 14468 + <doc xml:space="preserve" 14469 + filename="libsoup/soup-session.c" 14470 + line="3107">the #GAsyncResult passed to your callback</doc> 14471 + <type name="Gio.AsyncResult" c:type="GAsyncResult*"/> 14472 + </parameter> 14473 + </parameters> 14474 + </method> 14475 + <method name="set_accept_language" 14476 + c:identifier="soup_session_set_accept_language" 14477 + glib:set-property="accept-language"> 14478 + <attribute name="org.gtk.Method.set_property" value="accept-language"/> 14479 + <doc xml:space="preserve" 14480 + filename="libsoup/soup-session.c" 14481 + line="929">Set the value to use for the "Accept-Language" header on [class@Message]s 14482 + sent from @session. 14483 + 14484 + If @accept_language is %NULL then no "Accept-Language" will be included in 14485 + requests. See [property@Session:accept-language] for more information.</doc> 14486 + <source-position filename="libsoup/soup-session.h" line="115"/> 14487 + <return-value transfer-ownership="none"> 14488 + <type name="none" c:type="void"/> 14489 + </return-value> 14490 + <parameters> 14491 + <instance-parameter name="session" transfer-ownership="none"> 14492 + <doc xml:space="preserve" 14493 + filename="libsoup/soup-session.c" 14494 + line="931">a #SoupSession</doc> 14495 + <type name="Session" c:type="SoupSession*"/> 14496 + </instance-parameter> 14497 + <parameter name="accept_language" transfer-ownership="none"> 14498 + <doc xml:space="preserve" 14499 + filename="libsoup/soup-session.c" 14500 + line="932">the languages string</doc> 14501 + <type name="utf8" c:type="const char*"/> 14502 + </parameter> 14503 + </parameters> 14504 + </method> 14505 + <method name="set_accept_language_auto" 14506 + c:identifier="soup_session_set_accept_language_auto" 14507 + glib:set-property="accept-language-auto"> 14508 + <attribute name="org.gtk.Method.set_property" 14509 + value="accept-language-auto"/> 14510 + <doc xml:space="preserve" 14511 + filename="libsoup/soup-session.c" 14512 + line="982">Set whether @session will automatically set the "Accept-Language" header on 14513 + requests using a value generated from system languages based on 14514 + [func@GLib.get_language_names]. 14515 + 14516 + See [property@Session:accept-language-auto] for more information.</doc> 14517 + <source-position filename="libsoup/soup-session.h" line="122"/> 14518 + <return-value transfer-ownership="none"> 14519 + <type name="none" c:type="void"/> 14520 + </return-value> 14521 + <parameters> 14522 + <instance-parameter name="session" transfer-ownership="none"> 14523 + <doc xml:space="preserve" 14524 + filename="libsoup/soup-session.c" 14525 + line="984">a #SoupSession</doc> 14526 + <type name="Session" c:type="SoupSession*"/> 14527 + </instance-parameter> 14528 + <parameter name="accept_language_auto" transfer-ownership="none"> 14529 + <doc xml:space="preserve" 14530 + filename="libsoup/soup-session.c" 14531 + line="985">the value to set</doc> 14532 + <type name="gboolean" c:type="gboolean"/> 14533 + </parameter> 14534 + </parameters> 14535 + </method> 14536 + <method name="set_idle_timeout" 14537 + c:identifier="soup_session_set_idle_timeout" 14538 + glib:set-property="idle-timeout"> 14539 + <attribute name="org.gtk.Method.set_property" value="idle-timeout"/> 14540 + <doc xml:space="preserve" 14541 + filename="libsoup/soup-session.c" 14542 + line="811">Set a timeout in seconds for idle connection lifetime to be used by @session 14543 + on new connections. 14544 + 14545 + See [property@Session:idle-timeout] for more information.</doc> 14546 + <source-position filename="libsoup/soup-session.h" line="101"/> 14547 + <return-value transfer-ownership="none"> 14548 + <type name="none" c:type="void"/> 14549 + </return-value> 14550 + <parameters> 14551 + <instance-parameter name="session" transfer-ownership="none"> 14552 + <doc xml:space="preserve" 14553 + filename="libsoup/soup-session.c" 14554 + line="813">a #SoupSession</doc> 14555 + <type name="Session" c:type="SoupSession*"/> 14556 + </instance-parameter> 14557 + <parameter name="timeout" transfer-ownership="none"> 14558 + <doc xml:space="preserve" 14559 + filename="libsoup/soup-session.c" 14560 + line="814">a timeout in seconds</doc> 14561 + <type name="guint" c:type="guint"/> 14562 + </parameter> 14563 + </parameters> 14564 + </method> 14565 + <method name="set_proxy_resolver" 14566 + c:identifier="soup_session_set_proxy_resolver" 14567 + glib:set-property="proxy-resolver"> 14568 + <attribute name="org.gtk.Method.set_property" value="proxy-resolver"/> 14569 + <doc xml:space="preserve" 14570 + filename="libsoup/soup-session.c" 14571 + line="612">Set a [iface@Gio.ProxyResolver] to be used by @session on new connections. 14572 + 14573 + If @proxy_resolver is %NULL then no proxies will be used. See 14574 + [property@Session:proxy-resolver] for more information.</doc> 14575 + <source-position filename="libsoup/soup-session.h" line="73"/> 14576 + <return-value transfer-ownership="none"> 14577 + <type name="none" c:type="void"/> 14578 + </return-value> 14579 + <parameters> 14580 + <instance-parameter name="session" transfer-ownership="none"> 14581 + <doc xml:space="preserve" 14582 + filename="libsoup/soup-session.c" 14583 + line="614">a #SoupSession</doc> 14584 + <type name="Session" c:type="SoupSession*"/> 14585 + </instance-parameter> 14586 + <parameter name="proxy_resolver" 14587 + transfer-ownership="none" 14588 + nullable="1" 14589 + allow-none="1"> 14590 + <doc xml:space="preserve" 14591 + filename="libsoup/soup-session.c" 14592 + line="615">a #GProxyResolver or %NULL</doc> 14593 + <type name="Gio.ProxyResolver" c:type="GProxyResolver*"/> 14594 + </parameter> 14595 + </parameters> 14596 + </method> 14597 + <method name="set_timeout" 14598 + c:identifier="soup_session_set_timeout" 14599 + glib:set-property="timeout"> 14600 + <attribute name="org.gtk.Method.set_property" value="timeout"/> 14601 + <doc xml:space="preserve" 14602 + filename="libsoup/soup-session.c" 14603 + line="764">Set a timeout in seconds for socket I/O operations to be used by @session 14604 + on new connections. 14605 + 14606 + See [property@Session:timeout] for more information.</doc> 14607 + <source-position filename="libsoup/soup-session.h" line="94"/> 14608 + <return-value transfer-ownership="none"> 14609 + <type name="none" c:type="void"/> 14610 + </return-value> 14611 + <parameters> 14612 + <instance-parameter name="session" transfer-ownership="none"> 14613 + <doc xml:space="preserve" 14614 + filename="libsoup/soup-session.c" 14615 + line="766">a #SoupSession</doc> 14616 + <type name="Session" c:type="SoupSession*"/> 14617 + </instance-parameter> 14618 + <parameter name="timeout" transfer-ownership="none"> 14619 + <doc xml:space="preserve" 14620 + filename="libsoup/soup-session.c" 14621 + line="767">a timeout in seconds</doc> 14622 + <type name="guint" c:type="guint"/> 14623 + </parameter> 14624 + </parameters> 14625 + </method> 14626 + <method name="set_tls_database" 14627 + c:identifier="soup_session_set_tls_database" 14628 + glib:set-property="tls-database"> 14629 + <attribute name="org.gtk.Method.set_property" value="tls-database"/> 14630 + <doc xml:space="preserve" 14631 + filename="libsoup/soup-session.c" 14632 + line="662">Set a [class@GIo.TlsDatabase] to be used by @session on new connections. 14633 + 14634 + If @tls_database is %NULL then certificate validation will always fail. See 14635 + [property@Session:tls-database] for more information.</doc> 14636 + <source-position filename="libsoup/soup-session.h" line="80"/> 14637 + <return-value transfer-ownership="none"> 14638 + <type name="none" c:type="void"/> 14639 + </return-value> 14640 + <parameters> 14641 + <instance-parameter name="session" transfer-ownership="none"> 14642 + <doc xml:space="preserve" 14643 + filename="libsoup/soup-session.c" 14644 + line="664">a #SoupSession</doc> 14645 + <type name="Session" c:type="SoupSession*"/> 14646 + </instance-parameter> 14647 + <parameter name="tls_database" 14648 + transfer-ownership="none" 14649 + nullable="1" 14650 + allow-none="1"> 14651 + <doc xml:space="preserve" 14652 + filename="libsoup/soup-session.c" 14653 + line="665">a #GTlsDatabase</doc> 14654 + <type name="Gio.TlsDatabase" c:type="GTlsDatabase*"/> 14655 + </parameter> 14656 + </parameters> 14657 + </method> 14658 + <method name="set_tls_interaction" 14659 + c:identifier="soup_session_set_tls_interaction" 14660 + glib:set-property="tls-interaction"> 14661 + <attribute name="org.gtk.Method.set_property" value="tls-interaction"/> 14662 + <doc xml:space="preserve" 14663 + filename="libsoup/soup-session.c" 14664 + line="714">Set a [class@Gio.TlsInteraction] to be used by @session on new connections. 14665 + 14666 + If @tls_interaction is %NULL then client certificate validation will always 14667 + fail. 14668 + 14669 + See [property@Session:tls-interaction] for more information.</doc> 14670 + <source-position filename="libsoup/soup-session.h" line="87"/> 14671 + <return-value transfer-ownership="none"> 14672 + <type name="none" c:type="void"/> 14673 + </return-value> 14674 + <parameters> 14675 + <instance-parameter name="session" transfer-ownership="none"> 14676 + <doc xml:space="preserve" 14677 + filename="libsoup/soup-session.c" 14678 + line="716">a #SoupSession</doc> 14679 + <type name="Session" c:type="SoupSession*"/> 14680 + </instance-parameter> 14681 + <parameter name="tls_interaction" 14682 + transfer-ownership="none" 14683 + nullable="1" 14684 + allow-none="1"> 14685 + <doc xml:space="preserve" 14686 + filename="libsoup/soup-session.c" 14687 + line="717">a #GTlsInteraction</doc> 14688 + <type name="Gio.TlsInteraction" c:type="GTlsInteraction*"/> 14689 + </parameter> 14690 + </parameters> 14691 + </method> 14692 + <method name="set_user_agent" 14693 + c:identifier="soup_session_set_user_agent" 14694 + glib:set-property="user-agent"> 14695 + <attribute name="org.gtk.Method.set_property" value="user-agent"/> 14696 + <doc xml:space="preserve" 14697 + filename="libsoup/soup-session.c" 14698 + line="858">Set the value to use for the "User-Agent" header on [class@Message]s sent 14699 + from @session. 14700 + 14701 + If @user_agent has trailing whitespace, @session will append its own product 14702 + token (eg, `libsoup/3.0.0`) to the end of the header for you. If @user_agent 14703 + is %NULL then no "User-Agent" will be included in requests. See 14704 + [property@Session:user-agent] for more information.</doc> 14705 + <source-position filename="libsoup/soup-session.h" line="108"/> 14706 + <return-value transfer-ownership="none"> 14707 + <type name="none" c:type="void"/> 14708 + </return-value> 14709 + <parameters> 14710 + <instance-parameter name="session" transfer-ownership="none"> 14711 + <doc xml:space="preserve" 14712 + filename="libsoup/soup-session.c" 14713 + line="860">a #SoupSession</doc> 14714 + <type name="Session" c:type="SoupSession*"/> 14715 + </instance-parameter> 14716 + <parameter name="user_agent" transfer-ownership="none"> 14717 + <doc xml:space="preserve" 14718 + filename="libsoup/soup-session.c" 14719 + line="861">the user agent string</doc> 14720 + <type name="utf8" c:type="const char*"/> 14721 + </parameter> 14722 + </parameters> 14723 + </method> 14724 + <method name="websocket_connect_async" 14725 + c:identifier="soup_session_websocket_connect_async" 14726 + glib:finish-func="websocket_connect_finish"> 14727 + <doc xml:space="preserve" 14728 + filename="libsoup/soup-session.c" 14729 + line="3711">Asynchronously creates a [class@WebsocketConnection] to communicate with a 14730 + remote server. 14731 + 14732 + All necessary WebSocket-related headers will be added to @msg, and 14733 + it will then be sent and asynchronously processed normally 14734 + (including handling of redirection and HTTP authentication). 14735 + 14736 + If the server returns "101 Switching Protocols", then @msg's status 14737 + code and response headers will be updated, and then the WebSocket 14738 + handshake will be completed. On success, 14739 + [method@Session.websocket_connect_finish] will return a new 14740 + [class@WebsocketConnection]. On failure it will return a #GError. 14741 + 14742 + If the server returns a status other than "101 Switching Protocols", then 14743 + @msg will contain the complete response headers and body from the server's 14744 + response, and [method@Session.websocket_connect_finish] will return 14745 + %SOUP_WEBSOCKET_ERROR_NOT_WEBSOCKET.</doc> 14746 + <source-position filename="libsoup/soup-session.h" line="220"/> 14747 + <return-value transfer-ownership="none"> 14748 + <type name="none" c:type="void"/> 14749 + </return-value> 14750 + <parameters> 14751 + <instance-parameter name="session" transfer-ownership="none"> 14752 + <doc xml:space="preserve" 14753 + filename="libsoup/soup-session.c" 14754 + line="3713">a #SoupSession</doc> 14755 + <type name="Session" c:type="SoupSession*"/> 14756 + </instance-parameter> 14757 + <parameter name="msg" transfer-ownership="none"> 14758 + <doc xml:space="preserve" 14759 + filename="libsoup/soup-session.c" 14760 + line="3714">#SoupMessage indicating the WebSocket server to connect to</doc> 14761 + <type name="Message" c:type="SoupMessage*"/> 14762 + </parameter> 14763 + <parameter name="origin" 14764 + transfer-ownership="none" 14765 + nullable="1" 14766 + allow-none="1"> 14767 + <doc xml:space="preserve" 14768 + filename="libsoup/soup-session.c" 14769 + line="3715">origin of the connection</doc> 14770 + <type name="utf8" c:type="const char*"/> 14771 + </parameter> 14772 + <parameter name="protocols" 14773 + transfer-ownership="none" 14774 + nullable="1" 14775 + allow-none="1"> 14776 + <doc xml:space="preserve" 14777 + filename="libsoup/soup-session.c" 14778 + line="3716">a 14779 + %NULL-terminated array of protocols supported</doc> 14780 + <array c:type="char**"> 14781 + <type name="utf8" c:type="char*"/> 14782 + </array> 14783 + </parameter> 14784 + <parameter name="io_priority" transfer-ownership="none"> 14785 + <doc xml:space="preserve" 14786 + filename="libsoup/soup-session.c" 14787 + line="3718">the I/O priority of the request</doc> 14788 + <type name="gint" c:type="int"/> 14789 + </parameter> 14790 + <parameter name="cancellable" 14791 + transfer-ownership="none" 14792 + nullable="1" 14793 + allow-none="1"> 14794 + <doc xml:space="preserve" 14795 + filename="libsoup/soup-session.c" 14796 + line="3719">a #GCancellable</doc> 14797 + <type name="Gio.Cancellable" c:type="GCancellable*"/> 14798 + </parameter> 14799 + <parameter name="callback" 14800 + transfer-ownership="none" 14801 + nullable="1" 14802 + allow-none="1" 14803 + scope="async" 14804 + closure="6"> 14805 + <doc xml:space="preserve" 14806 + filename="libsoup/soup-session.c" 14807 + line="3720">the callback to invoke</doc> 14808 + <type name="Gio.AsyncReadyCallback" c:type="GAsyncReadyCallback"/> 14809 + </parameter> 14810 + <parameter name="user_data" 14811 + transfer-ownership="none" 14812 + nullable="1" 14813 + allow-none="1"> 14814 + <doc xml:space="preserve" 14815 + filename="libsoup/soup-session.c" 14816 + line="3721">data for @callback</doc> 14817 + <type name="gpointer" c:type="gpointer"/> 14818 + </parameter> 14819 + </parameters> 14820 + </method> 14821 + <method name="websocket_connect_finish" 14822 + c:identifier="soup_session_websocket_connect_finish" 14823 + throws="1"> 14824 + <doc xml:space="preserve" 14825 + filename="libsoup/soup-session.c" 14826 + line="3793">Gets the [class@WebsocketConnection] response to a 14827 + [method@Session.websocket_connect_async] call. 14828 + 14829 + If successful, returns a [class@WebsocketConnection] that can be used to 14830 + communicate with the server.</doc> 14831 + <source-position filename="libsoup/soup-session.h" line="230"/> 14832 + <return-value transfer-ownership="full"> 14833 + <doc xml:space="preserve" 14834 + filename="libsoup/soup-session.c" 14835 + line="3805">a new #SoupWebsocketConnection, or 14836 + %NULL on error.</doc> 14837 + <type name="WebsocketConnection" c:type="SoupWebsocketConnection*"/> 14838 + </return-value> 14839 + <parameters> 14840 + <instance-parameter name="session" transfer-ownership="none"> 14841 + <doc xml:space="preserve" 14842 + filename="libsoup/soup-session.c" 14843 + line="3795">a #SoupSession</doc> 14844 + <type name="Session" c:type="SoupSession*"/> 14845 + </instance-parameter> 14846 + <parameter name="result" transfer-ownership="none"> 14847 + <doc xml:space="preserve" 14848 + filename="libsoup/soup-session.c" 14849 + line="3796">the #GAsyncResult passed to your callback</doc> 14850 + <type name="Gio.AsyncResult" c:type="GAsyncResult*"/> 14851 + </parameter> 14852 + </parameters> 14853 + </method> 14854 + <property name="accept-language" 14855 + writable="1" 14856 + transfer-ownership="none" 14857 + setter="set_accept_language" 14858 + getter="get_accept_language" 14859 + default-value="NULL"> 14860 + <attribute name="org.gtk.Property.get" 14861 + value="soup_session_get_accept_language"/> 14862 + <attribute name="org.gtk.Property.set" 14863 + value="soup_session_set_accept_language"/> 14864 + <doc xml:space="preserve" 14865 + filename="libsoup/soup-session.c" 14866 + line="2543">If non-%NULL, the value to use for the "Accept-Language" header 14867 + on [class@Message]s sent from this session. 14868 + 14869 + Setting this will disable [property@Session:accept-language-auto].</doc> 14870 + <type name="utf8" c:type="gchar*"/> 14871 + </property> 14872 + <property name="accept-language-auto" 14873 + writable="1" 14874 + transfer-ownership="none" 14875 + setter="set_accept_language_auto" 14876 + getter="get_accept_language_auto" 14877 + default-value="FALSE"> 14878 + <attribute name="org.gtk.Property.get" 14879 + value="soup_session_get_accept_language_auto"/> 14880 + <attribute name="org.gtk.Property.set" 14881 + value="soup_session_set_accept_language_auto"/> 14882 + <doc xml:space="preserve" 14883 + filename="libsoup/soup-session.c" 14884 + line="2559">If %TRUE, #SoupSession will automatically set the string 14885 + for the "Accept-Language" header on every [class@Message] 14886 + sent, based on the return value of [func@GLib.get_language_names]. 14887 + 14888 + Setting this will override any previous value of 14889 + [property@Session:accept-language].</doc> 14890 + <type name="gboolean" c:type="gboolean"/> 14891 + </property> 14892 + <property name="idle-timeout" 14893 + writable="1" 14894 + transfer-ownership="none" 14895 + setter="set_idle_timeout" 14896 + getter="get_idle_timeout" 14897 + default-value="60"> 14898 + <attribute name="org.gtk.Property.get" 14899 + value="soup_session_get_idle_timeout"/> 14900 + <attribute name="org.gtk.Property.set" 14901 + value="soup_session_set_idle_timeout"/> 14902 + <doc xml:space="preserve" 14903 + filename="libsoup/soup-session.c" 14904 + line="2444">Connection lifetime (in seconds) when idle. Any connection 14905 + left idle longer than this will be closed. 14906 + 14907 + Although you can change this property at any time, it will 14908 + only affect newly-created connections, not currently-open 14909 + ones. You can call [method@Session.abort] after setting this 14910 + if you want to ensure that all future connections will have 14911 + this timeout value.</doc> 14912 + <type name="guint" c:type="guint"/> 14913 + </property> 14914 + <property name="local-address" 14915 + writable="1" 14916 + construct-only="1" 14917 + transfer-ownership="none" 14918 + getter="get_local_address"> 14919 + <attribute name="org.gtk.Property.get" 14920 + value="soup_session_get_local_address"/> 14921 + <doc xml:space="preserve" 14922 + filename="libsoup/soup-session.c" 14923 + line="2596">Sets the [class@Gio.InetSocketAddress] to use for the client side of 14924 + the connection. 14925 + 14926 + Use this property if you want for instance to bind the 14927 + local socket to a specific IP address.</doc> 14928 + <type name="Gio.InetSocketAddress"/> 14929 + </property> 14930 + <property name="max-conns" 14931 + writable="1" 14932 + construct-only="1" 14933 + transfer-ownership="none" 14934 + getter="get_max_conns" 14935 + default-value="10"> 14936 + <attribute name="org.gtk.Property.get" 14937 + value="soup_session_get_max_conns"/> 14938 + <doc xml:space="preserve" 14939 + filename="libsoup/soup-session.c" 14940 + line="2412">The maximum number of connections that the session can open at once.</doc> 14941 + <type name="gint" c:type="gint"/> 14942 + </property> 14943 + <property name="max-conns-per-host" 14944 + writable="1" 14945 + construct-only="1" 14946 + transfer-ownership="none" 14947 + getter="get_max_conns_per_host" 14948 + default-value="2"> 14949 + <attribute name="org.gtk.Property.get" 14950 + value="soup_session_get_max_conns_per_host"/> 14951 + <doc xml:space="preserve" 14952 + filename="libsoup/soup-session.c" 14953 + line="2428">The maximum number of connections that the session can open at once 14954 + to a given host.</doc> 14955 + <type name="gint" c:type="gint"/> 14956 + </property> 14957 + <property name="proxy-resolver" 14958 + writable="1" 14959 + transfer-ownership="none" 14960 + setter="set_proxy_resolver" 14961 + getter="get_proxy_resolver"> 14962 + <attribute name="org.gtk.Property.get" 14963 + value="soup_session_get_proxy_resolver"/> 14964 + <attribute name="org.gtk.Property.set" 14965 + value="soup_session_set_proxy_resolver"/> 14966 + <doc xml:space="preserve" 14967 + filename="libsoup/soup-session.c" 14968 + line="2394">A [iface@Gio.ProxyResolver] to use with this session. 14969 + 14970 + If no proxy resolver is set, then the default proxy resolver 14971 + will be used. See [func@Gio.ProxyResolver.get_default]. 14972 + You can set it to %NULL if you don't want to use proxies, or 14973 + set it to your own [iface@Gio.ProxyResolver] if you want to control 14974 + what proxies get used.</doc> 14975 + <type name="Gio.ProxyResolver"/> 14976 + </property> 14977 + <property name="remote-connectable" 14978 + writable="1" 14979 + construct-only="1" 14980 + transfer-ownership="none" 14981 + getter="get_remote_connectable"> 14982 + <attribute name="org.gtk.Property.get" 14983 + value="soup_session_get_remote_connectable"/> 14984 + <doc xml:space="preserve" 14985 + filename="libsoup/soup-session.c" 14986 + line="2577">Sets a socket to make outgoing connections on. This will override the default 14987 + behaviour of opening TCP/IP sockets to the hosts specified in the URIs. 14988 + 14989 + This function is not required for common HTTP usage, but only when connecting 14990 + to a HTTP service that is not using standard TCP/IP sockets. An example of 14991 + this is a local service that uses HTTP over UNIX-domain sockets, in that case 14992 + a [class@Gio.UnixSocketAddress] can be passed to this function.</doc> 14993 + <type name="Gio.SocketConnectable"/> 14994 + </property> 14995 + <property name="timeout" 14996 + writable="1" 14997 + transfer-ownership="none" 14998 + setter="set_timeout" 14999 + getter="get_timeout" 15000 + default-value="0"> 15001 + <attribute name="org.gtk.Property.get" 15002 + value="soup_session_get_timeout"/> 15003 + <attribute name="org.gtk.Property.set" 15004 + value="soup_session_set_timeout"/> 15005 + <doc xml:space="preserve" 15006 + filename="libsoup/soup-session.c" 15007 + line="2481">The timeout (in seconds) for socket I/O operations 15008 + (including connecting to a server, and waiting for a reply 15009 + to an HTTP request). 15010 + 15011 + Although you can change this property at any time, it will 15012 + only affect newly-created connections, not currently-open 15013 + ones. You can call [method@Session.abort] after setting this 15014 + if you want to ensure that all future connections will have 15015 + this timeout value. 15016 + 15017 + Not to be confused with [property@Session:idle-timeout] (which is 15018 + the length of time that idle persistent connections will be 15019 + kept open).</doc> 15020 + <type name="guint" c:type="guint"/> 15021 + </property> 15022 + <property name="tls-database" 15023 + writable="1" 15024 + transfer-ownership="none" 15025 + setter="set_tls_database" 15026 + getter="get_tls_database"> 15027 + <attribute name="org.gtk.Property.get" 15028 + value="soup_session_get_tls_database"/> 15029 + <attribute name="org.gtk.Property.set" 15030 + value="soup_session_set_tls_database"/> 15031 + <doc xml:space="preserve" 15032 + filename="libsoup/soup-session.c" 15033 + line="2464">Sets the [class@Gio.TlsDatabase] to use for validating SSL/TLS 15034 + certificates. 15035 + 15036 + If no certificate database is set, then the default database will be 15037 + used. See [method@Gio.TlsBackend.get_default_database].</doc> 15038 + <type name="Gio.TlsDatabase"/> 15039 + </property> 15040 + <property name="tls-interaction" 15041 + writable="1" 15042 + transfer-ownership="none" 15043 + setter="set_tls_interaction" 15044 + getter="get_tls_interaction"> 15045 + <attribute name="org.gtk.Property.get" 15046 + value="soup_session_get_tls_interaction"/> 15047 + <attribute name="org.gtk.Property.set" 15048 + value="soup_session_set_tls_interaction"/> 15049 + <doc xml:space="preserve" 15050 + filename="libsoup/soup-session.c" 15051 + line="2613">A [class@Gio.TlsInteraction] object that will be passed on to any 15052 + [class@Gio.TlsConnection]s created by the session. 15053 + 15054 + This can be used to provide client-side certificates, for example.</doc> 15055 + <type name="Gio.TlsInteraction"/> 15056 + </property> 15057 + <property name="user-agent" 15058 + writable="1" 15059 + transfer-ownership="none" 15060 + setter="set_user_agent" 15061 + getter="get_user_agent" 15062 + default-value="NULL"> 15063 + <attribute name="org.gtk.Property.get" 15064 + value="soup_session_get_user_agent"/> 15065 + <attribute name="org.gtk.Property.set" 15066 + value="soup_session_set_user_agent"/> 15067 + <doc xml:space="preserve" 15068 + filename="libsoup/soup-session.c" 15069 + line="2506">User-Agent string. 15070 + 15071 + If non-%NULL, the value to use for the "User-Agent" header 15072 + on [class@Message]s sent from this session. 15073 + 15074 + RFC 2616 says: "The User-Agent request-header field 15075 + contains information about the user agent originating the 15076 + request. This is for statistical purposes, the tracing of 15077 + protocol violations, and automated recognition of user 15078 + agents for the sake of tailoring responses to avoid 15079 + particular user agent limitations. User agents SHOULD 15080 + include this field with requests." 15081 + 15082 + The User-Agent header contains a list of one or more 15083 + product tokens, separated by whitespace, with the most 15084 + significant product token coming first. The tokens must be 15085 + brief, ASCII, and mostly alphanumeric (although "-", "_", 15086 + and "." are also allowed), and may optionally include a "/" 15087 + followed by a version string. You may also put comments, 15088 + enclosed in parentheses, between or after the tokens. 15089 + 15090 + If you set a [property@Session:user-agent] property that has trailing 15091 + whitespace, #SoupSession will append its own product token 15092 + (eg, `libsoup/2.3.2`) to the end of the 15093 + header for you.</doc> 15094 + <type name="utf8" c:type="gchar*"/> 15095 + </property> 15096 + <field name="parent_instance"> 15097 + <type name="GObject.Object" c:type="GObject"/> 15098 + </field> 15099 + <glib:signal name="request-queued" when="last"> 15100 + <doc xml:space="preserve" 15101 + filename="libsoup/soup-session.c" 15102 + line="2328">Emitted when a request is queued on @session. 15103 + 15104 + When sending a request, first [signal@Session::request-queued] 15105 + is emitted, indicating that the session has become aware of 15106 + the request. 15107 + 15108 + After a connection is available to send the request various 15109 + [class@Message] signals are emitted as the message is 15110 + processed. If the message is requeued, it will emit 15111 + [signal@Message::restarted], which will then be followed by other 15112 + [class@Message] signals when the message is re-sent. 15113 + 15114 + Eventually, the message will emit [signal@Message::finished]. 15115 + Normally, this signals the completion of message 15116 + processing. However, it is possible that the application 15117 + will requeue the message from the "finished" handler. 15118 + In that case the process will loop back. 15119 + 15120 + Eventually, a message will reach "finished" and not be 15121 + requeued. At that point, the session will emit 15122 + [signal@Session::request-unqueued] to indicate that it is done 15123 + with the message. 15124 + 15125 + To sum up: [signal@Session::request-queued] and 15126 + [signal@Session::request-unqueued] are guaranteed to be emitted 15127 + exactly once, but [signal@Message::finished] (and all of the other 15128 + [class@Message] signals) may be invoked multiple times for a given 15129 + message.</doc> 15130 + <return-value transfer-ownership="none"> 15131 + <type name="none" c:type="void"/> 15132 + </return-value> 15133 + <parameters> 15134 + <parameter name="msg" transfer-ownership="none"> 15135 + <doc xml:space="preserve" 15136 + filename="libsoup/soup-session.c" 15137 + line="2331">the request that was queued</doc> 15138 + <type name="Message"/> 15139 + </parameter> 15140 + </parameters> 15141 + </glib:signal> 15142 + <glib:signal name="request-unqueued" when="last"> 15143 + <doc xml:space="preserve" 15144 + filename="libsoup/soup-session.c" 15145 + line="2372">Emitted when a request is removed from @session's queue, 15146 + indicating that @session is done with it. 15147 + 15148 + See [signal@Session::request-queued] for a detailed description of 15149 + the message lifecycle within a session.</doc> 15150 + <return-value transfer-ownership="none"> 15151 + <type name="none" c:type="void"/> 15152 + </return-value> 15153 + <parameters> 15154 + <parameter name="msg" transfer-ownership="none"> 15155 + <doc xml:space="preserve" 15156 + filename="libsoup/soup-session.c" 15157 + line="2375">the request that was unqueued</doc> 15158 + <type name="Message"/> 15159 + </parameter> 15160 + </parameters> 15161 + </glib:signal> 15162 + </class> 15163 + <record name="SessionClass" 15164 + c:type="SoupSessionClass" 15165 + glib:is-gtype-struct-for="Session"> 15166 + <source-position filename="libsoup/soup-session.h" line="34"/> 15167 + <field name="parent_class"> 15168 + <type name="GObject.ObjectClass" c:type="GObjectClass"/> 15169 + </field> 15170 + <field name="request_queued"> 15171 + <callback name="request_queued"> 15172 + <source-position filename="libsoup/soup-session.h" line="21"/> 15173 + <return-value transfer-ownership="none"> 15174 + <type name="none" c:type="void"/> 15175 + </return-value> 15176 + <parameters> 15177 + <parameter name="session" transfer-ownership="none"> 15178 + <type name="Session" c:type="SoupSession*"/> 15179 + </parameter> 15180 + <parameter name="msg" transfer-ownership="none"> 15181 + <type name="Message" c:type="SoupMessage*"/> 15182 + </parameter> 15183 + </parameters> 15184 + </callback> 15185 + </field> 15186 + <field name="request_unqueued"> 15187 + <callback name="request_unqueued"> 15188 + <source-position filename="libsoup/soup-session.h" line="23"/> 15189 + <return-value transfer-ownership="none"> 15190 + <type name="none" c:type="void"/> 15191 + </return-value> 15192 + <parameters> 15193 + <parameter name="session" transfer-ownership="none"> 15194 + <type name="Session" c:type="SoupSession*"/> 15195 + </parameter> 15196 + <parameter name="msg" transfer-ownership="none"> 15197 + <type name="Message" c:type="SoupMessage*"/> 15198 + </parameter> 15199 + </parameters> 15200 + </callback> 15201 + </field> 15202 + <field name="_soup_reserved1" introspectable="0"> 15203 + <callback name="_soup_reserved1"> 15204 + <source-position filename="libsoup/soup-session.h" line="26"/> 15205 + <return-value transfer-ownership="none"> 15206 + <type name="none" c:type="void"/> 15207 + </return-value> 15208 + </callback> 15209 + </field> 15210 + <field name="_soup_reserved2" introspectable="0"> 15211 + <callback name="_soup_reserved2"> 15212 + <source-position filename="libsoup/soup-session.h" line="27"/> 15213 + <return-value transfer-ownership="none"> 15214 + <type name="none" c:type="void"/> 15215 + </return-value> 15216 + </callback> 15217 + </field> 15218 + <field name="_soup_reserved3" introspectable="0"> 15219 + <callback name="_soup_reserved3"> 15220 + <source-position filename="libsoup/soup-session.h" line="28"/> 15221 + <return-value transfer-ownership="none"> 15222 + <type name="none" c:type="void"/> 15223 + </return-value> 15224 + </callback> 15225 + </field> 15226 + <field name="_soup_reserved4" introspectable="0"> 15227 + <callback name="_soup_reserved4"> 15228 + <source-position filename="libsoup/soup-session.h" line="29"/> 15229 + <return-value transfer-ownership="none"> 15230 + <type name="none" c:type="void"/> 15231 + </return-value> 15232 + </callback> 15233 + </field> 15234 + <field name="_soup_reserved5" introspectable="0"> 15235 + <callback name="_soup_reserved5"> 15236 + <source-position filename="libsoup/soup-session.h" line="30"/> 15237 + <return-value transfer-ownership="none"> 15238 + <type name="none" c:type="void"/> 15239 + </return-value> 15240 + </callback> 15241 + </field> 15242 + <field name="_soup_reserved6" introspectable="0"> 15243 + <callback name="_soup_reserved6"> 15244 + <source-position filename="libsoup/soup-session.h" line="31"/> 15245 + <return-value transfer-ownership="none"> 15246 + <type name="none" c:type="void"/> 15247 + </return-value> 15248 + </callback> 15249 + </field> 15250 + <field name="_soup_reserved7" introspectable="0"> 15251 + <callback name="_soup_reserved7"> 15252 + <source-position filename="libsoup/soup-session.h" line="32"/> 15253 + <return-value transfer-ownership="none"> 15254 + <type name="none" c:type="void"/> 15255 + </return-value> 15256 + </callback> 15257 + </field> 15258 + <field name="_soup_reserved8" introspectable="0"> 15259 + <callback name="_soup_reserved8"> 15260 + <source-position filename="libsoup/soup-session.h" line="33"/> 15261 + <return-value transfer-ownership="none"> 15262 + <type name="none" c:type="void"/> 15263 + </return-value> 15264 + </callback> 15265 + </field> 15266 + </record> 15267 + <enumeration name="SessionError" 15268 + glib:type-name="SoupSessionError" 15269 + glib:get-type="soup_session_error_get_type" 15270 + c:type="SoupSessionError" 15271 + glib:error-domain="soup-session-error-quark"> 15272 + <doc xml:space="preserve" 15273 + filename="libsoup/soup-session.c" 15274 + line="148">A #SoupSession error.</doc> 15275 + <member name="parsing" 15276 + value="0" 15277 + c:identifier="SOUP_SESSION_ERROR_PARSING" 15278 + glib:nick="parsing" 15279 + glib:name="SOUP_SESSION_ERROR_PARSING"> 15280 + <doc xml:space="preserve" 15281 + filename="libsoup/soup-session.c" 15282 + line="150">the server's response could not 15283 + be parsed</doc> 15284 + </member> 15285 + <member name="encoding" 15286 + value="1" 15287 + c:identifier="SOUP_SESSION_ERROR_ENCODING" 15288 + glib:nick="encoding" 15289 + glib:name="SOUP_SESSION_ERROR_ENCODING"> 15290 + <doc xml:space="preserve" 15291 + filename="libsoup/soup-session.c" 15292 + line="152">the server's response was in an 15293 + unsupported format</doc> 15294 + </member> 15295 + <member name="too_many_redirects" 15296 + value="2" 15297 + c:identifier="SOUP_SESSION_ERROR_TOO_MANY_REDIRECTS" 15298 + glib:nick="too-many-redirects" 15299 + glib:name="SOUP_SESSION_ERROR_TOO_MANY_REDIRECTS"> 15300 + <doc xml:space="preserve" 15301 + filename="libsoup/soup-session.c" 15302 + line="154">the message has been redirected 15303 + too many times</doc> 15304 + </member> 15305 + <member name="too_many_restarts" 15306 + value="3" 15307 + c:identifier="SOUP_SESSION_ERROR_TOO_MANY_RESTARTS" 15308 + glib:nick="too-many-restarts" 15309 + glib:name="SOUP_SESSION_ERROR_TOO_MANY_RESTARTS"> 15310 + <doc xml:space="preserve" 15311 + filename="libsoup/soup-session.c" 15312 + line="156">the message has been restarted 15313 + too many times</doc> 15314 + </member> 15315 + <member name="redirect_no_location" 15316 + value="4" 15317 + c:identifier="SOUP_SESSION_ERROR_REDIRECT_NO_LOCATION" 15318 + glib:nick="redirect-no-location" 15319 + glib:name="SOUP_SESSION_ERROR_REDIRECT_NO_LOCATION"> 15320 + <doc xml:space="preserve" 15321 + filename="libsoup/soup-session.c" 15322 + line="158">failed to redirect message because 15323 + Location header was missing or empty in response</doc> 15324 + </member> 15325 + <member name="redirect_bad_uri" 15326 + value="5" 15327 + c:identifier="SOUP_SESSION_ERROR_REDIRECT_BAD_URI" 15328 + glib:nick="redirect-bad-uri" 15329 + glib:name="SOUP_SESSION_ERROR_REDIRECT_BAD_URI"> 15330 + <doc xml:space="preserve" 15331 + filename="libsoup/soup-session.c" 15332 + line="160">failed to redirect message because 15333 + Location header contains an invalid URI</doc> 15334 + </member> 15335 + <member name="message_already_in_queue" 15336 + value="6" 15337 + c:identifier="SOUP_SESSION_ERROR_MESSAGE_ALREADY_IN_QUEUE" 15338 + glib:nick="message-already-in-queue" 15339 + glib:name="SOUP_SESSION_ERROR_MESSAGE_ALREADY_IN_QUEUE"> 15340 + <doc xml:space="preserve" 15341 + filename="libsoup/soup-session.c" 15342 + line="162">the message is already in the 15343 + session queue. Messages can only be reused after unqueued.</doc> 15344 + </member> 15345 + <function name="quark" c:identifier="soup_session_error_quark"> 15346 + <doc xml:space="preserve" 15347 + filename="libsoup/soup-session.h" 15348 + line="36">Registers error quark for SoupSession if needed.</doc> 15349 + <return-value transfer-ownership="none"> 15350 + <doc xml:space="preserve" 15351 + filename="libsoup/soup-session.h" 15352 + line="40">Error quark for SoupSession.</doc> 15353 + <type name="GLib.Quark" c:type="GQuark"/> 15354 + </return-value> 15355 + </function> 15356 + </enumeration> 15357 + <interface name="SessionFeature" 15358 + c:symbol-prefix="session_feature" 15359 + c:type="SoupSessionFeature" 15360 + glib:type-name="SoupSessionFeature" 15361 + glib:get-type="soup_session_feature_get_type" 15362 + glib:type-struct="SessionFeatureInterface"> 15363 + <doc xml:space="preserve" 15364 + filename="libsoup/soup-session-feature.c" 15365 + line="16">Interface for miscellaneous [class@Session] features. 15366 + 15367 + #SoupSessionFeature is the interface used by classes that extend 15368 + the functionality of a [class@Session]. Some features like HTTP 15369 + authentication handling are implemented internally via 15370 + `SoupSessionFeature`s. Other features can be added to the session 15371 + by the application. (Eg, [class@Logger], [class@CookieJar].) 15372 + 15373 + See [method@Session.add_feature], etc, to add a feature to a session.</doc> 15374 + <source-position filename="libsoup/soup-session-feature.h" line="14"/> 15375 + </interface> 15376 + <record name="SessionFeatureInterface" 15377 + c:type="SoupSessionFeatureInterface" 15378 + disguised="1" 15379 + opaque="1" 15380 + glib:is-gtype-struct-for="SessionFeature"> 15381 + <doc xml:space="preserve" 15382 + filename="libsoup/soup-session-feature.c" 15383 + line="30">The interface implemented by [iface@SessionFeature]s.</doc> 15384 + <source-position filename="libsoup/soup-session-feature.h" line="14"/> 15385 + </record> 15386 + <enumeration name="Status" 15387 + glib:type-name="SoupStatus" 15388 + glib:get-type="soup_status_get_type" 15389 + c:type="SoupStatus"> 15390 + <doc xml:space="preserve" 15391 + filename="libsoup/soup-status.c" 15392 + line="56">These represent the known HTTP status code values, plus various 15393 + network and internal errors. 15394 + 15395 + Note that no libsoup functions take or return this type directly; 15396 + any function that works with status codes will accept unrecognized 15397 + status codes as well.</doc> 15398 + <member name="none" 15399 + value="0" 15400 + c:identifier="SOUP_STATUS_NONE" 15401 + glib:nick="none" 15402 + glib:name="SOUP_STATUS_NONE"> 15403 + <doc xml:space="preserve" 15404 + filename="libsoup/soup-status.c" 15405 + line="58">No status available. (Eg, the message has not 15406 + been sent yet)</doc> 15407 + </member> 15408 + <member name="continue" 15409 + value="100" 15410 + c:identifier="SOUP_STATUS_CONTINUE" 15411 + glib:nick="continue" 15412 + glib:name="SOUP_STATUS_CONTINUE"> 15413 + <doc xml:space="preserve" 15414 + filename="libsoup/soup-status.c" 15415 + line="60">100 Continue (HTTP)</doc> 15416 + </member> 15417 + <member name="switching_protocols" 15418 + value="101" 15419 + c:identifier="SOUP_STATUS_SWITCHING_PROTOCOLS" 15420 + glib:nick="switching-protocols" 15421 + glib:name="SOUP_STATUS_SWITCHING_PROTOCOLS"> 15422 + <doc xml:space="preserve" 15423 + filename="libsoup/soup-status.c" 15424 + line="61">101 Switching Protocols (HTTP)</doc> 15425 + </member> 15426 + <member name="processing" 15427 + value="102" 15428 + c:identifier="SOUP_STATUS_PROCESSING" 15429 + glib:nick="processing" 15430 + glib:name="SOUP_STATUS_PROCESSING"> 15431 + <doc xml:space="preserve" 15432 + filename="libsoup/soup-status.c" 15433 + line="62">102 Processing (WebDAV)</doc> 15434 + </member> 15435 + <member name="ok" 15436 + value="200" 15437 + c:identifier="SOUP_STATUS_OK" 15438 + glib:nick="ok" 15439 + glib:name="SOUP_STATUS_OK"> 15440 + <doc xml:space="preserve" 15441 + filename="libsoup/soup-status.c" 15442 + line="63">200 Success (HTTP). Also used by many lower-level 15443 + soup routines to indicate success.</doc> 15444 + </member> 15445 + <member name="created" 15446 + value="201" 15447 + c:identifier="SOUP_STATUS_CREATED" 15448 + glib:nick="created" 15449 + glib:name="SOUP_STATUS_CREATED"> 15450 + <doc xml:space="preserve" 15451 + filename="libsoup/soup-status.c" 15452 + line="65">201 Created (HTTP)</doc> 15453 + </member> 15454 + <member name="accepted" 15455 + value="202" 15456 + c:identifier="SOUP_STATUS_ACCEPTED" 15457 + glib:nick="accepted" 15458 + glib:name="SOUP_STATUS_ACCEPTED"> 15459 + <doc xml:space="preserve" 15460 + filename="libsoup/soup-status.c" 15461 + line="66">202 Accepted (HTTP)</doc> 15462 + </member> 15463 + <member name="non_authoritative" 15464 + value="203" 15465 + c:identifier="SOUP_STATUS_NON_AUTHORITATIVE" 15466 + glib:nick="non-authoritative" 15467 + glib:name="SOUP_STATUS_NON_AUTHORITATIVE"> 15468 + <doc xml:space="preserve" 15469 + filename="libsoup/soup-status.c" 15470 + line="67">203 Non-Authoritative Information 15471 + (HTTP)</doc> 15472 + </member> 15473 + <member name="no_content" 15474 + value="204" 15475 + c:identifier="SOUP_STATUS_NO_CONTENT" 15476 + glib:nick="no-content" 15477 + glib:name="SOUP_STATUS_NO_CONTENT"> 15478 + <doc xml:space="preserve" 15479 + filename="libsoup/soup-status.c" 15480 + line="69">204 No Content (HTTP)</doc> 15481 + </member> 15482 + <member name="reset_content" 15483 + value="205" 15484 + c:identifier="SOUP_STATUS_RESET_CONTENT" 15485 + glib:nick="reset-content" 15486 + glib:name="SOUP_STATUS_RESET_CONTENT"> 15487 + <doc xml:space="preserve" 15488 + filename="libsoup/soup-status.c" 15489 + line="70">205 Reset Content (HTTP)</doc> 15490 + </member> 15491 + <member name="partial_content" 15492 + value="206" 15493 + c:identifier="SOUP_STATUS_PARTIAL_CONTENT" 15494 + glib:nick="partial-content" 15495 + glib:name="SOUP_STATUS_PARTIAL_CONTENT"> 15496 + <doc xml:space="preserve" 15497 + filename="libsoup/soup-status.c" 15498 + line="71">206 Partial Content (HTTP)</doc> 15499 + </member> 15500 + <member name="multi_status" 15501 + value="207" 15502 + c:identifier="SOUP_STATUS_MULTI_STATUS" 15503 + glib:nick="multi-status" 15504 + glib:name="SOUP_STATUS_MULTI_STATUS"> 15505 + <doc xml:space="preserve" 15506 + filename="libsoup/soup-status.c" 15507 + line="72">207 Multi-Status (WebDAV)</doc> 15508 + </member> 15509 + <member name="multiple_choices" 15510 + value="300" 15511 + c:identifier="SOUP_STATUS_MULTIPLE_CHOICES" 15512 + glib:nick="multiple-choices" 15513 + glib:name="SOUP_STATUS_MULTIPLE_CHOICES"> 15514 + <doc xml:space="preserve" 15515 + filename="libsoup/soup-status.c" 15516 + line="73">300 Multiple Choices (HTTP)</doc> 15517 + </member> 15518 + <member name="moved_permanently" 15519 + value="301" 15520 + c:identifier="SOUP_STATUS_MOVED_PERMANENTLY" 15521 + glib:nick="moved-permanently" 15522 + glib:name="SOUP_STATUS_MOVED_PERMANENTLY"> 15523 + <doc xml:space="preserve" 15524 + filename="libsoup/soup-status.c" 15525 + line="74">301 Moved Permanently (HTTP)</doc> 15526 + </member> 15527 + <member name="found" 15528 + value="302" 15529 + c:identifier="SOUP_STATUS_FOUND" 15530 + glib:nick="found" 15531 + glib:name="SOUP_STATUS_FOUND"> 15532 + <doc xml:space="preserve" 15533 + filename="libsoup/soup-status.c" 15534 + line="75">302 Found (HTTP)</doc> 15535 + </member> 15536 + <member name="moved_temporarily" 15537 + value="302" 15538 + c:identifier="SOUP_STATUS_MOVED_TEMPORARILY" 15539 + glib:nick="moved-temporarily" 15540 + glib:name="SOUP_STATUS_MOVED_TEMPORARILY"> 15541 + <doc xml:space="preserve" 15542 + filename="libsoup/soup-status.c" 15543 + line="76">302 Moved Temporarily (old name, 15544 + RFC 2068)</doc> 15545 + </member> 15546 + <member name="see_other" 15547 + value="303" 15548 + c:identifier="SOUP_STATUS_SEE_OTHER" 15549 + glib:nick="see-other" 15550 + glib:name="SOUP_STATUS_SEE_OTHER"> 15551 + <doc xml:space="preserve" 15552 + filename="libsoup/soup-status.c" 15553 + line="78">303 See Other (HTTP)</doc> 15554 + </member> 15555 + <member name="not_modified" 15556 + value="304" 15557 + c:identifier="SOUP_STATUS_NOT_MODIFIED" 15558 + glib:nick="not-modified" 15559 + glib:name="SOUP_STATUS_NOT_MODIFIED"> 15560 + <doc xml:space="preserve" 15561 + filename="libsoup/soup-status.c" 15562 + line="79">304 Not Modified (HTTP)</doc> 15563 + </member> 15564 + <member name="use_proxy" 15565 + value="305" 15566 + c:identifier="SOUP_STATUS_USE_PROXY" 15567 + glib:nick="use-proxy" 15568 + glib:name="SOUP_STATUS_USE_PROXY"> 15569 + <doc xml:space="preserve" 15570 + filename="libsoup/soup-status.c" 15571 + line="80">305 Use Proxy (HTTP)</doc> 15572 + </member> 15573 + <member name="not_appearing_in_this_protocol" 15574 + value="306" 15575 + c:identifier="SOUP_STATUS_NOT_APPEARING_IN_THIS_PROTOCOL" 15576 + glib:nick="not-appearing-in-this-protocol" 15577 + glib:name="SOUP_STATUS_NOT_APPEARING_IN_THIS_PROTOCOL"> 15578 + <doc xml:space="preserve" 15579 + filename="libsoup/soup-status.c" 15580 + line="81">306 [Unused] (HTTP)</doc> 15581 + </member> 15582 + <member name="temporary_redirect" 15583 + value="307" 15584 + c:identifier="SOUP_STATUS_TEMPORARY_REDIRECT" 15585 + glib:nick="temporary-redirect" 15586 + glib:name="SOUP_STATUS_TEMPORARY_REDIRECT"> 15587 + <doc xml:space="preserve" 15588 + filename="libsoup/soup-status.c" 15589 + line="82">307 Temporary Redirect (HTTP)</doc> 15590 + </member> 15591 + <member name="permanent_redirect" 15592 + value="308" 15593 + c:identifier="SOUP_STATUS_PERMANENT_REDIRECT" 15594 + glib:nick="permanent-redirect" 15595 + glib:name="SOUP_STATUS_PERMANENT_REDIRECT"> 15596 + <doc xml:space="preserve" 15597 + filename="libsoup/soup-status.c" 15598 + line="83">308 Permanent Redirect (HTTP)</doc> 15599 + </member> 15600 + <member name="bad_request" 15601 + value="400" 15602 + c:identifier="SOUP_STATUS_BAD_REQUEST" 15603 + glib:nick="bad-request" 15604 + glib:name="SOUP_STATUS_BAD_REQUEST"> 15605 + <doc xml:space="preserve" 15606 + filename="libsoup/soup-status.c" 15607 + line="84">400 Bad Request (HTTP)</doc> 15608 + </member> 15609 + <member name="unauthorized" 15610 + value="401" 15611 + c:identifier="SOUP_STATUS_UNAUTHORIZED" 15612 + glib:nick="unauthorized" 15613 + glib:name="SOUP_STATUS_UNAUTHORIZED"> 15614 + <doc xml:space="preserve" 15615 + filename="libsoup/soup-status.c" 15616 + line="85">401 Unauthorized (HTTP)</doc> 15617 + </member> 15618 + <member name="payment_required" 15619 + value="402" 15620 + c:identifier="SOUP_STATUS_PAYMENT_REQUIRED" 15621 + glib:nick="payment-required" 15622 + glib:name="SOUP_STATUS_PAYMENT_REQUIRED"> 15623 + <doc xml:space="preserve" 15624 + filename="libsoup/soup-status.c" 15625 + line="86">402 Payment Required (HTTP)</doc> 15626 + </member> 15627 + <member name="forbidden" 15628 + value="403" 15629 + c:identifier="SOUP_STATUS_FORBIDDEN" 15630 + glib:nick="forbidden" 15631 + glib:name="SOUP_STATUS_FORBIDDEN"> 15632 + <doc xml:space="preserve" 15633 + filename="libsoup/soup-status.c" 15634 + line="87">403 Forbidden (HTTP)</doc> 15635 + </member> 15636 + <member name="not_found" 15637 + value="404" 15638 + c:identifier="SOUP_STATUS_NOT_FOUND" 15639 + glib:nick="not-found" 15640 + glib:name="SOUP_STATUS_NOT_FOUND"> 15641 + <doc xml:space="preserve" 15642 + filename="libsoup/soup-status.c" 15643 + line="88">404 Not Found (HTTP)</doc> 15644 + </member> 15645 + <member name="method_not_allowed" 15646 + value="405" 15647 + c:identifier="SOUP_STATUS_METHOD_NOT_ALLOWED" 15648 + glib:nick="method-not-allowed" 15649 + glib:name="SOUP_STATUS_METHOD_NOT_ALLOWED"> 15650 + <doc xml:space="preserve" 15651 + filename="libsoup/soup-status.c" 15652 + line="89">405 Method Not Allowed (HTTP)</doc> 15653 + </member> 15654 + <member name="not_acceptable" 15655 + value="406" 15656 + c:identifier="SOUP_STATUS_NOT_ACCEPTABLE" 15657 + glib:nick="not-acceptable" 15658 + glib:name="SOUP_STATUS_NOT_ACCEPTABLE"> 15659 + <doc xml:space="preserve" 15660 + filename="libsoup/soup-status.c" 15661 + line="90">406 Not Acceptable (HTTP)</doc> 15662 + </member> 15663 + <member name="proxy_authentication_required" 15664 + value="407" 15665 + c:identifier="SOUP_STATUS_PROXY_AUTHENTICATION_REQUIRED" 15666 + glib:nick="proxy-authentication-required" 15667 + glib:name="SOUP_STATUS_PROXY_AUTHENTICATION_REQUIRED"> 15668 + <doc xml:space="preserve" 15669 + filename="libsoup/soup-status.c" 15670 + line="91">407 Proxy Authentication 15671 + Required (HTTP)</doc> 15672 + </member> 15673 + <member name="proxy_unauthorized" 15674 + value="407" 15675 + c:identifier="SOUP_STATUS_PROXY_UNAUTHORIZED" 15676 + glib:nick="proxy-unauthorized" 15677 + glib:name="SOUP_STATUS_PROXY_UNAUTHORIZED"> 15678 + <doc xml:space="preserve" 15679 + filename="libsoup/soup-status.c" 15680 + line="93">shorter alias for 15681 + %SOUP_STATUS_PROXY_AUTHENTICATION_REQUIRED</doc> 15682 + </member> 15683 + <member name="request_timeout" 15684 + value="408" 15685 + c:identifier="SOUP_STATUS_REQUEST_TIMEOUT" 15686 + glib:nick="request-timeout" 15687 + glib:name="SOUP_STATUS_REQUEST_TIMEOUT"> 15688 + <doc xml:space="preserve" 15689 + filename="libsoup/soup-status.c" 15690 + line="95">408 Request Timeout (HTTP)</doc> 15691 + </member> 15692 + <member name="conflict" 15693 + value="409" 15694 + c:identifier="SOUP_STATUS_CONFLICT" 15695 + glib:nick="conflict" 15696 + glib:name="SOUP_STATUS_CONFLICT"> 15697 + <doc xml:space="preserve" 15698 + filename="libsoup/soup-status.c" 15699 + line="96">409 Conflict (HTTP)</doc> 15700 + </member> 15701 + <member name="gone" 15702 + value="410" 15703 + c:identifier="SOUP_STATUS_GONE" 15704 + glib:nick="gone" 15705 + glib:name="SOUP_STATUS_GONE"> 15706 + <doc xml:space="preserve" 15707 + filename="libsoup/soup-status.c" 15708 + line="97">410 Gone (HTTP)</doc> 15709 + </member> 15710 + <member name="length_required" 15711 + value="411" 15712 + c:identifier="SOUP_STATUS_LENGTH_REQUIRED" 15713 + glib:nick="length-required" 15714 + glib:name="SOUP_STATUS_LENGTH_REQUIRED"> 15715 + <doc xml:space="preserve" 15716 + filename="libsoup/soup-status.c" 15717 + line="98">411 Length Required (HTTP)</doc> 15718 + </member> 15719 + <member name="precondition_failed" 15720 + value="412" 15721 + c:identifier="SOUP_STATUS_PRECONDITION_FAILED" 15722 + glib:nick="precondition-failed" 15723 + glib:name="SOUP_STATUS_PRECONDITION_FAILED"> 15724 + <doc xml:space="preserve" 15725 + filename="libsoup/soup-status.c" 15726 + line="99">412 Precondition Failed (HTTP)</doc> 15727 + </member> 15728 + <member name="request_entity_too_large" 15729 + value="413" 15730 + c:identifier="SOUP_STATUS_REQUEST_ENTITY_TOO_LARGE" 15731 + glib:nick="request-entity-too-large" 15732 + glib:name="SOUP_STATUS_REQUEST_ENTITY_TOO_LARGE"> 15733 + <doc xml:space="preserve" 15734 + filename="libsoup/soup-status.c" 15735 + line="100">413 Request Entity Too Large 15736 + (HTTP)</doc> 15737 + </member> 15738 + <member name="request_uri_too_long" 15739 + value="414" 15740 + c:identifier="SOUP_STATUS_REQUEST_URI_TOO_LONG" 15741 + glib:nick="request-uri-too-long" 15742 + glib:name="SOUP_STATUS_REQUEST_URI_TOO_LONG"> 15743 + <doc xml:space="preserve" 15744 + filename="libsoup/soup-status.c" 15745 + line="102">414 Request-URI Too Long (HTTP)</doc> 15746 + </member> 15747 + <member name="unsupported_media_type" 15748 + value="415" 15749 + c:identifier="SOUP_STATUS_UNSUPPORTED_MEDIA_TYPE" 15750 + glib:nick="unsupported-media-type" 15751 + glib:name="SOUP_STATUS_UNSUPPORTED_MEDIA_TYPE"> 15752 + <doc xml:space="preserve" 15753 + filename="libsoup/soup-status.c" 15754 + line="103">415 Unsupported Media Type 15755 + (HTTP)</doc> 15756 + </member> 15757 + <member name="requested_range_not_satisfiable" 15758 + value="416" 15759 + c:identifier="SOUP_STATUS_REQUESTED_RANGE_NOT_SATISFIABLE" 15760 + glib:nick="requested-range-not-satisfiable" 15761 + glib:name="SOUP_STATUS_REQUESTED_RANGE_NOT_SATISFIABLE"> 15762 + <doc xml:space="preserve" 15763 + filename="libsoup/soup-status.c" 15764 + line="105">416 Requested Range 15765 + Not Satisfiable (HTTP)</doc> 15766 + </member> 15767 + <member name="invalid_range" 15768 + value="416" 15769 + c:identifier="SOUP_STATUS_INVALID_RANGE" 15770 + glib:nick="invalid-range" 15771 + glib:name="SOUP_STATUS_INVALID_RANGE"> 15772 + <doc xml:space="preserve" 15773 + filename="libsoup/soup-status.c" 15774 + line="107">shorter alias for 15775 + %SOUP_STATUS_REQUESTED_RANGE_NOT_SATISFIABLE</doc> 15776 + </member> 15777 + <member name="expectation_failed" 15778 + value="417" 15779 + c:identifier="SOUP_STATUS_EXPECTATION_FAILED" 15780 + glib:nick="expectation-failed" 15781 + glib:name="SOUP_STATUS_EXPECTATION_FAILED"> 15782 + <doc xml:space="preserve" 15783 + filename="libsoup/soup-status.c" 15784 + line="109">417 Expectation Failed (HTTP)</doc> 15785 + </member> 15786 + <member name="misdirected_request" 15787 + value="421" 15788 + c:identifier="SOUP_STATUS_MISDIRECTED_REQUEST" 15789 + glib:nick="misdirected-request" 15790 + glib:name="SOUP_STATUS_MISDIRECTED_REQUEST"> 15791 + <doc xml:space="preserve" 15792 + filename="libsoup/soup-status.c" 15793 + line="110">421 Misdirected Request</doc> 15794 + </member> 15795 + <member name="unprocessable_entity" 15796 + value="422" 15797 + c:identifier="SOUP_STATUS_UNPROCESSABLE_ENTITY" 15798 + glib:nick="unprocessable-entity" 15799 + glib:name="SOUP_STATUS_UNPROCESSABLE_ENTITY"> 15800 + <doc xml:space="preserve" 15801 + filename="libsoup/soup-status.c" 15802 + line="111">422 Unprocessable Entity 15803 + (WebDAV)</doc> 15804 + </member> 15805 + <member name="locked" 15806 + value="423" 15807 + c:identifier="SOUP_STATUS_LOCKED" 15808 + glib:nick="locked" 15809 + glib:name="SOUP_STATUS_LOCKED"> 15810 + <doc xml:space="preserve" 15811 + filename="libsoup/soup-status.c" 15812 + line="113">423 Locked (WebDAV)</doc> 15813 + </member> 15814 + <member name="failed_dependency" 15815 + value="424" 15816 + c:identifier="SOUP_STATUS_FAILED_DEPENDENCY" 15817 + glib:nick="failed-dependency" 15818 + glib:name="SOUP_STATUS_FAILED_DEPENDENCY"> 15819 + <doc xml:space="preserve" 15820 + filename="libsoup/soup-status.c" 15821 + line="114">424 Failed Dependency (WebDAV)</doc> 15822 + </member> 15823 + <member name="internal_server_error" 15824 + value="500" 15825 + c:identifier="SOUP_STATUS_INTERNAL_SERVER_ERROR" 15826 + glib:nick="internal-server-error" 15827 + glib:name="SOUP_STATUS_INTERNAL_SERVER_ERROR"> 15828 + <doc xml:space="preserve" 15829 + filename="libsoup/soup-status.c" 15830 + line="115">500 Internal Server Error 15831 + (HTTP)</doc> 15832 + </member> 15833 + <member name="not_implemented" 15834 + value="501" 15835 + c:identifier="SOUP_STATUS_NOT_IMPLEMENTED" 15836 + glib:nick="not-implemented" 15837 + glib:name="SOUP_STATUS_NOT_IMPLEMENTED"> 15838 + <doc xml:space="preserve" 15839 + filename="libsoup/soup-status.c" 15840 + line="117">501 Not Implemented (HTTP)</doc> 15841 + </member> 15842 + <member name="bad_gateway" 15843 + value="502" 15844 + c:identifier="SOUP_STATUS_BAD_GATEWAY" 15845 + glib:nick="bad-gateway" 15846 + glib:name="SOUP_STATUS_BAD_GATEWAY"> 15847 + <doc xml:space="preserve" 15848 + filename="libsoup/soup-status.c" 15849 + line="118">502 Bad Gateway (HTTP)</doc> 15850 + </member> 15851 + <member name="service_unavailable" 15852 + value="503" 15853 + c:identifier="SOUP_STATUS_SERVICE_UNAVAILABLE" 15854 + glib:nick="service-unavailable" 15855 + glib:name="SOUP_STATUS_SERVICE_UNAVAILABLE"> 15856 + <doc xml:space="preserve" 15857 + filename="libsoup/soup-status.c" 15858 + line="119">503 Service Unavailable (HTTP)</doc> 15859 + </member> 15860 + <member name="gateway_timeout" 15861 + value="504" 15862 + c:identifier="SOUP_STATUS_GATEWAY_TIMEOUT" 15863 + glib:nick="gateway-timeout" 15864 + glib:name="SOUP_STATUS_GATEWAY_TIMEOUT"> 15865 + <doc xml:space="preserve" 15866 + filename="libsoup/soup-status.c" 15867 + line="120">504 Gateway Timeout (HTTP)</doc> 15868 + </member> 15869 + <member name="http_version_not_supported" 15870 + value="505" 15871 + c:identifier="SOUP_STATUS_HTTP_VERSION_NOT_SUPPORTED" 15872 + glib:nick="http-version-not-supported" 15873 + glib:name="SOUP_STATUS_HTTP_VERSION_NOT_SUPPORTED"> 15874 + <doc xml:space="preserve" 15875 + filename="libsoup/soup-status.c" 15876 + line="121">505 HTTP Version Not 15877 + Supported (HTTP)</doc> 15878 + </member> 15879 + <member name="insufficient_storage" 15880 + value="507" 15881 + c:identifier="SOUP_STATUS_INSUFFICIENT_STORAGE" 15882 + glib:nick="insufficient-storage" 15883 + glib:name="SOUP_STATUS_INSUFFICIENT_STORAGE"> 15884 + <doc xml:space="preserve" 15885 + filename="libsoup/soup-status.c" 15886 + line="123">507 Insufficient Storage 15887 + (WebDAV)</doc> 15888 + </member> 15889 + <member name="not_extended" 15890 + value="510" 15891 + c:identifier="SOUP_STATUS_NOT_EXTENDED" 15892 + glib:nick="not-extended" 15893 + glib:name="SOUP_STATUS_NOT_EXTENDED"> 15894 + <doc xml:space="preserve" 15895 + filename="libsoup/soup-status.c" 15896 + line="125">510 Not Extended (RFC 2774)</doc> 15897 + </member> 15898 + <function name="get_phrase" c:identifier="soup_status_get_phrase"> 15899 + <doc xml:space="preserve" 15900 + filename="libsoup/soup-status.c" 15901 + line="213">Looks up the stock HTTP description of @status_code. 15902 + 15903 + *There is no reason for you to ever use this 15904 + function.* If you wanted the textual description for the 15905 + [property@Message:status-code] of a given [class@Message], you should just 15906 + look at the message's [property@Message:reason-phrase]. However, you 15907 + should only do that for use in debugging messages; HTTP reason 15908 + phrases are not localized, and are not generally very descriptive 15909 + anyway, and so they should never be presented to the user directly. 15910 + Instead, you should create you own error messages based on the 15911 + status code, and on what you were trying to do.</doc> 15912 + <source-position filename="libsoup/soup-status.h" line="89"/> 15913 + <return-value transfer-ownership="none"> 15914 + <doc xml:space="preserve" 15915 + filename="libsoup/soup-status.c" 15916 + line="229">the (terse, English) description of @status_code</doc> 15917 + <type name="utf8" c:type="const char*"/> 15918 + </return-value> 15919 + <parameters> 15920 + <parameter name="status_code" transfer-ownership="none"> 15921 + <doc xml:space="preserve" 15922 + filename="libsoup/soup-status.c" 15923 + line="215">an HTTP status code</doc> 15924 + <type name="guint" c:type="guint"/> 15925 + </parameter> 15926 + </parameters> 15927 + </function> 15928 + </enumeration> 15929 + <enumeration name="TLDError" 15930 + glib:type-name="SoupTLDError" 15931 + glib:get-type="soup_tld_error_get_type" 15932 + c:type="SoupTLDError" 15933 + glib:error-domain="soup-tld-error-quark"> 15934 + <doc xml:space="preserve" 15935 + filename="libsoup/soup-tld.c" 15936 + line="99">Error codes for %SOUP_TLD_ERROR.</doc> 15937 + <member name="invalid_hostname" 15938 + value="0" 15939 + c:identifier="SOUP_TLD_ERROR_INVALID_HOSTNAME" 15940 + glib:nick="invalid-hostname" 15941 + glib:name="SOUP_TLD_ERROR_INVALID_HOSTNAME"> 15942 + <doc xml:space="preserve" 15943 + filename="libsoup/soup-tld.c" 15944 + line="101">A hostname was syntactically 15945 + invalid.</doc> 15946 + </member> 15947 + <member name="is_ip_address" 15948 + value="1" 15949 + c:identifier="SOUP_TLD_ERROR_IS_IP_ADDRESS" 15950 + glib:nick="is-ip-address" 15951 + glib:name="SOUP_TLD_ERROR_IS_IP_ADDRESS"> 15952 + <doc xml:space="preserve" 15953 + filename="libsoup/soup-tld.c" 15954 + line="103">The passed-in "hostname" was 15955 + actually an IP address (and thus has no base domain or 15956 + public suffix).</doc> 15957 + </member> 15958 + <member name="not_enough_domains" 15959 + value="2" 15960 + c:identifier="SOUP_TLD_ERROR_NOT_ENOUGH_DOMAINS" 15961 + glib:nick="not-enough-domains" 15962 + glib:name="SOUP_TLD_ERROR_NOT_ENOUGH_DOMAINS"> 15963 + <doc xml:space="preserve" 15964 + filename="libsoup/soup-tld.c" 15965 + line="106">The passed-in hostname 15966 + did not have enough components. Eg, calling 15967 + [func@tld_get_base_domain] on &lt;literal&gt;"co.uk"&lt;/literal&gt;.</doc> 15968 + </member> 15969 + <member name="no_base_domain" 15970 + value="3" 15971 + c:identifier="SOUP_TLD_ERROR_NO_BASE_DOMAIN" 15972 + glib:nick="no-base-domain" 15973 + glib:name="SOUP_TLD_ERROR_NO_BASE_DOMAIN"> 15974 + <doc xml:space="preserve" 15975 + filename="libsoup/soup-tld.c" 15976 + line="109">The passed-in hostname has 15977 + no recognized public suffix.</doc> 15978 + </member> 15979 + <member name="no_psl_data" 15980 + value="4" 15981 + c:identifier="SOUP_TLD_ERROR_NO_PSL_DATA" 15982 + glib:nick="no-psl-data" 15983 + glib:name="SOUP_TLD_ERROR_NO_PSL_DATA"> 15984 + <doc xml:space="preserve" 15985 + filename="libsoup/soup-tld.c" 15986 + line="111">The Public Suffix List was not 15987 + available.</doc> 15988 + </member> 15989 + <function name="quark" c:identifier="soup_tld_error_quark"> 15990 + <doc xml:space="preserve" 15991 + filename="libsoup/soup-tld.h" 15992 + line="20">Registers error quark for soup_tld_get_base_domain() if needed.</doc> 15993 + <return-value transfer-ownership="none"> 15994 + <doc xml:space="preserve" 15995 + filename="libsoup/soup-tld.h" 15996 + line="24">Error quark for Soup TLD functions.</doc> 15997 + <type name="GLib.Quark" c:type="GQuark"/> 15998 + </return-value> 15999 + </function> 16000 + </enumeration> 16001 + <function-macro name="UNAVAILABLE" 16002 + c:identifier="SOUP_UNAVAILABLE" 16003 + introspectable="0"> 16004 + <doc xml:space="preserve" 16005 + filename="libsoup/soup-version.h" 16006 + line="147">Marks a symbol unavailable before the given major and minor version. 16007 + 16008 + You should use `SOUP_AVAILABLE_IN_*` in order to handle versioning.</doc> 16009 + <source-position filename="libsoup/soup-version.h" line="160"/> 16010 + <parameters> 16011 + <parameter name="maj"> 16012 + <doc xml:space="preserve" 16013 + filename="libsoup/soup-version.h" 16014 + line="149">the major version that introduced the symbol</doc> 16015 + </parameter> 16016 + <parameter name="min"> 16017 + <doc xml:space="preserve" 16018 + filename="libsoup/soup-version.h" 16019 + line="150">the minor version that introduced the symbol</doc> 16020 + </parameter> 16021 + </parameters> 16022 + </function-macro> 16023 + <enumeration name="URIComponent" 16024 + glib:type-name="SoupURIComponent" 16025 + glib:get-type="soup_uri_component_get_type" 16026 + c:type="SoupURIComponent"> 16027 + <doc xml:space="preserve" 16028 + filename="libsoup/soup-uri-utils.c" 16029 + line="359">Enum values passed to [func@uri_copy] to indicate the components of 16030 + the URI that should be updated with the given values.</doc> 16031 + <member name="none" 16032 + value="0" 16033 + c:identifier="SOUP_URI_NONE" 16034 + glib:nick="none" 16035 + glib:name="SOUP_URI_NONE"> 16036 + <doc xml:space="preserve" 16037 + filename="libsoup/soup-uri-utils.c" 16038 + line="361">no component</doc> 16039 + </member> 16040 + <member name="scheme" 16041 + value="1" 16042 + c:identifier="SOUP_URI_SCHEME" 16043 + glib:nick="scheme" 16044 + glib:name="SOUP_URI_SCHEME"> 16045 + <doc xml:space="preserve" 16046 + filename="libsoup/soup-uri-utils.c" 16047 + line="362">the URI scheme component</doc> 16048 + </member> 16049 + <member name="user" 16050 + value="2" 16051 + c:identifier="SOUP_URI_USER" 16052 + glib:nick="user" 16053 + glib:name="SOUP_URI_USER"> 16054 + <doc xml:space="preserve" 16055 + filename="libsoup/soup-uri-utils.c" 16056 + line="363">the URI user component</doc> 16057 + </member> 16058 + <member name="password" 16059 + value="3" 16060 + c:identifier="SOUP_URI_PASSWORD" 16061 + glib:nick="password" 16062 + glib:name="SOUP_URI_PASSWORD"> 16063 + <doc xml:space="preserve" 16064 + filename="libsoup/soup-uri-utils.c" 16065 + line="364">the URI password component</doc> 16066 + </member> 16067 + <member name="auth_params" 16068 + value="4" 16069 + c:identifier="SOUP_URI_AUTH_PARAMS" 16070 + glib:nick="auth-params" 16071 + glib:name="SOUP_URI_AUTH_PARAMS"> 16072 + <doc xml:space="preserve" 16073 + filename="libsoup/soup-uri-utils.c" 16074 + line="365">the URI authentication parameters component</doc> 16075 + </member> 16076 + <member name="host" 16077 + value="5" 16078 + c:identifier="SOUP_URI_HOST" 16079 + glib:nick="host" 16080 + glib:name="SOUP_URI_HOST"> 16081 + <doc xml:space="preserve" 16082 + filename="libsoup/soup-uri-utils.c" 16083 + line="366">the URI host component</doc> 16084 + </member> 16085 + <member name="port" 16086 + value="6" 16087 + c:identifier="SOUP_URI_PORT" 16088 + glib:nick="port" 16089 + glib:name="SOUP_URI_PORT"> 16090 + <doc xml:space="preserve" 16091 + filename="libsoup/soup-uri-utils.c" 16092 + line="367">the URI port component</doc> 16093 + </member> 16094 + <member name="path" 16095 + value="7" 16096 + c:identifier="SOUP_URI_PATH" 16097 + glib:nick="path" 16098 + glib:name="SOUP_URI_PATH"> 16099 + <doc xml:space="preserve" 16100 + filename="libsoup/soup-uri-utils.c" 16101 + line="368">the URI path component</doc> 16102 + </member> 16103 + <member name="query" 16104 + value="8" 16105 + c:identifier="SOUP_URI_QUERY" 16106 + glib:nick="query" 16107 + glib:name="SOUP_URI_QUERY"> 16108 + <doc xml:space="preserve" 16109 + filename="libsoup/soup-uri-utils.c" 16110 + line="369">the URI query component</doc> 16111 + </member> 16112 + <member name="fragment" 16113 + value="9" 16114 + c:identifier="SOUP_URI_FRAGMENT" 16115 + glib:nick="fragment" 16116 + glib:name="SOUP_URI_FRAGMENT"> 16117 + <doc xml:space="preserve" 16118 + filename="libsoup/soup-uri-utils.c" 16119 + line="370">the URI fragment component</doc> 16120 + </member> 16121 + </enumeration> 16122 + <constant name="VERSION_MIN_REQUIRED" 16123 + value="197632" 16124 + c:type="SOUP_VERSION_MIN_REQUIRED"> 16125 + <doc xml:space="preserve" 16126 + filename="libsoup/soup-version.c" 16127 + line="136">A macro that should be defined by the user prior to including 16128 + `libsoup.h`. 16129 + 16130 + The definition should be one of the predefined libsoup 16131 + version macros: %SOUP_VERSION_2_24, %SOUP_VERSION_2_26, ... 16132 + 16133 + This macro defines the earliest version of libsoup that the package 16134 + is required to be able to compile against. 16135 + 16136 + If the compiler is configured to warn about the use of deprecated 16137 + functions, then using functions that were deprecated in version 16138 + %SOUP_VERSION_MIN_REQUIRED or earlier will cause warnings (but 16139 + using functions deprecated in later releases will not).</doc> 16140 + <source-position filename="libsoup/soup-version.h" line="102"/> 16141 + <type name="gint" c:type="gint"/> 16142 + </constant> 16143 + <enumeration name="WebsocketCloseCode" 16144 + glib:type-name="SoupWebsocketCloseCode" 16145 + glib:get-type="soup_websocket_close_code_get_type" 16146 + c:type="SoupWebsocketCloseCode"> 16147 + <doc xml:space="preserve" 16148 + filename="libsoup/websocket/soup-websocket.c" 16149 + line="100">Pre-defined close codes that can be passed to 16150 + [method@WebsocketConnection.close] or received from 16151 + [method@WebsocketConnection.get_close_code]. 16152 + 16153 + However, other codes are also allowed.</doc> 16154 + <member name="normal" 16155 + value="1000" 16156 + c:identifier="SOUP_WEBSOCKET_CLOSE_NORMAL" 16157 + glib:nick="normal" 16158 + glib:name="SOUP_WEBSOCKET_CLOSE_NORMAL"> 16159 + <doc xml:space="preserve" 16160 + filename="libsoup/websocket/soup-websocket.c" 16161 + line="102">a normal, non-error close</doc> 16162 + </member> 16163 + <member name="going_away" 16164 + value="1001" 16165 + c:identifier="SOUP_WEBSOCKET_CLOSE_GOING_AWAY" 16166 + glib:nick="going-away" 16167 + glib:name="SOUP_WEBSOCKET_CLOSE_GOING_AWAY"> 16168 + <doc xml:space="preserve" 16169 + filename="libsoup/websocket/soup-websocket.c" 16170 + line="103">the client/server is going away</doc> 16171 + </member> 16172 + <member name="protocol_error" 16173 + value="1002" 16174 + c:identifier="SOUP_WEBSOCKET_CLOSE_PROTOCOL_ERROR" 16175 + glib:nick="protocol-error" 16176 + glib:name="SOUP_WEBSOCKET_CLOSE_PROTOCOL_ERROR"> 16177 + <doc xml:space="preserve" 16178 + filename="libsoup/websocket/soup-websocket.c" 16179 + line="104">a protocol error occurred</doc> 16180 + </member> 16181 + <member name="unsupported_data" 16182 + value="1003" 16183 + c:identifier="SOUP_WEBSOCKET_CLOSE_UNSUPPORTED_DATA" 16184 + glib:nick="unsupported-data" 16185 + glib:name="SOUP_WEBSOCKET_CLOSE_UNSUPPORTED_DATA"> 16186 + <doc xml:space="preserve" 16187 + filename="libsoup/websocket/soup-websocket.c" 16188 + line="105">the endpoint received data 16189 + of a type that it does not support.</doc> 16190 + </member> 16191 + <member name="no_status" 16192 + value="1005" 16193 + c:identifier="SOUP_WEBSOCKET_CLOSE_NO_STATUS" 16194 + glib:nick="no-status" 16195 + glib:name="SOUP_WEBSOCKET_CLOSE_NO_STATUS"> 16196 + <doc xml:space="preserve" 16197 + filename="libsoup/websocket/soup-websocket.c" 16198 + line="107">reserved value indicating that 16199 + no close code was present; must not be sent.</doc> 16200 + </member> 16201 + <member name="abnormal" 16202 + value="1006" 16203 + c:identifier="SOUP_WEBSOCKET_CLOSE_ABNORMAL" 16204 + glib:nick="abnormal" 16205 + glib:name="SOUP_WEBSOCKET_CLOSE_ABNORMAL"> 16206 + <doc xml:space="preserve" 16207 + filename="libsoup/websocket/soup-websocket.c" 16208 + line="109">reserved value indicating that 16209 + the connection was closed abnormally; must not be sent.</doc> 16210 + </member> 16211 + <member name="bad_data" 16212 + value="1007" 16213 + c:identifier="SOUP_WEBSOCKET_CLOSE_BAD_DATA" 16214 + glib:nick="bad-data" 16215 + glib:name="SOUP_WEBSOCKET_CLOSE_BAD_DATA"> 16216 + <doc xml:space="preserve" 16217 + filename="libsoup/websocket/soup-websocket.c" 16218 + line="111">the endpoint received data that 16219 + was invalid (eg, non-UTF-8 data in a text message).</doc> 16220 + </member> 16221 + <member name="policy_violation" 16222 + value="1008" 16223 + c:identifier="SOUP_WEBSOCKET_CLOSE_POLICY_VIOLATION" 16224 + glib:nick="policy-violation" 16225 + glib:name="SOUP_WEBSOCKET_CLOSE_POLICY_VIOLATION"> 16226 + <doc xml:space="preserve" 16227 + filename="libsoup/websocket/soup-websocket.c" 16228 + line="113">generic error code 16229 + indicating some sort of policy violation.</doc> 16230 + </member> 16231 + <member name="too_big" 16232 + value="1009" 16233 + c:identifier="SOUP_WEBSOCKET_CLOSE_TOO_BIG" 16234 + glib:nick="too-big" 16235 + glib:name="SOUP_WEBSOCKET_CLOSE_TOO_BIG"> 16236 + <doc xml:space="preserve" 16237 + filename="libsoup/websocket/soup-websocket.c" 16238 + line="115">the endpoint received a message 16239 + that is too big to process.</doc> 16240 + </member> 16241 + <member name="no_extension" 16242 + value="1010" 16243 + c:identifier="SOUP_WEBSOCKET_CLOSE_NO_EXTENSION" 16244 + glib:nick="no-extension" 16245 + glib:name="SOUP_WEBSOCKET_CLOSE_NO_EXTENSION"> 16246 + <doc xml:space="preserve" 16247 + filename="libsoup/websocket/soup-websocket.c" 16248 + line="117">the client is closing the 16249 + connection because the server failed to negotiate a required 16250 + extension.</doc> 16251 + </member> 16252 + <member name="server_error" 16253 + value="1011" 16254 + c:identifier="SOUP_WEBSOCKET_CLOSE_SERVER_ERROR" 16255 + glib:nick="server-error" 16256 + glib:name="SOUP_WEBSOCKET_CLOSE_SERVER_ERROR"> 16257 + <doc xml:space="preserve" 16258 + filename="libsoup/websocket/soup-websocket.c" 16259 + line="120">the server is closing the 16260 + connection because it was unable to fulfill the request.</doc> 16261 + </member> 16262 + <member name="tls_handshake" 16263 + value="1015" 16264 + c:identifier="SOUP_WEBSOCKET_CLOSE_TLS_HANDSHAKE" 16265 + glib:nick="tls-handshake" 16266 + glib:name="SOUP_WEBSOCKET_CLOSE_TLS_HANDSHAKE"> 16267 + <doc xml:space="preserve" 16268 + filename="libsoup/websocket/soup-websocket.c" 16269 + line="122">reserved value indicating that 16270 + the TLS handshake failed; must not be sent.</doc> 16271 + </member> 16272 + </enumeration> 16273 + <class name="WebsocketConnection" 16274 + c:symbol-prefix="websocket_connection" 16275 + c:type="SoupWebsocketConnection" 16276 + parent="GObject.Object" 16277 + final="1" 16278 + glib:type-name="SoupWebsocketConnection" 16279 + glib:get-type="soup_websocket_connection_get_type" 16280 + glib:type-struct="WebsocketConnectionClass"> 16281 + <doc xml:space="preserve" 16282 + filename="libsoup/websocket/soup-websocket.c" 16283 + line="36">The WebSocket Protocol 16284 + 16285 + Provides support for the [WebSocket](http://tools.ietf.org/html/rfc6455) 16286 + protocol. 16287 + 16288 + To connect to a WebSocket server, create a [class@Session] and call 16289 + [method@Session.websocket_connect_async]. To accept WebSocket 16290 + connections, create a [class@Server] and add a handler to it with 16291 + [method@Server.add_websocket_handler]. 16292 + 16293 + (Lower-level support is available via 16294 + [func@websocket_client_prepare_handshake] and 16295 + [func@websocket_client_verify_handshake], for handling the client side of the 16296 + WebSocket handshake, and [func@websocket_server_process_handshake] for 16297 + handling the server side.) 16298 + 16299 + #SoupWebsocketConnection handles the details of WebSocket communication. You 16300 + can use [method@WebsocketConnection.send_text] and 16301 + [method@WebsocketConnection.send_binary] to send data, and the 16302 + [signal@WebsocketConnection::message] signal to receive data. 16303 + (#SoupWebsocketConnection currently only supports asynchronous I/O.)</doc> 16304 + <source-position filename="libsoup/websocket/soup-websocket-connection.h" 16305 + line="30"/> 16306 + <constructor name="new" c:identifier="soup_websocket_connection_new"> 16307 + <doc xml:space="preserve" 16308 + filename="libsoup/websocket/soup-websocket-connection.c" 16309 + line="1733">Creates a #SoupWebsocketConnection on @stream with the given active @extensions. 16310 + 16311 + This should be called after completing the handshake to begin using the WebSocket 16312 + protocol.</doc> 16313 + <source-position filename="libsoup/websocket/soup-websocket-connection.h" 16314 + line="33"/> 16315 + <return-value transfer-ownership="full"> 16316 + <doc xml:space="preserve" 16317 + filename="libsoup/websocket/soup-websocket-connection.c" 16318 + line="1747">a new #SoupWebsocketConnection</doc> 16319 + <type name="WebsocketConnection" c:type="SoupWebsocketConnection*"/> 16320 + </return-value> 16321 + <parameters> 16322 + <parameter name="stream" transfer-ownership="none"> 16323 + <doc xml:space="preserve" 16324 + filename="libsoup/websocket/soup-websocket-connection.c" 16325 + line="1735">a #GIOStream connected to the WebSocket server</doc> 16326 + <type name="Gio.IOStream" c:type="GIOStream*"/> 16327 + </parameter> 16328 + <parameter name="uri" transfer-ownership="none"> 16329 + <doc xml:space="preserve" 16330 + filename="libsoup/websocket/soup-websocket-connection.c" 16331 + line="1736">the URI of the connection</doc> 16332 + <type name="GLib.Uri" c:type="GUri*"/> 16333 + </parameter> 16334 + <parameter name="type" transfer-ownership="none"> 16335 + <doc xml:space="preserve" 16336 + filename="libsoup/websocket/soup-websocket-connection.c" 16337 + line="1737">the type of connection (client/side)</doc> 16338 + <type name="WebsocketConnectionType" 16339 + c:type="SoupWebsocketConnectionType"/> 16340 + </parameter> 16341 + <parameter name="origin" 16342 + transfer-ownership="none" 16343 + nullable="1" 16344 + allow-none="1"> 16345 + <doc xml:space="preserve" 16346 + filename="libsoup/websocket/soup-websocket-connection.c" 16347 + line="1738">the Origin of the client</doc> 16348 + <type name="utf8" c:type="const char*"/> 16349 + </parameter> 16350 + <parameter name="protocol" 16351 + transfer-ownership="none" 16352 + nullable="1" 16353 + allow-none="1"> 16354 + <doc xml:space="preserve" 16355 + filename="libsoup/websocket/soup-websocket-connection.c" 16356 + line="1739">the subprotocol in use</doc> 16357 + <type name="utf8" c:type="const char*"/> 16358 + </parameter> 16359 + <parameter name="extensions" transfer-ownership="full"> 16360 + <doc xml:space="preserve" 16361 + filename="libsoup/websocket/soup-websocket-connection.c" 16362 + line="1740">a #GList of #SoupWebsocketExtension objects</doc> 16363 + <type name="GLib.List" c:type="GList*"> 16364 + <type name="WebsocketExtension"/> 16365 + </type> 16366 + </parameter> 16367 + </parameters> 16368 + </constructor> 16369 + <method name="close" c:identifier="soup_websocket_connection_close"> 16370 + <doc xml:space="preserve" 16371 + filename="libsoup/websocket/soup-websocket-connection.c" 16372 + line="2034">Close the connection in an orderly fashion. 16373 + 16374 + Note that until the [signal@WebsocketConnection::closed] signal fires, the connection 16375 + is not yet completely closed. The close message is not even sent until the 16376 + main loop runs. 16377 + 16378 + The @code and @data are sent to the peer along with the close request. 16379 + If @code is %SOUP_WEBSOCKET_CLOSE_NO_STATUS a close message with no body 16380 + (without code and data) is sent. 16381 + Note that the @data must be UTF-8 valid.</doc> 16382 + <source-position filename="libsoup/websocket/soup-websocket-connection.h" 16383 + line="80"/> 16384 + <return-value transfer-ownership="none"> 16385 + <type name="none" c:type="void"/> 16386 + </return-value> 16387 + <parameters> 16388 + <instance-parameter name="self" transfer-ownership="none"> 16389 + <doc xml:space="preserve" 16390 + filename="libsoup/websocket/soup-websocket-connection.c" 16391 + line="2036">the WebSocket</doc> 16392 + <type name="WebsocketConnection" 16393 + c:type="SoupWebsocketConnection*"/> 16394 + </instance-parameter> 16395 + <parameter name="code" transfer-ownership="none"> 16396 + <doc xml:space="preserve" 16397 + filename="libsoup/websocket/soup-websocket-connection.c" 16398 + line="2037">close code</doc> 16399 + <type name="gushort" c:type="gushort"/> 16400 + </parameter> 16401 + <parameter name="data" 16402 + transfer-ownership="none" 16403 + nullable="1" 16404 + allow-none="1"> 16405 + <doc xml:space="preserve" 16406 + filename="libsoup/websocket/soup-websocket-connection.c" 16407 + line="2038">close data</doc> 16408 + <type name="utf8" c:type="const char*"/> 16409 + </parameter> 16410 + </parameters> 16411 + </method> 16412 + <method name="get_close_code" 16413 + c:identifier="soup_websocket_connection_get_close_code"> 16414 + <doc xml:space="preserve" 16415 + filename="libsoup/websocket/soup-websocket-connection.c" 16416 + line="1905">Get the close code received from the WebSocket peer. 16417 + 16418 + This only becomes valid once the WebSocket is in the 16419 + %SOUP_WEBSOCKET_STATE_CLOSED state. The value will often be in the 16420 + [enum@WebsocketCloseCode] enumeration, but may also be an application 16421 + defined close code.</doc> 16422 + <source-position filename="libsoup/websocket/soup-websocket-connection.h" 16423 + line="62"/> 16424 + <return-value transfer-ownership="none"> 16425 + <doc xml:space="preserve" 16426 + filename="libsoup/websocket/soup-websocket-connection.c" 16427 + line="1916">the close code or zero.</doc> 16428 + <type name="gushort" c:type="gushort"/> 16429 + </return-value> 16430 + <parameters> 16431 + <instance-parameter name="self" transfer-ownership="none"> 16432 + <doc xml:space="preserve" 16433 + filename="libsoup/websocket/soup-websocket-connection.c" 16434 + line="1907">the WebSocket</doc> 16435 + <type name="WebsocketConnection" 16436 + c:type="SoupWebsocketConnection*"/> 16437 + </instance-parameter> 16438 + </parameters> 16439 + </method> 16440 + <method name="get_close_data" 16441 + c:identifier="soup_websocket_connection_get_close_data"> 16442 + <doc xml:space="preserve" 16443 + filename="libsoup/websocket/soup-websocket-connection.c" 16444 + line="1928">Get the close data received from the WebSocket peer. 16445 + 16446 + This only becomes valid once the WebSocket is in the 16447 + %SOUP_WEBSOCKET_STATE_CLOSED state. The data may be freed once 16448 + the main loop is run, so copy it if you need to keep it around.</doc> 16449 + <source-position filename="libsoup/websocket/soup-websocket-connection.h" 16450 + line="65"/> 16451 + <return-value transfer-ownership="none"> 16452 + <doc xml:space="preserve" 16453 + filename="libsoup/websocket/soup-websocket-connection.c" 16454 + line="1938">the close data or %NULL</doc> 16455 + <type name="utf8" c:type="const char*"/> 16456 + </return-value> 16457 + <parameters> 16458 + <instance-parameter name="self" transfer-ownership="none"> 16459 + <doc xml:space="preserve" 16460 + filename="libsoup/websocket/soup-websocket-connection.c" 16461 + line="1930">the WebSocket</doc> 16462 + <type name="WebsocketConnection" 16463 + c:type="SoupWebsocketConnection*"/> 16464 + </instance-parameter> 16465 + </parameters> 16466 + </method> 16467 + <method name="get_connection_type" 16468 + c:identifier="soup_websocket_connection_get_connection_type" 16469 + glib:get-property="connection-type"> 16470 + <doc xml:space="preserve" 16471 + filename="libsoup/websocket/soup-websocket-connection.c" 16472 + line="1789">Get the connection type (client/server) of the connection.</doc> 16473 + <source-position filename="libsoup/websocket/soup-websocket-connection.h" 16474 + line="44"/> 16475 + <return-value transfer-ownership="none"> 16476 + <doc xml:space="preserve" 16477 + filename="libsoup/websocket/soup-websocket-connection.c" 16478 + line="1795">the connection type</doc> 16479 + <type name="WebsocketConnectionType" 16480 + c:type="SoupWebsocketConnectionType"/> 16481 + </return-value> 16482 + <parameters> 16483 + <instance-parameter name="self" transfer-ownership="none"> 16484 + <doc xml:space="preserve" 16485 + filename="libsoup/websocket/soup-websocket-connection.c" 16486 + line="1791">the WebSocket</doc> 16487 + <type name="WebsocketConnection" 16488 + c:type="SoupWebsocketConnection*"/> 16489 + </instance-parameter> 16490 + </parameters> 16491 + </method> 16492 + <method name="get_extensions" 16493 + c:identifier="soup_websocket_connection_get_extensions" 16494 + glib:get-property="extensions"> 16495 + <doc xml:space="preserve" 16496 + filename="libsoup/websocket/soup-websocket-connection.c" 16497 + line="1864">Get the extensions chosen via negotiation with the peer.</doc> 16498 + <source-position filename="libsoup/websocket/soup-websocket-connection.h" 16499 + line="56"/> 16500 + <return-value transfer-ownership="none"> 16501 + <doc xml:space="preserve" 16502 + filename="libsoup/websocket/soup-websocket-connection.c" 16503 + line="1870">a #GList of #SoupWebsocketExtension objects</doc> 16504 + <type name="GLib.List" c:type="GList*"> 16505 + <type name="WebsocketExtension"/> 16506 + </type> 16507 + </return-value> 16508 + <parameters> 16509 + <instance-parameter name="self" transfer-ownership="none"> 16510 + <doc xml:space="preserve" 16511 + filename="libsoup/websocket/soup-websocket-connection.c" 16512 + line="1866">the WebSocket</doc> 16513 + <type name="WebsocketConnection" 16514 + c:type="SoupWebsocketConnection*"/> 16515 + </instance-parameter> 16516 + </parameters> 16517 + </method> 16518 + <method name="get_io_stream" 16519 + c:identifier="soup_websocket_connection_get_io_stream" 16520 + glib:get-property="io-stream"> 16521 + <doc xml:space="preserve" 16522 + filename="libsoup/websocket/soup-websocket-connection.c" 16523 + line="1771">Get the I/O stream the WebSocket is communicating over.</doc> 16524 + <source-position filename="libsoup/websocket/soup-websocket-connection.h" 16525 + line="41"/> 16526 + <return-value transfer-ownership="none"> 16527 + <doc xml:space="preserve" 16528 + filename="libsoup/websocket/soup-websocket-connection.c" 16529 + line="1777">the WebSocket's I/O stream.</doc> 16530 + <type name="Gio.IOStream" c:type="GIOStream*"/> 16531 + </return-value> 16532 + <parameters> 16533 + <instance-parameter name="self" transfer-ownership="none"> 16534 + <doc xml:space="preserve" 16535 + filename="libsoup/websocket/soup-websocket-connection.c" 16536 + line="1773">the WebSocket</doc> 16537 + <type name="WebsocketConnection" 16538 + c:type="SoupWebsocketConnection*"/> 16539 + </instance-parameter> 16540 + </parameters> 16541 + </method> 16542 + <method name="get_keepalive_interval" 16543 + c:identifier="soup_websocket_connection_get_keepalive_interval" 16544 + glib:get-property="keepalive-interval"> 16545 + <doc xml:space="preserve" 16546 + filename="libsoup/websocket/soup-websocket-connection.c" 16547 + line="2113">Gets the keepalive interval in seconds or 0 if disabled.</doc> 16548 + <source-position filename="libsoup/websocket/soup-websocket-connection.h" 16549 + line="92"/> 16550 + <return-value transfer-ownership="none"> 16551 + <doc xml:space="preserve" 16552 + filename="libsoup/websocket/soup-websocket-connection.c" 16553 + line="2119">the keepalive interval.</doc> 16554 + <type name="guint" c:type="guint"/> 16555 + </return-value> 16556 + <parameters> 16557 + <instance-parameter name="self" transfer-ownership="none"> 16558 + <doc xml:space="preserve" 16559 + filename="libsoup/websocket/soup-websocket-connection.c" 16560 + line="2115">the WebSocket</doc> 16561 + <type name="WebsocketConnection" 16562 + c:type="SoupWebsocketConnection*"/> 16563 + </instance-parameter> 16564 + </parameters> 16565 + </method> 16566 + <method name="get_max_incoming_payload_size" 16567 + c:identifier="soup_websocket_connection_get_max_incoming_payload_size" 16568 + glib:get-property="max-incoming-payload-size"> 16569 + <doc xml:space="preserve" 16570 + filename="libsoup/websocket/soup-websocket-connection.c" 16571 + line="2072">Gets the maximum payload size allowed for incoming packets.</doc> 16572 + <source-position filename="libsoup/websocket/soup-websocket-connection.h" 16573 + line="85"/> 16574 + <return-value transfer-ownership="none"> 16575 + <doc xml:space="preserve" 16576 + filename="libsoup/websocket/soup-websocket-connection.c" 16577 + line="2078">the maximum payload size.</doc> 16578 + <type name="guint64" c:type="guint64"/> 16579 + </return-value> 16580 + <parameters> 16581 + <instance-parameter name="self" transfer-ownership="none"> 16582 + <doc xml:space="preserve" 16583 + filename="libsoup/websocket/soup-websocket-connection.c" 16584 + line="2074">the WebSocket</doc> 16585 + <type name="WebsocketConnection" 16586 + c:type="SoupWebsocketConnection*"/> 16587 + </instance-parameter> 16588 + </parameters> 16589 + </method> 16590 + <method name="get_origin" 16591 + c:identifier="soup_websocket_connection_get_origin" 16592 + glib:get-property="origin"> 16593 + <doc xml:space="preserve" 16594 + filename="libsoup/websocket/soup-websocket-connection.c" 16595 + line="1828">Get the origin of the WebSocket.</doc> 16596 + <source-position filename="libsoup/websocket/soup-websocket-connection.h" 16597 + line="50"/> 16598 + <return-value transfer-ownership="none" nullable="1"> 16599 + <doc xml:space="preserve" 16600 + filename="libsoup/websocket/soup-websocket-connection.c" 16601 + line="1834">the origin</doc> 16602 + <type name="utf8" c:type="const char*"/> 16603 + </return-value> 16604 + <parameters> 16605 + <instance-parameter name="self" transfer-ownership="none"> 16606 + <doc xml:space="preserve" 16607 + filename="libsoup/websocket/soup-websocket-connection.c" 16608 + line="1830">the WebSocket</doc> 16609 + <type name="WebsocketConnection" 16610 + c:type="SoupWebsocketConnection*"/> 16611 + </instance-parameter> 16612 + </parameters> 16613 + </method> 16614 + <method name="get_protocol" 16615 + c:identifier="soup_websocket_connection_get_protocol" 16616 + glib:get-property="protocol"> 16617 + <doc xml:space="preserve" 16618 + filename="libsoup/websocket/soup-websocket-connection.c" 16619 + line="1846">Get the protocol chosen via negotiation with the peer.</doc> 16620 + <source-position filename="libsoup/websocket/soup-websocket-connection.h" 16621 + line="53"/> 16622 + <return-value transfer-ownership="none" nullable="1"> 16623 + <doc xml:space="preserve" 16624 + filename="libsoup/websocket/soup-websocket-connection.c" 16625 + line="1852">the chosen protocol</doc> 16626 + <type name="utf8" c:type="const char*"/> 16627 + </return-value> 16628 + <parameters> 16629 + <instance-parameter name="self" transfer-ownership="none"> 16630 + <doc xml:space="preserve" 16631 + filename="libsoup/websocket/soup-websocket-connection.c" 16632 + line="1848">the WebSocket</doc> 16633 + <type name="WebsocketConnection" 16634 + c:type="SoupWebsocketConnection*"/> 16635 + </instance-parameter> 16636 + </parameters> 16637 + </method> 16638 + <method name="get_state" 16639 + c:identifier="soup_websocket_connection_get_state" 16640 + glib:get-property="state"> 16641 + <doc xml:space="preserve" 16642 + filename="libsoup/websocket/soup-websocket-connection.c" 16643 + line="1882">Get the current state of the WebSocket.</doc> 16644 + <source-position filename="libsoup/websocket/soup-websocket-connection.h" 16645 + line="59"/> 16646 + <return-value transfer-ownership="none"> 16647 + <doc xml:space="preserve" 16648 + filename="libsoup/websocket/soup-websocket-connection.c" 16649 + line="1888">the state</doc> 16650 + <type name="WebsocketState" c:type="SoupWebsocketState"/> 16651 + </return-value> 16652 + <parameters> 16653 + <instance-parameter name="self" transfer-ownership="none"> 16654 + <doc xml:space="preserve" 16655 + filename="libsoup/websocket/soup-websocket-connection.c" 16656 + line="1884">the WebSocket</doc> 16657 + <type name="WebsocketConnection" 16658 + c:type="SoupWebsocketConnection*"/> 16659 + </instance-parameter> 16660 + </parameters> 16661 + </method> 16662 + <method name="get_uri" 16663 + c:identifier="soup_websocket_connection_get_uri" 16664 + glib:get-property="uri"> 16665 + <doc xml:space="preserve" 16666 + filename="libsoup/websocket/soup-websocket-connection.c" 16667 + line="1807">Get the URI of the WebSocket. 16668 + 16669 + For servers this represents the address of the WebSocket, and 16670 + for clients it is the address connected to.</doc> 16671 + <source-position filename="libsoup/websocket/soup-websocket-connection.h" 16672 + line="47"/> 16673 + <return-value transfer-ownership="none"> 16674 + <doc xml:space="preserve" 16675 + filename="libsoup/websocket/soup-websocket-connection.c" 16676 + line="1816">the URI</doc> 16677 + <type name="GLib.Uri" c:type="GUri*"/> 16678 + </return-value> 16679 + <parameters> 16680 + <instance-parameter name="self" transfer-ownership="none"> 16681 + <doc xml:space="preserve" 16682 + filename="libsoup/websocket/soup-websocket-connection.c" 16683 + line="1809">the WebSocket</doc> 16684 + <type name="WebsocketConnection" 16685 + c:type="SoupWebsocketConnection*"/> 16686 + </instance-parameter> 16687 + </parameters> 16688 + </method> 16689 + <method name="send_binary" 16690 + c:identifier="soup_websocket_connection_send_binary"> 16691 + <doc xml:space="preserve" 16692 + filename="libsoup/websocket/soup-websocket-connection.c" 16693 + line="1979">Send a binary message to the peer. 16694 + 16695 + If @length is 0, @data may be %NULL. 16696 + 16697 + The message is queued to be sent and will be sent when the main loop 16698 + is run.</doc> 16699 + <source-position filename="libsoup/websocket/soup-websocket-connection.h" 16700 + line="71"/> 16701 + <return-value transfer-ownership="none"> 16702 + <type name="none" c:type="void"/> 16703 + </return-value> 16704 + <parameters> 16705 + <instance-parameter name="self" transfer-ownership="none"> 16706 + <doc xml:space="preserve" 16707 + filename="libsoup/websocket/soup-websocket-connection.c" 16708 + line="1981">the WebSocket</doc> 16709 + <type name="WebsocketConnection" 16710 + c:type="SoupWebsocketConnection*"/> 16711 + </instance-parameter> 16712 + <parameter name="data" 16713 + transfer-ownership="none" 16714 + nullable="1" 16715 + allow-none="1"> 16716 + <doc xml:space="preserve" 16717 + filename="libsoup/websocket/soup-websocket-connection.c" 16718 + line="1982">the message contents</doc> 16719 + <array length="1" zero-terminated="0" c:type="gconstpointer"> 16720 + <type name="guint8"/> 16721 + </array> 16722 + </parameter> 16723 + <parameter name="length" transfer-ownership="none"> 16724 + <doc xml:space="preserve" 16725 + filename="libsoup/websocket/soup-websocket-connection.c" 16726 + line="1983">the length of @data</doc> 16727 + <type name="gsize" c:type="gsize"/> 16728 + </parameter> 16729 + </parameters> 16730 + </method> 16731 + <method name="send_message" 16732 + c:identifier="soup_websocket_connection_send_message"> 16733 + <doc xml:space="preserve" 16734 + filename="libsoup/websocket/soup-websocket-connection.c" 16735 + line="2004">Send a message of the given @type to the peer. Note that this method, 16736 + allows to send text messages containing %NULL characters. 16737 + 16738 + The message is queued to be sent and will be sent when the main loop 16739 + is run.</doc> 16740 + <source-position filename="libsoup/websocket/soup-websocket-connection.h" 16741 + line="75"/> 16742 + <return-value transfer-ownership="none"> 16743 + <type name="none" c:type="void"/> 16744 + </return-value> 16745 + <parameters> 16746 + <instance-parameter name="self" transfer-ownership="none"> 16747 + <doc xml:space="preserve" 16748 + filename="libsoup/websocket/soup-websocket-connection.c" 16749 + line="2006">the WebSocket</doc> 16750 + <type name="WebsocketConnection" 16751 + c:type="SoupWebsocketConnection*"/> 16752 + </instance-parameter> 16753 + <parameter name="type" transfer-ownership="none"> 16754 + <doc xml:space="preserve" 16755 + filename="libsoup/websocket/soup-websocket-connection.c" 16756 + line="2007">the type of message contents</doc> 16757 + <type name="WebsocketDataType" c:type="SoupWebsocketDataType"/> 16758 + </parameter> 16759 + <parameter name="message" transfer-ownership="none"> 16760 + <doc xml:space="preserve" 16761 + filename="libsoup/websocket/soup-websocket-connection.c" 16762 + line="2008">the message data as #GBytes</doc> 16763 + <type name="GLib.Bytes" c:type="GBytes*"/> 16764 + </parameter> 16765 + </parameters> 16766 + </method> 16767 + <method name="send_text" 16768 + c:identifier="soup_websocket_connection_send_text"> 16769 + <doc xml:space="preserve" 16770 + filename="libsoup/websocket/soup-websocket-connection.c" 16771 + line="1950">Send a %NULL-terminated text (UTF-8) message to the peer. 16772 + 16773 + If you need to send text messages containing %NULL characters use 16774 + [method@WebsocketConnection.send_message] instead. 16775 + 16776 + The message is queued to be sent and will be sent when the main loop 16777 + is run.</doc> 16778 + <source-position filename="libsoup/websocket/soup-websocket-connection.h" 16779 + line="68"/> 16780 + <return-value transfer-ownership="none"> 16781 + <type name="none" c:type="void"/> 16782 + </return-value> 16783 + <parameters> 16784 + <instance-parameter name="self" transfer-ownership="none"> 16785 + <doc xml:space="preserve" 16786 + filename="libsoup/websocket/soup-websocket-connection.c" 16787 + line="1952">the WebSocket</doc> 16788 + <type name="WebsocketConnection" 16789 + c:type="SoupWebsocketConnection*"/> 16790 + </instance-parameter> 16791 + <parameter name="text" transfer-ownership="none"> 16792 + <doc xml:space="preserve" 16793 + filename="libsoup/websocket/soup-websocket-connection.c" 16794 + line="1953">the message contents</doc> 16795 + <type name="utf8" c:type="const char*"/> 16796 + </parameter> 16797 + </parameters> 16798 + </method> 16799 + <method name="set_keepalive_interval" 16800 + c:identifier="soup_websocket_connection_set_keepalive_interval" 16801 + glib:set-property="keepalive-interval"> 16802 + <doc xml:space="preserve" 16803 + filename="libsoup/websocket/soup-websocket-connection.c" 16804 + line="2145">Sets the interval in seconds on when to send a ping message which will serve 16805 + as a keepalive message. 16806 + 16807 + If set to 0 the keepalive message is disabled.</doc> 16808 + <source-position filename="libsoup/websocket/soup-websocket-connection.h" 16809 + line="95"/> 16810 + <return-value transfer-ownership="none"> 16811 + <type name="none" c:type="void"/> 16812 + </return-value> 16813 + <parameters> 16814 + <instance-parameter name="self" transfer-ownership="none"> 16815 + <doc xml:space="preserve" 16816 + filename="libsoup/websocket/soup-websocket-connection.c" 16817 + line="2147">the WebSocket</doc> 16818 + <type name="WebsocketConnection" 16819 + c:type="SoupWebsocketConnection*"/> 16820 + </instance-parameter> 16821 + <parameter name="interval" transfer-ownership="none"> 16822 + <doc xml:space="preserve" 16823 + filename="libsoup/websocket/soup-websocket-connection.c" 16824 + line="2148">the interval to send a ping message or 0 to disable it</doc> 16825 + <type name="guint" c:type="guint"/> 16826 + </parameter> 16827 + </parameters> 16828 + </method> 16829 + <method name="set_max_incoming_payload_size" 16830 + c:identifier="soup_websocket_connection_set_max_incoming_payload_size" 16831 + glib:set-property="max-incoming-payload-size"> 16832 + <doc xml:space="preserve" 16833 + filename="libsoup/websocket/soup-websocket-connection.c" 16834 + line="2090">Sets the maximum payload size allowed for incoming packets. 16835 + 16836 + It does not limit the outgoing packet size.</doc> 16837 + <source-position filename="libsoup/websocket/soup-websocket-connection.h" 16838 + line="88"/> 16839 + <return-value transfer-ownership="none"> 16840 + <type name="none" c:type="void"/> 16841 + </return-value> 16842 + <parameters> 16843 + <instance-parameter name="self" transfer-ownership="none"> 16844 + <doc xml:space="preserve" 16845 + filename="libsoup/websocket/soup-websocket-connection.c" 16846 + line="2092">the WebSocket</doc> 16847 + <type name="WebsocketConnection" 16848 + c:type="SoupWebsocketConnection*"/> 16849 + </instance-parameter> 16850 + <parameter name="max_incoming_payload_size" 16851 + transfer-ownership="none"> 16852 + <doc xml:space="preserve" 16853 + filename="libsoup/websocket/soup-websocket-connection.c" 16854 + line="2093">the maximum payload size</doc> 16855 + <type name="guint64" c:type="guint64"/> 16856 + </parameter> 16857 + </parameters> 16858 + </method> 16859 + <property name="connection-type" 16860 + writable="1" 16861 + construct-only="1" 16862 + transfer-ownership="none" 16863 + getter="get_connection_type" 16864 + default-value="SOUP_WEBSOCKET_CONNECTION_UNKNOWN"> 16865 + <doc xml:space="preserve" 16866 + filename="libsoup/websocket/soup-websocket-connection.c" 16867 + line="1518">The type of connection (client/server).</doc> 16868 + <type name="WebsocketConnectionType"/> 16869 + </property> 16870 + <property name="extensions" 16871 + writable="1" 16872 + construct-only="1" 16873 + transfer-ownership="none" 16874 + getter="get_extensions"> 16875 + <doc xml:space="preserve" 16876 + filename="libsoup/websocket/soup-websocket-connection.c" 16877 + line="1630">List of [class@WebsocketExtension] objects that are active in the connection.</doc> 16878 + <type name="gpointer" c:type="gpointer"/> 16879 + </property> 16880 + <property name="io-stream" 16881 + writable="1" 16882 + construct-only="1" 16883 + transfer-ownership="none" 16884 + getter="get_io_stream"> 16885 + <doc xml:space="preserve" 16886 + filename="libsoup/websocket/soup-websocket-connection.c" 16887 + line="1501">The underlying IO stream the WebSocket is communicating 16888 + over. 16889 + 16890 + The input and output streams must be pollable streams.</doc> 16891 + <type name="Gio.IOStream"/> 16892 + </property> 16893 + <property name="keepalive-interval" 16894 + writable="1" 16895 + construct="1" 16896 + transfer-ownership="none" 16897 + setter="set_keepalive_interval" 16898 + getter="get_keepalive_interval" 16899 + default-value="0"> 16900 + <doc xml:space="preserve" 16901 + filename="libsoup/websocket/soup-websocket-connection.c" 16902 + line="1611">Interval in seconds on when to send a ping message which will 16903 + serve as a keepalive message. 16904 + 16905 + If set to 0 the keepalive message is disabled.</doc> 16906 + <type name="guint" c:type="guint"/> 16907 + </property> 16908 + <property name="max-incoming-payload-size" 16909 + writable="1" 16910 + construct="1" 16911 + transfer-ownership="none" 16912 + setter="set_max_incoming_payload_size" 16913 + getter="get_max_incoming_payload_size" 16914 + default-value="131072"> 16915 + <doc xml:space="preserve" 16916 + filename="libsoup/websocket/soup-websocket-connection.c" 16917 + line="1593">The maximum payload size for incoming packets. 16918 + 16919 + The protocol expects or 0 to not limit it.</doc> 16920 + <type name="guint64" c:type="guint64"/> 16921 + </property> 16922 + <property name="origin" 16923 + writable="1" 16924 + construct-only="1" 16925 + transfer-ownership="none" 16926 + getter="get_origin" 16927 + default-value="NULL"> 16928 + <doc xml:space="preserve" 16929 + filename="libsoup/websocket/soup-websocket-connection.c" 16930 + line="1550">The client's Origin.</doc> 16931 + <type name="utf8" c:type="gchar*"/> 16932 + </property> 16933 + <property name="protocol" 16934 + writable="1" 16935 + construct-only="1" 16936 + transfer-ownership="none" 16937 + getter="get_protocol" 16938 + default-value="NULL"> 16939 + <doc xml:space="preserve" 16940 + filename="libsoup/websocket/soup-websocket-connection.c" 16941 + line="1564">The chosen protocol, or %NULL if a protocol was not agreed 16942 + upon.</doc> 16943 + <type name="utf8" c:type="gchar*"/> 16944 + </property> 16945 + <property name="state" 16946 + transfer-ownership="none" 16947 + getter="get_state" 16948 + default-value="SOUP_WEBSOCKET_STATE_OPEN"> 16949 + <doc xml:space="preserve" 16950 + filename="libsoup/websocket/soup-websocket-connection.c" 16951 + line="1579">The current state of the WebSocket.</doc> 16952 + <type name="WebsocketState"/> 16953 + </property> 16954 + <property name="uri" 16955 + writable="1" 16956 + construct-only="1" 16957 + transfer-ownership="none" 16958 + getter="get_uri"> 16959 + <doc xml:space="preserve" 16960 + filename="libsoup/websocket/soup-websocket-connection.c" 16961 + line="1533">The URI of the WebSocket. 16962 + 16963 + For servers this represents the address of the WebSocket, 16964 + and for clients it is the address connected to.</doc> 16965 + <type name="GLib.Uri"/> 16966 + </property> 16967 + <glib:signal name="closed" when="first"> 16968 + <doc xml:space="preserve" 16969 + filename="libsoup/websocket/soup-websocket-connection.c" 16970 + line="1694">Emitted when the connection has completely closed. 16971 + 16972 + This happens either due to an orderly close from the peer, one 16973 + initiated via [method@WebsocketConnection.close] or a fatal error 16974 + condition that caused a close. 16975 + 16976 + This signal will be emitted once.</doc> 16977 + <return-value transfer-ownership="none"> 16978 + <type name="none" c:type="void"/> 16979 + </return-value> 16980 + </glib:signal> 16981 + <glib:signal name="closing" when="last"> 16982 + <doc xml:space="preserve" 16983 + filename="libsoup/websocket/soup-websocket-connection.c" 16984 + line="1681">This signal will be emitted during an orderly close.</doc> 16985 + <return-value transfer-ownership="none"> 16986 + <type name="none" c:type="void"/> 16987 + </return-value> 16988 + </glib:signal> 16989 + <glib:signal name="error" when="first"> 16990 + <doc xml:space="preserve" 16991 + filename="libsoup/websocket/soup-websocket-connection.c" 16992 + line="1664">Emitted when an error occurred on the WebSocket. 16993 + 16994 + This may be fired multiple times. Fatal errors will be followed by 16995 + the [signal@WebsocketConnection::closed] signal being emitted.</doc> 16996 + <return-value transfer-ownership="none"> 16997 + <type name="none" c:type="void"/> 16998 + </return-value> 16999 + <parameters> 17000 + <parameter name="error" transfer-ownership="none"> 17001 + <doc xml:space="preserve" 17002 + filename="libsoup/websocket/soup-websocket-connection.c" 17003 + line="1667">the error that occured</doc> 17004 + <type name="GLib.Error"/> 17005 + </parameter> 17006 + </parameters> 17007 + </glib:signal> 17008 + <glib:signal name="message" when="first"> 17009 + <doc xml:space="preserve" 17010 + filename="libsoup/websocket/soup-websocket-connection.c" 17011 + line="1645">Emitted when we receive a message from the peer. 17012 + 17013 + As a convenience, the @message data will always be 17014 + %NULL-terminated, but the NUL byte will not be included in 17015 + the length count.</doc> 17016 + <return-value transfer-ownership="none"> 17017 + <type name="none" c:type="void"/> 17018 + </return-value> 17019 + <parameters> 17020 + <parameter name="type" transfer-ownership="none"> 17021 + <doc xml:space="preserve" 17022 + filename="libsoup/websocket/soup-websocket-connection.c" 17023 + line="1648">the type of message contents</doc> 17024 + <type name="gint" c:type="gint"/> 17025 + </parameter> 17026 + <parameter name="message" transfer-ownership="none"> 17027 + <doc xml:space="preserve" 17028 + filename="libsoup/websocket/soup-websocket-connection.c" 17029 + line="1649">the message data</doc> 17030 + <type name="GLib.Bytes"/> 17031 + </parameter> 17032 + </parameters> 17033 + </glib:signal> 17034 + <glib:signal name="pong" when="first"> 17035 + <doc xml:space="preserve" 17036 + filename="libsoup/websocket/soup-websocket-connection.c" 17037 + line="1713">Emitted when we receive a Pong frame (solicited or 17038 + unsolicited) from the peer. 17039 + 17040 + As a convenience, the @message data will always be 17041 + %NULL-terminated, but the NUL byte will not be included in 17042 + the length count.</doc> 17043 + <return-value transfer-ownership="none"> 17044 + <type name="none" c:type="void"/> 17045 + </return-value> 17046 + <parameters> 17047 + <parameter name="message" transfer-ownership="none"> 17048 + <doc xml:space="preserve" 17049 + filename="libsoup/websocket/soup-websocket-connection.c" 17050 + line="1716">the application data (if any)</doc> 17051 + <type name="GLib.Bytes"/> 17052 + </parameter> 17053 + </parameters> 17054 + </glib:signal> 17055 + </class> 17056 + <record name="WebsocketConnectionClass" 17057 + c:type="SoupWebsocketConnectionClass" 17058 + glib:is-gtype-struct-for="WebsocketConnection"> 17059 + <doc xml:space="preserve" 17060 + filename="libsoup/websocket/soup-websocket-connection.c" 17061 + line="57">The abstract base class for [class@WebsocketConnection].</doc> 17062 + <source-position filename="libsoup/websocket/soup-websocket-connection.h" 17063 + line="30"/> 17064 + <field name="parent_class"> 17065 + <type name="GObject.ObjectClass" c:type="GObjectClass"/> 17066 + </field> 17067 + </record> 17068 + <enumeration name="WebsocketConnectionType" 17069 + glib:type-name="SoupWebsocketConnectionType" 17070 + glib:get-type="soup_websocket_connection_type_get_type" 17071 + c:type="SoupWebsocketConnectionType"> 17072 + <doc xml:space="preserve" 17073 + filename="libsoup/websocket/soup-websocket.c" 17074 + line="83">The type of a [class@WebsocketConnection].</doc> 17075 + <member name="unknown" 17076 + value="0" 17077 + c:identifier="SOUP_WEBSOCKET_CONNECTION_UNKNOWN" 17078 + glib:nick="unknown" 17079 + glib:name="SOUP_WEBSOCKET_CONNECTION_UNKNOWN"> 17080 + <doc xml:space="preserve" 17081 + filename="libsoup/websocket/soup-websocket.c" 17082 + line="85">unknown/invalid connection</doc> 17083 + </member> 17084 + <member name="client" 17085 + value="1" 17086 + c:identifier="SOUP_WEBSOCKET_CONNECTION_CLIENT" 17087 + glib:nick="client" 17088 + glib:name="SOUP_WEBSOCKET_CONNECTION_CLIENT"> 17089 + <doc xml:space="preserve" 17090 + filename="libsoup/websocket/soup-websocket.c" 17091 + line="86">a client-side connection</doc> 17092 + </member> 17093 + <member name="server" 17094 + value="2" 17095 + c:identifier="SOUP_WEBSOCKET_CONNECTION_SERVER" 17096 + glib:nick="server" 17097 + glib:name="SOUP_WEBSOCKET_CONNECTION_SERVER"> 17098 + <doc xml:space="preserve" 17099 + filename="libsoup/websocket/soup-websocket.c" 17100 + line="87">a server-side connection</doc> 17101 + </member> 17102 + </enumeration> 17103 + <enumeration name="WebsocketDataType" 17104 + glib:type-name="SoupWebsocketDataType" 17105 + glib:get-type="soup_websocket_data_type_get_type" 17106 + c:type="SoupWebsocketDataType"> 17107 + <doc xml:space="preserve" 17108 + filename="libsoup/websocket/soup-websocket.c" 17109 + line="92">The type of data contained in a [signal@WebsocketConnection::message] signal.</doc> 17110 + <member name="text" 17111 + value="1" 17112 + c:identifier="SOUP_WEBSOCKET_DATA_TEXT" 17113 + glib:nick="text" 17114 + glib:name="SOUP_WEBSOCKET_DATA_TEXT"> 17115 + <doc xml:space="preserve" 17116 + filename="libsoup/websocket/soup-websocket.c" 17117 + line="94">UTF-8 text</doc> 17118 + </member> 17119 + <member name="binary" 17120 + value="2" 17121 + c:identifier="SOUP_WEBSOCKET_DATA_BINARY" 17122 + glib:nick="binary" 17123 + glib:name="SOUP_WEBSOCKET_DATA_BINARY"> 17124 + <doc xml:space="preserve" 17125 + filename="libsoup/websocket/soup-websocket.c" 17126 + line="95">binary data</doc> 17127 + </member> 17128 + </enumeration> 17129 + <enumeration name="WebsocketError" 17130 + glib:type-name="SoupWebsocketError" 17131 + glib:get-type="soup_websocket_error_get_type" 17132 + c:type="SoupWebsocketError" 17133 + glib:error-domain="soup-websocket-error-quark"> 17134 + <doc xml:space="preserve" 17135 + filename="libsoup/websocket/soup-websocket.c" 17136 + line="70">WebSocket-related errors.</doc> 17137 + <member name="failed" 17138 + value="0" 17139 + c:identifier="SOUP_WEBSOCKET_ERROR_FAILED" 17140 + glib:nick="failed" 17141 + glib:name="SOUP_WEBSOCKET_ERROR_FAILED"> 17142 + <doc xml:space="preserve" 17143 + filename="libsoup/websocket/soup-websocket.c" 17144 + line="72">a generic error</doc> 17145 + </member> 17146 + <member name="not_websocket" 17147 + value="1" 17148 + c:identifier="SOUP_WEBSOCKET_ERROR_NOT_WEBSOCKET" 17149 + glib:nick="not-websocket" 17150 + glib:name="SOUP_WEBSOCKET_ERROR_NOT_WEBSOCKET"> 17151 + <doc xml:space="preserve" 17152 + filename="libsoup/websocket/soup-websocket.c" 17153 + line="73">attempted to handshake with a 17154 + server that does not appear to understand WebSockets.</doc> 17155 + </member> 17156 + <member name="bad_handshake" 17157 + value="2" 17158 + c:identifier="SOUP_WEBSOCKET_ERROR_BAD_HANDSHAKE" 17159 + glib:nick="bad-handshake" 17160 + glib:name="SOUP_WEBSOCKET_ERROR_BAD_HANDSHAKE"> 17161 + <doc xml:space="preserve" 17162 + filename="libsoup/websocket/soup-websocket.c" 17163 + line="75">the WebSocket handshake failed 17164 + because some detail was invalid (eg, incorrect accept key).</doc> 17165 + </member> 17166 + <member name="bad_origin" 17167 + value="3" 17168 + c:identifier="SOUP_WEBSOCKET_ERROR_BAD_ORIGIN" 17169 + glib:nick="bad-origin" 17170 + glib:name="SOUP_WEBSOCKET_ERROR_BAD_ORIGIN"> 17171 + <doc xml:space="preserve" 17172 + filename="libsoup/websocket/soup-websocket.c" 17173 + line="77">the WebSocket handshake failed 17174 + because the "Origin" header was not an allowed value.</doc> 17175 + </member> 17176 + <function name="quark" c:identifier="soup_websocket_error_quark"> 17177 + <doc xml:space="preserve" 17178 + filename="libsoup/websocket/soup-websocket.h" 17179 + line="27">Registers error quark for SoupWebsocket if needed.</doc> 17180 + <return-value transfer-ownership="none"> 17181 + <doc xml:space="preserve" 17182 + filename="libsoup/websocket/soup-websocket.h" 17183 + line="31">Error quark for SoupWebsocket.</doc> 17184 + <type name="GLib.Quark" c:type="GQuark"/> 17185 + </return-value> 17186 + </function> 17187 + </enumeration> 17188 + <class name="WebsocketExtension" 17189 + c:symbol-prefix="websocket_extension" 17190 + c:type="SoupWebsocketExtension" 17191 + parent="GObject.Object" 17192 + abstract="1" 17193 + glib:type-name="SoupWebsocketExtension" 17194 + glib:get-type="soup_websocket_extension_get_type" 17195 + glib:type-struct="WebsocketExtensionClass"> 17196 + <doc xml:space="preserve" 17197 + filename="libsoup/websocket/soup-websocket-extension.c" 17198 + line="29">A WebSocket extension 17199 + 17200 + #SoupWebsocketExtension is the base class for WebSocket extension objects.</doc> 17201 + <source-position filename="libsoup/websocket/soup-websocket-extension.h" 17202 + line="60"/> 17203 + <virtual-method name="configure" invoker="configure" throws="1"> 17204 + <doc xml:space="preserve" 17205 + filename="libsoup/websocket/soup-websocket-extension.c" 17206 + line="66">Configures @extension with the given @params.</doc> 17207 + <source-position filename="libsoup/websocket/soup-websocket-extension.h" 17208 + line="39"/> 17209 + <return-value transfer-ownership="none"> 17210 + <doc xml:space="preserve" 17211 + filename="libsoup/websocket/soup-websocket-extension.c" 17212 + line="75">%TRUE if extension could be configured with the given parameters, or %FALSE otherwise</doc> 17213 + <type name="gboolean" c:type="gboolean"/> 17214 + </return-value> 17215 + <parameters> 17216 + <instance-parameter name="extension" transfer-ownership="none"> 17217 + <doc xml:space="preserve" 17218 + filename="libsoup/websocket/soup-websocket-extension.c" 17219 + line="68">a #SoupWebsocketExtension</doc> 17220 + <type name="WebsocketExtension" c:type="SoupWebsocketExtension*"/> 17221 + </instance-parameter> 17222 + <parameter name="connection_type" transfer-ownership="none"> 17223 + <doc xml:space="preserve" 17224 + filename="libsoup/websocket/soup-websocket-extension.c" 17225 + line="69">either %SOUP_WEBSOCKET_CONNECTION_CLIENT or %SOUP_WEBSOCKET_CONNECTION_SERVER</doc> 17226 + <type name="WebsocketConnectionType" 17227 + c:type="SoupWebsocketConnectionType"/> 17228 + </parameter> 17229 + <parameter name="params" 17230 + transfer-ownership="none" 17231 + nullable="1" 17232 + allow-none="1"> 17233 + <doc xml:space="preserve" 17234 + filename="libsoup/websocket/soup-websocket-extension.c" 17235 + line="70">the parameters</doc> 17236 + <type name="GLib.HashTable" c:type="GHashTable*"> 17237 + <type name="gpointer" c:type="gpointer"/> 17238 + <type name="gpointer" c:type="gpointer"/> 17239 + </type> 17240 + </parameter> 17241 + </parameters> 17242 + </virtual-method> 17243 + <virtual-method name="get_request_params" invoker="get_request_params"> 17244 + <doc xml:space="preserve" 17245 + filename="libsoup/websocket/soup-websocket-extension.c" 17246 + line="96">Get the parameters strings to be included in the request header. 17247 + 17248 + If the extension doesn't include any parameter in the request, this function 17249 + returns %NULL.</doc> 17250 + <source-position filename="libsoup/websocket/soup-websocket-extension.h" 17251 + line="44"/> 17252 + <return-value transfer-ownership="full" nullable="1"> 17253 + <doc xml:space="preserve" 17254 + filename="libsoup/websocket/soup-websocket-extension.c" 17255 + line="105">a new allocated string with the parameters</doc> 17256 + <type name="utf8" c:type="char*"/> 17257 + </return-value> 17258 + <parameters> 17259 + <instance-parameter name="extension" transfer-ownership="none"> 17260 + <doc xml:space="preserve" 17261 + filename="libsoup/websocket/soup-websocket-extension.c" 17262 + line="98">a #SoupWebsocketExtension</doc> 17263 + <type name="WebsocketExtension" c:type="SoupWebsocketExtension*"/> 17264 + </instance-parameter> 17265 + </parameters> 17266 + </virtual-method> 17267 + <virtual-method name="get_response_params" invoker="get_response_params"> 17268 + <doc xml:space="preserve" 17269 + filename="libsoup/websocket/soup-websocket-extension.c" 17270 + line="121">Get the parameters strings to be included in the response header. 17271 + 17272 + If the extension doesn't include any parameter in the response, this function 17273 + returns %NULL.</doc> 17274 + <source-position filename="libsoup/websocket/soup-websocket-extension.h" 17275 + line="46"/> 17276 + <return-value transfer-ownership="full" nullable="1"> 17277 + <doc xml:space="preserve" 17278 + filename="libsoup/websocket/soup-websocket-extension.c" 17279 + line="130">a new allocated string with the parameters</doc> 17280 + <type name="utf8" c:type="char*"/> 17281 + </return-value> 17282 + <parameters> 17283 + <instance-parameter name="extension" transfer-ownership="none"> 17284 + <doc xml:space="preserve" 17285 + filename="libsoup/websocket/soup-websocket-extension.c" 17286 + line="123">a #SoupWebsocketExtension</doc> 17287 + <type name="WebsocketExtension" c:type="SoupWebsocketExtension*"/> 17288 + </instance-parameter> 17289 + </parameters> 17290 + </virtual-method> 17291 + <virtual-method name="process_incoming_message" 17292 + invoker="process_incoming_message" 17293 + throws="1"> 17294 + <doc xml:space="preserve" 17295 + filename="libsoup/websocket/soup-websocket-extension.c" 17296 + line="183">Process a message after it's received. 17297 + 17298 + If the payload isn't changed the given @payload is just returned, otherwise 17299 + [method@GLib.Bytes.unref] is called on the given @payload and a new 17300 + [struct@GLib.Bytes] is returned with the new data. 17301 + 17302 + Extensions using reserved bits of the header will reset them in @header.</doc> 17303 + <source-position filename="libsoup/websocket/soup-websocket-extension.h" 17304 + line="53"/> 17305 + <return-value transfer-ownership="full"> 17306 + <doc xml:space="preserve" 17307 + filename="libsoup/websocket/soup-websocket-extension.c" 17308 + line="198">the message payload data, or %NULL in case of error</doc> 17309 + <type name="GLib.Bytes" c:type="GBytes*"/> 17310 + </return-value> 17311 + <parameters> 17312 + <instance-parameter name="extension" transfer-ownership="none"> 17313 + <doc xml:space="preserve" 17314 + filename="libsoup/websocket/soup-websocket-extension.c" 17315 + line="185">a #SoupWebsocketExtension</doc> 17316 + <type name="WebsocketExtension" c:type="SoupWebsocketExtension*"/> 17317 + </instance-parameter> 17318 + <parameter name="header" 17319 + direction="inout" 17320 + caller-allocates="0" 17321 + transfer-ownership="full"> 17322 + <doc xml:space="preserve" 17323 + filename="libsoup/websocket/soup-websocket-extension.c" 17324 + line="186">the message header</doc> 17325 + <type name="guint8" c:type="guint8*"/> 17326 + </parameter> 17327 + <parameter name="payload" transfer-ownership="full"> 17328 + <doc xml:space="preserve" 17329 + filename="libsoup/websocket/soup-websocket-extension.c" 17330 + line="187">the payload data</doc> 17331 + <type name="GLib.Bytes" c:type="GBytes*"/> 17332 + </parameter> 17333 + </parameters> 17334 + </virtual-method> 17335 + <virtual-method name="process_outgoing_message" 17336 + invoker="process_outgoing_message" 17337 + throws="1"> 17338 + <doc xml:space="preserve" 17339 + filename="libsoup/websocket/soup-websocket-extension.c" 17340 + line="146">Process a message before it's sent. 17341 + 17342 + If the payload isn't changed the given @payload is just returned, otherwise 17343 + [method@Glib.Bytes.unref] is called on the given @payload and a new 17344 + [struct@GLib.Bytes] is returned with the new data. 17345 + 17346 + Extensions using reserved bits of the header will change them in @header.</doc> 17347 + <source-position filename="libsoup/websocket/soup-websocket-extension.h" 17348 + line="48"/> 17349 + <return-value transfer-ownership="full"> 17350 + <doc xml:space="preserve" 17351 + filename="libsoup/websocket/soup-websocket-extension.c" 17352 + line="161">the message payload data, or %NULL in case of error</doc> 17353 + <type name="GLib.Bytes" c:type="GBytes*"/> 17354 + </return-value> 17355 + <parameters> 17356 + <instance-parameter name="extension" transfer-ownership="none"> 17357 + <doc xml:space="preserve" 17358 + filename="libsoup/websocket/soup-websocket-extension.c" 17359 + line="148">a #SoupWebsocketExtension</doc> 17360 + <type name="WebsocketExtension" c:type="SoupWebsocketExtension*"/> 17361 + </instance-parameter> 17362 + <parameter name="header" 17363 + direction="inout" 17364 + caller-allocates="0" 17365 + transfer-ownership="full"> 17366 + <doc xml:space="preserve" 17367 + filename="libsoup/websocket/soup-websocket-extension.c" 17368 + line="149">the message header</doc> 17369 + <type name="guint8" c:type="guint8*"/> 17370 + </parameter> 17371 + <parameter name="payload" transfer-ownership="full"> 17372 + <doc xml:space="preserve" 17373 + filename="libsoup/websocket/soup-websocket-extension.c" 17374 + line="150">the payload data</doc> 17375 + <type name="GLib.Bytes" c:type="GBytes*"/> 17376 + </parameter> 17377 + </parameters> 17378 + </virtual-method> 17379 + <method name="configure" 17380 + c:identifier="soup_websocket_extension_configure" 17381 + throws="1"> 17382 + <doc xml:space="preserve" 17383 + filename="libsoup/websocket/soup-websocket-extension.c" 17384 + line="66">Configures @extension with the given @params.</doc> 17385 + <source-position filename="libsoup/websocket/soup-websocket-extension.h" 17386 + line="63"/> 17387 + <return-value transfer-ownership="none"> 17388 + <doc xml:space="preserve" 17389 + filename="libsoup/websocket/soup-websocket-extension.c" 17390 + line="75">%TRUE if extension could be configured with the given parameters, or %FALSE otherwise</doc> 17391 + <type name="gboolean" c:type="gboolean"/> 17392 + </return-value> 17393 + <parameters> 17394 + <instance-parameter name="extension" transfer-ownership="none"> 17395 + <doc xml:space="preserve" 17396 + filename="libsoup/websocket/soup-websocket-extension.c" 17397 + line="68">a #SoupWebsocketExtension</doc> 17398 + <type name="WebsocketExtension" c:type="SoupWebsocketExtension*"/> 17399 + </instance-parameter> 17400 + <parameter name="connection_type" transfer-ownership="none"> 17401 + <doc xml:space="preserve" 17402 + filename="libsoup/websocket/soup-websocket-extension.c" 17403 + line="69">either %SOUP_WEBSOCKET_CONNECTION_CLIENT or %SOUP_WEBSOCKET_CONNECTION_SERVER</doc> 17404 + <type name="WebsocketConnectionType" 17405 + c:type="SoupWebsocketConnectionType"/> 17406 + </parameter> 17407 + <parameter name="params" 17408 + transfer-ownership="none" 17409 + nullable="1" 17410 + allow-none="1"> 17411 + <doc xml:space="preserve" 17412 + filename="libsoup/websocket/soup-websocket-extension.c" 17413 + line="70">the parameters</doc> 17414 + <type name="GLib.HashTable" c:type="GHashTable*"> 17415 + <type name="gpointer" c:type="gpointer"/> 17416 + <type name="gpointer" c:type="gpointer"/> 17417 + </type> 17418 + </parameter> 17419 + </parameters> 17420 + </method> 17421 + <method name="get_request_params" 17422 + c:identifier="soup_websocket_extension_get_request_params"> 17423 + <doc xml:space="preserve" 17424 + filename="libsoup/websocket/soup-websocket-extension.c" 17425 + line="96">Get the parameters strings to be included in the request header. 17426 + 17427 + If the extension doesn't include any parameter in the request, this function 17428 + returns %NULL.</doc> 17429 + <source-position filename="libsoup/websocket/soup-websocket-extension.h" 17430 + line="68"/> 17431 + <return-value transfer-ownership="full" nullable="1"> 17432 + <doc xml:space="preserve" 17433 + filename="libsoup/websocket/soup-websocket-extension.c" 17434 + line="105">a new allocated string with the parameters</doc> 17435 + <type name="utf8" c:type="char*"/> 17436 + </return-value> 17437 + <parameters> 17438 + <instance-parameter name="extension" transfer-ownership="none"> 17439 + <doc xml:space="preserve" 17440 + filename="libsoup/websocket/soup-websocket-extension.c" 17441 + line="98">a #SoupWebsocketExtension</doc> 17442 + <type name="WebsocketExtension" c:type="SoupWebsocketExtension*"/> 17443 + </instance-parameter> 17444 + </parameters> 17445 + </method> 17446 + <method name="get_response_params" 17447 + c:identifier="soup_websocket_extension_get_response_params"> 17448 + <doc xml:space="preserve" 17449 + filename="libsoup/websocket/soup-websocket-extension.c" 17450 + line="121">Get the parameters strings to be included in the response header. 17451 + 17452 + If the extension doesn't include any parameter in the response, this function 17453 + returns %NULL.</doc> 17454 + <source-position filename="libsoup/websocket/soup-websocket-extension.h" 17455 + line="71"/> 17456 + <return-value transfer-ownership="full" nullable="1"> 17457 + <doc xml:space="preserve" 17458 + filename="libsoup/websocket/soup-websocket-extension.c" 17459 + line="130">a new allocated string with the parameters</doc> 17460 + <type name="utf8" c:type="char*"/> 17461 + </return-value> 17462 + <parameters> 17463 + <instance-parameter name="extension" transfer-ownership="none"> 17464 + <doc xml:space="preserve" 17465 + filename="libsoup/websocket/soup-websocket-extension.c" 17466 + line="123">a #SoupWebsocketExtension</doc> 17467 + <type name="WebsocketExtension" c:type="SoupWebsocketExtension*"/> 17468 + </instance-parameter> 17469 + </parameters> 17470 + </method> 17471 + <method name="process_incoming_message" 17472 + c:identifier="soup_websocket_extension_process_incoming_message" 17473 + throws="1"> 17474 + <doc xml:space="preserve" 17475 + filename="libsoup/websocket/soup-websocket-extension.c" 17476 + line="183">Process a message after it's received. 17477 + 17478 + If the payload isn't changed the given @payload is just returned, otherwise 17479 + [method@GLib.Bytes.unref] is called on the given @payload and a new 17480 + [struct@GLib.Bytes] is returned with the new data. 17481 + 17482 + Extensions using reserved bits of the header will reset them in @header.</doc> 17483 + <source-position filename="libsoup/websocket/soup-websocket-extension.h" 17484 + line="79"/> 17485 + <return-value transfer-ownership="full"> 17486 + <doc xml:space="preserve" 17487 + filename="libsoup/websocket/soup-websocket-extension.c" 17488 + line="198">the message payload data, or %NULL in case of error</doc> 17489 + <type name="GLib.Bytes" c:type="GBytes*"/> 17490 + </return-value> 17491 + <parameters> 17492 + <instance-parameter name="extension" transfer-ownership="none"> 17493 + <doc xml:space="preserve" 17494 + filename="libsoup/websocket/soup-websocket-extension.c" 17495 + line="185">a #SoupWebsocketExtension</doc> 17496 + <type name="WebsocketExtension" c:type="SoupWebsocketExtension*"/> 17497 + </instance-parameter> 17498 + <parameter name="header" 17499 + direction="inout" 17500 + caller-allocates="0" 17501 + transfer-ownership="full"> 17502 + <doc xml:space="preserve" 17503 + filename="libsoup/websocket/soup-websocket-extension.c" 17504 + line="186">the message header</doc> 17505 + <type name="guint8" c:type="guint8*"/> 17506 + </parameter> 17507 + <parameter name="payload" transfer-ownership="full"> 17508 + <doc xml:space="preserve" 17509 + filename="libsoup/websocket/soup-websocket-extension.c" 17510 + line="187">the payload data</doc> 17511 + <type name="GLib.Bytes" c:type="GBytes*"/> 17512 + </parameter> 17513 + </parameters> 17514 + </method> 17515 + <method name="process_outgoing_message" 17516 + c:identifier="soup_websocket_extension_process_outgoing_message" 17517 + throws="1"> 17518 + <doc xml:space="preserve" 17519 + filename="libsoup/websocket/soup-websocket-extension.c" 17520 + line="146">Process a message before it's sent. 17521 + 17522 + If the payload isn't changed the given @payload is just returned, otherwise 17523 + [method@Glib.Bytes.unref] is called on the given @payload and a new 17524 + [struct@GLib.Bytes] is returned with the new data. 17525 + 17526 + Extensions using reserved bits of the header will change them in @header.</doc> 17527 + <source-position filename="libsoup/websocket/soup-websocket-extension.h" 17528 + line="74"/> 17529 + <return-value transfer-ownership="full"> 17530 + <doc xml:space="preserve" 17531 + filename="libsoup/websocket/soup-websocket-extension.c" 17532 + line="161">the message payload data, or %NULL in case of error</doc> 17533 + <type name="GLib.Bytes" c:type="GBytes*"/> 17534 + </return-value> 17535 + <parameters> 17536 + <instance-parameter name="extension" transfer-ownership="none"> 17537 + <doc xml:space="preserve" 17538 + filename="libsoup/websocket/soup-websocket-extension.c" 17539 + line="148">a #SoupWebsocketExtension</doc> 17540 + <type name="WebsocketExtension" c:type="SoupWebsocketExtension*"/> 17541 + </instance-parameter> 17542 + <parameter name="header" 17543 + direction="inout" 17544 + caller-allocates="0" 17545 + transfer-ownership="full"> 17546 + <doc xml:space="preserve" 17547 + filename="libsoup/websocket/soup-websocket-extension.c" 17548 + line="149">the message header</doc> 17549 + <type name="guint8" c:type="guint8*"/> 17550 + </parameter> 17551 + <parameter name="payload" transfer-ownership="full"> 17552 + <doc xml:space="preserve" 17553 + filename="libsoup/websocket/soup-websocket-extension.c" 17554 + line="150">the payload data</doc> 17555 + <type name="GLib.Bytes" c:type="GBytes*"/> 17556 + </parameter> 17557 + </parameters> 17558 + </method> 17559 + <field name="parent_instance"> 17560 + <type name="GObject.Object" c:type="GObject"/> 17561 + </field> 17562 + </class> 17563 + <record name="WebsocketExtensionClass" 17564 + c:type="SoupWebsocketExtensionClass" 17565 + glib:is-gtype-struct-for="WebsocketExtension"> 17566 + <doc xml:space="preserve" 17567 + filename="libsoup/websocket/soup-websocket-extension.c" 17568 + line="37">The class structure for the #SoupWebsocketExtension.</doc> 17569 + <source-position filename="libsoup/websocket/soup-websocket-extension.h" 17570 + line="60"/> 17571 + <field name="parent_class"> 17572 + <doc xml:space="preserve" 17573 + filename="libsoup/websocket/soup-websocket-extension.c" 17574 + line="40">the parent class</doc> 17575 + <type name="GObject.ObjectClass" c:type="GObjectClass"/> 17576 + </field> 17577 + <field name="name"> 17578 + <doc xml:space="preserve" 17579 + filename="libsoup/websocket/soup-websocket-extension.c" 17580 + line="39">the name of the extension</doc> 17581 + <type name="utf8" c:type="const char*"/> 17582 + </field> 17583 + <field name="configure"> 17584 + <doc xml:space="preserve" 17585 + filename="libsoup/websocket/soup-websocket-extension.c" 17586 + line="41">called to configure the extension with the given parameters</doc> 17587 + <callback name="configure" throws="1"> 17588 + <source-position filename="libsoup/websocket/soup-websocket-extension.h" 17589 + line="39"/> 17590 + <return-value transfer-ownership="none"> 17591 + <doc xml:space="preserve" 17592 + filename="libsoup/websocket/soup-websocket-extension.c" 17593 + line="75">%TRUE if extension could be configured with the given parameters, or %FALSE otherwise</doc> 17594 + <type name="gboolean" c:type="gboolean"/> 17595 + </return-value> 17596 + <parameters> 17597 + <parameter name="extension" transfer-ownership="none"> 17598 + <doc xml:space="preserve" 17599 + filename="libsoup/websocket/soup-websocket-extension.c" 17600 + line="68">a #SoupWebsocketExtension</doc> 17601 + <type name="WebsocketExtension" 17602 + c:type="SoupWebsocketExtension*"/> 17603 + </parameter> 17604 + <parameter name="connection_type" transfer-ownership="none"> 17605 + <doc xml:space="preserve" 17606 + filename="libsoup/websocket/soup-websocket-extension.c" 17607 + line="69">either %SOUP_WEBSOCKET_CONNECTION_CLIENT or %SOUP_WEBSOCKET_CONNECTION_SERVER</doc> 17608 + <type name="WebsocketConnectionType" 17609 + c:type="SoupWebsocketConnectionType"/> 17610 + </parameter> 17611 + <parameter name="params" 17612 + transfer-ownership="none" 17613 + nullable="1" 17614 + allow-none="1"> 17615 + <doc xml:space="preserve" 17616 + filename="libsoup/websocket/soup-websocket-extension.c" 17617 + line="70">the parameters</doc> 17618 + <type name="GLib.HashTable" c:type="GHashTable*"> 17619 + <type name="gpointer" c:type="gpointer"/> 17620 + <type name="gpointer" c:type="gpointer"/> 17621 + </type> 17622 + </parameter> 17623 + </parameters> 17624 + </callback> 17625 + </field> 17626 + <field name="get_request_params"> 17627 + <doc xml:space="preserve" 17628 + filename="libsoup/websocket/soup-websocket-extension.c" 17629 + line="42">called by the client to build the request header. 17630 + It should include the parameters string starting with ';'</doc> 17631 + <callback name="get_request_params"> 17632 + <source-position filename="libsoup/websocket/soup-websocket-extension.h" 17633 + line="44"/> 17634 + <return-value transfer-ownership="full" nullable="1"> 17635 + <doc xml:space="preserve" 17636 + filename="libsoup/websocket/soup-websocket-extension.c" 17637 + line="105">a new allocated string with the parameters</doc> 17638 + <type name="utf8" c:type="char*"/> 17639 + </return-value> 17640 + <parameters> 17641 + <parameter name="extension" transfer-ownership="none"> 17642 + <doc xml:space="preserve" 17643 + filename="libsoup/websocket/soup-websocket-extension.c" 17644 + line="98">a #SoupWebsocketExtension</doc> 17645 + <type name="WebsocketExtension" 17646 + c:type="SoupWebsocketExtension*"/> 17647 + </parameter> 17648 + </parameters> 17649 + </callback> 17650 + </field> 17651 + <field name="get_response_params"> 17652 + <doc xml:space="preserve" 17653 + filename="libsoup/websocket/soup-websocket-extension.c" 17654 + line="44">called by the server to build the response header. 17655 + It should include the parameters string starting with ';'</doc> 17656 + <callback name="get_response_params"> 17657 + <source-position filename="libsoup/websocket/soup-websocket-extension.h" 17658 + line="46"/> 17659 + <return-value transfer-ownership="full" nullable="1"> 17660 + <doc xml:space="preserve" 17661 + filename="libsoup/websocket/soup-websocket-extension.c" 17662 + line="130">a new allocated string with the parameters</doc> 17663 + <type name="utf8" c:type="char*"/> 17664 + </return-value> 17665 + <parameters> 17666 + <parameter name="extension" transfer-ownership="none"> 17667 + <doc xml:space="preserve" 17668 + filename="libsoup/websocket/soup-websocket-extension.c" 17669 + line="123">a #SoupWebsocketExtension</doc> 17670 + <type name="WebsocketExtension" 17671 + c:type="SoupWebsocketExtension*"/> 17672 + </parameter> 17673 + </parameters> 17674 + </callback> 17675 + </field> 17676 + <field name="process_outgoing_message"> 17677 + <doc xml:space="preserve" 17678 + filename="libsoup/websocket/soup-websocket-extension.c" 17679 + line="46">called to process the payload data of a message 17680 + before it's sent. Reserved bits of the header should be changed.</doc> 17681 + <callback name="process_outgoing_message" throws="1"> 17682 + <source-position filename="libsoup/websocket/soup-websocket-extension.h" 17683 + line="48"/> 17684 + <return-value transfer-ownership="full"> 17685 + <doc xml:space="preserve" 17686 + filename="libsoup/websocket/soup-websocket-extension.c" 17687 + line="161">the message payload data, or %NULL in case of error</doc> 17688 + <type name="GLib.Bytes" c:type="GBytes*"/> 17689 + </return-value> 17690 + <parameters> 17691 + <parameter name="extension" transfer-ownership="none"> 17692 + <doc xml:space="preserve" 17693 + filename="libsoup/websocket/soup-websocket-extension.c" 17694 + line="148">a #SoupWebsocketExtension</doc> 17695 + <type name="WebsocketExtension" 17696 + c:type="SoupWebsocketExtension*"/> 17697 + </parameter> 17698 + <parameter name="header" 17699 + direction="inout" 17700 + caller-allocates="0" 17701 + transfer-ownership="full"> 17702 + <doc xml:space="preserve" 17703 + filename="libsoup/websocket/soup-websocket-extension.c" 17704 + line="149">the message header</doc> 17705 + <type name="guint8" c:type="guint8*"/> 17706 + </parameter> 17707 + <parameter name="payload" transfer-ownership="full"> 17708 + <doc xml:space="preserve" 17709 + filename="libsoup/websocket/soup-websocket-extension.c" 17710 + line="150">the payload data</doc> 17711 + <type name="GLib.Bytes" c:type="GBytes*"/> 17712 + </parameter> 17713 + </parameters> 17714 + </callback> 17715 + </field> 17716 + <field name="process_incoming_message"> 17717 + <doc xml:space="preserve" 17718 + filename="libsoup/websocket/soup-websocket-extension.c" 17719 + line="48">called to process the payload data of a message 17720 + after it's received. Reserved bits of the header should be cleared.</doc> 17721 + <callback name="process_incoming_message" throws="1"> 17722 + <source-position filename="libsoup/websocket/soup-websocket-extension.h" 17723 + line="53"/> 17724 + <return-value transfer-ownership="full"> 17725 + <doc xml:space="preserve" 17726 + filename="libsoup/websocket/soup-websocket-extension.c" 17727 + line="198">the message payload data, or %NULL in case of error</doc> 17728 + <type name="GLib.Bytes" c:type="GBytes*"/> 17729 + </return-value> 17730 + <parameters> 17731 + <parameter name="extension" transfer-ownership="none"> 17732 + <doc xml:space="preserve" 17733 + filename="libsoup/websocket/soup-websocket-extension.c" 17734 + line="185">a #SoupWebsocketExtension</doc> 17735 + <type name="WebsocketExtension" 17736 + c:type="SoupWebsocketExtension*"/> 17737 + </parameter> 17738 + <parameter name="header" 17739 + direction="inout" 17740 + caller-allocates="0" 17741 + transfer-ownership="full"> 17742 + <doc xml:space="preserve" 17743 + filename="libsoup/websocket/soup-websocket-extension.c" 17744 + line="186">the message header</doc> 17745 + <type name="guint8" c:type="guint8*"/> 17746 + </parameter> 17747 + <parameter name="payload" transfer-ownership="full"> 17748 + <doc xml:space="preserve" 17749 + filename="libsoup/websocket/soup-websocket-extension.c" 17750 + line="187">the payload data</doc> 17751 + <type name="GLib.Bytes" c:type="GBytes*"/> 17752 + </parameter> 17753 + </parameters> 17754 + </callback> 17755 + </field> 17756 + <field name="padding" readable="0" private="1"> 17757 + <array zero-terminated="0" fixed-size="6"> 17758 + <type name="gpointer" c:type="gpointer"/> 17759 + </array> 17760 + </field> 17761 + </record> 17762 + <class name="WebsocketExtensionDeflate" 17763 + c:symbol-prefix="websocket_extension_deflate" 17764 + c:type="SoupWebsocketExtensionDeflate" 17765 + parent="WebsocketExtension" 17766 + final="1" 17767 + glib:type-name="SoupWebsocketExtensionDeflate" 17768 + glib:get-type="soup_websocket_extension_deflate_get_type" 17769 + glib:type-struct="WebsocketExtensionDeflateClass"> 17770 + <doc xml:space="preserve" 17771 + filename="libsoup/websocket/soup-websocket-extension-deflate.c" 17772 + line="69">A SoupWebsocketExtensionDeflate is a [class@WebsocketExtension] 17773 + implementing permessage-deflate (RFC 7692). 17774 + 17775 + This extension is used by default in a [class@Session] when [class@WebsocketExtensionManager] 17776 + feature is present, and always used by [class@Server].</doc> 17777 + <source-position filename="libsoup/websocket/soup-websocket-extension-deflate.h" 17778 + line="31"/> 17779 + </class> 17780 + <record name="WebsocketExtensionDeflateClass" 17781 + c:type="SoupWebsocketExtensionDeflateClass" 17782 + glib:is-gtype-struct-for="WebsocketExtensionDeflate"> 17783 + <source-position filename="libsoup/websocket/soup-websocket-extension-deflate.h" 17784 + line="31"/> 17785 + <field name="parent_class"> 17786 + <type name="WebsocketExtensionClass" 17787 + c:type="SoupWebsocketExtensionClass"/> 17788 + </field> 17789 + </record> 17790 + <class name="WebsocketExtensionManager" 17791 + c:symbol-prefix="websocket_extension_manager" 17792 + c:type="SoupWebsocketExtensionManager" 17793 + parent="GObject.Object" 17794 + final="1" 17795 + glib:type-name="SoupWebsocketExtensionManager" 17796 + glib:get-type="soup_websocket_extension_manager_get_type" 17797 + glib:type-struct="WebsocketExtensionManagerClass"> 17798 + <doc xml:space="preserve" 17799 + filename="libsoup/websocket/soup-websocket-extension-manager.c" 17800 + line="35">SoupWebsocketExtensionManager is the [iface@SessionFeature] that handles WebSockets 17801 + extensions for a [class@Session]. 17802 + 17803 + A #SoupWebsocketExtensionManager is added to the session by default, and normally 17804 + you don't need to worry about it at all. However, if you want to 17805 + disable WebSocket extensions, you can remove the feature from the 17806 + session with [method@Session.remove_feature_by_type] or disable it on 17807 + individual requests with [method@Message.disable_feature].</doc> 17808 + <source-position filename="libsoup/websocket/soup-websocket-extension-manager.h" 17809 + line="31"/> 17810 + <implements name="SessionFeature"/> 17811 + </class> 17812 + <record name="WebsocketExtensionManagerClass" 17813 + c:type="SoupWebsocketExtensionManagerClass" 17814 + glib:is-gtype-struct-for="WebsocketExtensionManager"> 17815 + <source-position filename="libsoup/websocket/soup-websocket-extension-manager.h" 17816 + line="31"/> 17817 + <field name="parent_class"> 17818 + <type name="GObject.ObjectClass" c:type="GObjectClass"/> 17819 + </field> 17820 + </record> 17821 + <enumeration name="WebsocketState" 17822 + glib:type-name="SoupWebsocketState" 17823 + glib:get-type="soup_websocket_state_get_type" 17824 + c:type="SoupWebsocketState"> 17825 + <doc xml:space="preserve" 17826 + filename="libsoup/websocket/soup-websocket.c" 17827 + line="132">The state of the WebSocket connection.</doc> 17828 + <member name="open" 17829 + value="1" 17830 + c:identifier="SOUP_WEBSOCKET_STATE_OPEN" 17831 + glib:nick="open" 17832 + glib:name="SOUP_WEBSOCKET_STATE_OPEN"> 17833 + <doc xml:space="preserve" 17834 + filename="libsoup/websocket/soup-websocket.c" 17835 + line="134">the connection is ready to send messages</doc> 17836 + </member> 17837 + <member name="closing" 17838 + value="2" 17839 + c:identifier="SOUP_WEBSOCKET_STATE_CLOSING" 17840 + glib:nick="closing" 17841 + glib:name="SOUP_WEBSOCKET_STATE_CLOSING"> 17842 + <doc xml:space="preserve" 17843 + filename="libsoup/websocket/soup-websocket.c" 17844 + line="135">the connection is in the process of 17845 + closing down; messages may be received, but not sent</doc> 17846 + </member> 17847 + <member name="closed" 17848 + value="3" 17849 + c:identifier="SOUP_WEBSOCKET_STATE_CLOSED" 17850 + glib:nick="closed" 17851 + glib:name="SOUP_WEBSOCKET_STATE_CLOSED"> 17852 + <doc xml:space="preserve" 17853 + filename="libsoup/websocket/soup-websocket.c" 17854 + line="137">the connection is completely closed down</doc> 17855 + </member> 17856 + </enumeration> 17857 + <function name="check_version" c:identifier="soup_check_version"> 17858 + <doc xml:space="preserve" 17859 + filename="libsoup/soup-version.c" 17860 + line="113">Like [func@CHECK_VERSION], but the check for soup_check_version is 17861 + at runtime instead of compile time. 17862 + 17863 + This is useful for compiling against older versions of libsoup, but using 17864 + features from newer versions.</doc> 17865 + <source-position filename="libsoup/soup-version.h" line="262"/> 17866 + <return-value transfer-ownership="none"> 17867 + <doc xml:space="preserve" 17868 + filename="libsoup/soup-version.c" 17869 + line="125">%TRUE if the version of the libsoup currently loaded 17870 + is the same as or newer than the passed-in version.</doc> 17871 + <type name="gboolean" c:type="gboolean"/> 17872 + </return-value> 17873 + <parameters> 17874 + <parameter name="major" transfer-ownership="none"> 17875 + <doc xml:space="preserve" 17876 + filename="libsoup/soup-version.c" 17877 + line="115">the major version to check</doc> 17878 + <type name="guint" c:type="guint"/> 17879 + </parameter> 17880 + <parameter name="minor" transfer-ownership="none"> 17881 + <doc xml:space="preserve" 17882 + filename="libsoup/soup-version.c" 17883 + line="116">the minor version to check</doc> 17884 + <type name="guint" c:type="guint"/> 17885 + </parameter> 17886 + <parameter name="micro" transfer-ownership="none"> 17887 + <doc xml:space="preserve" 17888 + filename="libsoup/soup-version.c" 17889 + line="117">the micro version to check</doc> 17890 + <type name="guint" c:type="guint"/> 17891 + </parameter> 17892 + </parameters> 17893 + </function> 17894 + <function name="cookie_parse" 17895 + c:identifier="soup_cookie_parse" 17896 + moved-to="Cookie.parse"> 17897 + <doc xml:space="preserve" 17898 + filename="libsoup/cookies/soup-cookie.c" 17899 + line="395">Parses @header and returns a #SoupCookie. 17900 + 17901 + If @header contains multiple cookies, only the first one will be parsed. 17902 + 17903 + If @header does not have "path" or "domain" attributes, they will 17904 + be defaulted from @origin. If @origin is %NULL, path will default 17905 + to "/", but domain will be left as %NULL. Note that this is not a 17906 + valid state for a #SoupCookie, and you will need to fill in some 17907 + appropriate string for the domain if you want to actually make use 17908 + of the cookie. 17909 + 17910 + As of version 3.4.0 the default value of a cookie's same-site-policy 17911 + is %SOUP_SAME_SITE_POLICY_LAX.</doc> 17912 + <source-position filename="libsoup/cookies/soup-cookie.h" line="44"/> 17913 + <return-value transfer-ownership="full" nullable="1"> 17914 + <doc xml:space="preserve" 17915 + filename="libsoup/cookies/soup-cookie.c" 17916 + line="414">a new #SoupCookie, or %NULL if it could 17917 + not be parsed, or contained an illegal "domain" attribute for a 17918 + cookie originating from @origin.</doc> 17919 + <type name="Cookie" c:type="SoupCookie*"/> 17920 + </return-value> 17921 + <parameters> 17922 + <parameter name="header" transfer-ownership="none"> 17923 + <doc xml:space="preserve" 17924 + filename="libsoup/cookies/soup-cookie.c" 17925 + line="397">a cookie string (eg, the value of a Set-Cookie header)</doc> 17926 + <type name="utf8" c:type="const char*"/> 17927 + </parameter> 17928 + <parameter name="origin" 17929 + transfer-ownership="none" 17930 + nullable="1" 17931 + allow-none="1"> 17932 + <doc xml:space="preserve" 17933 + filename="libsoup/cookies/soup-cookie.c" 17934 + line="398">origin of the cookie</doc> 17935 + <type name="GLib.Uri" c:type="GUri*"/> 17936 + </parameter> 17937 + </parameters> 17938 + </function> 17939 + <function name="cookies_free" 17940 + c:identifier="soup_cookies_free" 17941 + introspectable="0"> 17942 + <doc xml:space="preserve" 17943 + filename="libsoup/cookies/soup-cookie.c" 17944 + line="993">Frees @cookies.</doc> 17945 + <source-position filename="libsoup/cookies/soup-cookie.h" line="122"/> 17946 + <return-value transfer-ownership="none"> 17947 + <type name="none" c:type="void"/> 17948 + </return-value> 17949 + <parameters> 17950 + <parameter name="cookies" transfer-ownership="none"> 17951 + <doc xml:space="preserve" 17952 + filename="libsoup/cookies/soup-cookie.c" 17953 + line="995">a #GSList of #SoupCookie</doc> 17954 + <type name="GLib.SList" c:type="GSList*"> 17955 + <type name="Cookie"/> 17956 + </type> 17957 + </parameter> 17958 + </parameters> 17959 + </function> 17960 + <function name="cookies_from_request" 17961 + c:identifier="soup_cookies_from_request"> 17962 + <doc xml:space="preserve" 17963 + filename="libsoup/cookies/soup-cookie.c" 17964 + line="895">Parses @msg's Cookie request header and returns a [struct@GLib.SList] of 17965 + `SoupCookie`s. 17966 + 17967 + As the "Cookie" header, unlike "Set-Cookie", only contains cookie names and 17968 + values, none of the other #SoupCookie fields will be filled in. (Thus, you 17969 + can't generally pass a cookie returned from this method directly to 17970 + [func@cookies_to_response].)</doc> 17971 + <source-position filename="libsoup/cookies/soup-cookie.h" line="112"/> 17972 + <return-value transfer-ownership="full"> 17973 + <doc xml:space="preserve" 17974 + filename="libsoup/cookies/soup-cookie.c" 17975 + line="907">a #GSList of 17976 + `SoupCookie`s, which can be freed with [method@Cookie.free].</doc> 17977 + <type name="GLib.SList" c:type="GSList*"> 17978 + <type name="Cookie"/> 17979 + </type> 17980 + </return-value> 17981 + <parameters> 17982 + <parameter name="msg" transfer-ownership="none"> 17983 + <doc xml:space="preserve" 17984 + filename="libsoup/cookies/soup-cookie.c" 17985 + line="897">a #SoupMessage containing a "Cookie" request header</doc> 17986 + <type name="Message" c:type="SoupMessage*"/> 17987 + </parameter> 17988 + </parameters> 17989 + </function> 17990 + <function name="cookies_from_response" 17991 + c:identifier="soup_cookies_from_response"> 17992 + <doc xml:space="preserve" 17993 + filename="libsoup/cookies/soup-cookie.c" 17994 + line="855">Parses @msg's Set-Cookie response headers and returns a [struct@GLib.SList] 17995 + of `SoupCookie`s. 17996 + 17997 + Cookies that do not specify "path" or "domain" attributes will have their 17998 + values defaulted from @msg.</doc> 17999 + <source-position filename="libsoup/cookies/soup-cookie.h" line="110"/> 18000 + <return-value transfer-ownership="full"> 18001 + <doc xml:space="preserve" 18002 + filename="libsoup/cookies/soup-cookie.c" 18003 + line="865">a #GSList of 18004 + `SoupCookie`s, which can be freed with [method@Cookie.free].</doc> 18005 + <type name="GLib.SList" c:type="GSList*"> 18006 + <type name="Cookie"/> 18007 + </type> 18008 + </return-value> 18009 + <parameters> 18010 + <parameter name="msg" transfer-ownership="none"> 18011 + <doc xml:space="preserve" 18012 + filename="libsoup/cookies/soup-cookie.c" 18013 + line="857">a #SoupMessage containing a "Set-Cookie" response header</doc> 18014 + <type name="Message" c:type="SoupMessage*"/> 18015 + </parameter> 18016 + </parameters> 18017 + </function> 18018 + <function name="cookies_to_cookie_header" 18019 + c:identifier="soup_cookies_to_cookie_header"> 18020 + <doc xml:space="preserve" 18021 + filename="libsoup/cookies/soup-cookie.c" 18022 + line="1005">Serializes a [struct@GLib.SList] of #SoupCookie into a string suitable for 18023 + setting as the value of the "Cookie" header.</doc> 18024 + <source-position filename="libsoup/cookies/soup-cookie.h" line="125"/> 18025 + <return-value transfer-ownership="full"> 18026 + <doc xml:space="preserve" 18027 + filename="libsoup/cookies/soup-cookie.c" 18028 + line="1012">the serialization of @cookies</doc> 18029 + <type name="utf8" c:type="char*"/> 18030 + </return-value> 18031 + <parameters> 18032 + <parameter name="cookies" transfer-ownership="none"> 18033 + <doc xml:space="preserve" 18034 + filename="libsoup/cookies/soup-cookie.c" 18035 + line="1007">a #GSList of #SoupCookie</doc> 18036 + <type name="GLib.SList" c:type="GSList*"> 18037 + <type name="Cookie"/> 18038 + </type> 18039 + </parameter> 18040 + </parameters> 18041 + </function> 18042 + <function name="cookies_to_request" c:identifier="soup_cookies_to_request"> 18043 + <doc xml:space="preserve" 18044 + filename="libsoup/cookies/soup-cookie.c" 18045 + line="965">Adds the name and value of each cookie in @cookies to @msg's 18046 + "Cookie" request. 18047 + 18048 + If @msg already has a "Cookie" request header, these cookies will be appended 18049 + to the cookies already present. Be careful that you do not append the same 18050 + cookies twice, eg, when requeuing a message.</doc> 18051 + <source-position filename="libsoup/cookies/soup-cookie.h" line="118"/> 18052 + <return-value transfer-ownership="none"> 18053 + <type name="none" c:type="void"/> 18054 + </return-value> 18055 + <parameters> 18056 + <parameter name="cookies" transfer-ownership="none"> 18057 + <doc xml:space="preserve" 18058 + filename="libsoup/cookies/soup-cookie.c" 18059 + line="967">a #GSList of #SoupCookie</doc> 18060 + <type name="GLib.SList" c:type="GSList*"> 18061 + <type name="Cookie"/> 18062 + </type> 18063 + </parameter> 18064 + <parameter name="msg" transfer-ownership="none"> 18065 + <doc xml:space="preserve" 18066 + filename="libsoup/cookies/soup-cookie.c" 18067 + line="968">a #SoupMessage</doc> 18068 + <type name="Message" c:type="SoupMessage*"/> 18069 + </parameter> 18070 + </parameters> 18071 + </function> 18072 + <function name="cookies_to_response" 18073 + c:identifier="soup_cookies_to_response"> 18074 + <doc xml:space="preserve" 18075 + filename="libsoup/cookies/soup-cookie.c" 18076 + line="938">Appends a "Set-Cookie" response header to @msg for each cookie in 18077 + @cookies. 18078 + 18079 + This is in addition to any other "Set-Cookie" headers 18080 + @msg may already have.</doc> 18081 + <source-position filename="libsoup/cookies/soup-cookie.h" line="115"/> 18082 + <return-value transfer-ownership="none"> 18083 + <type name="none" c:type="void"/> 18084 + </return-value> 18085 + <parameters> 18086 + <parameter name="cookies" transfer-ownership="none"> 18087 + <doc xml:space="preserve" 18088 + filename="libsoup/cookies/soup-cookie.c" 18089 + line="940">a #GSList of #SoupCookie</doc> 18090 + <type name="GLib.SList" c:type="GSList*"> 18091 + <type name="Cookie"/> 18092 + </type> 18093 + </parameter> 18094 + <parameter name="msg" transfer-ownership="none"> 18095 + <doc xml:space="preserve" 18096 + filename="libsoup/cookies/soup-cookie.c" 18097 + line="941">a #SoupMessage</doc> 18098 + <type name="Message" c:type="SoupMessage*"/> 18099 + </parameter> 18100 + </parameters> 18101 + </function> 18102 + <function name="date_time_new_from_http_string" 18103 + c:identifier="soup_date_time_new_from_http_string"> 18104 + <doc xml:space="preserve" 18105 + filename="libsoup/soup-date-utils.c" 18106 + line="304">Parses @date_string and tries to extract a date from it. 18107 + 18108 + This recognizes all of the "HTTP-date" formats from RFC 2616, RFC 2822 dates, 18109 + and reasonable approximations thereof. (Eg, it is lenient about whitespace, 18110 + leading "0"s, etc.)</doc> 18111 + <source-position filename="libsoup/soup-date-utils.h" line="36"/> 18112 + <return-value transfer-ownership="full" nullable="1"> 18113 + <doc xml:space="preserve" 18114 + filename="libsoup/soup-date-utils.c" 18115 + line="314">a new #GDateTime, or %NULL if @date_string 18116 + could not be parsed.</doc> 18117 + <type name="GLib.DateTime" c:type="GDateTime*"/> 18118 + </return-value> 18119 + <parameters> 18120 + <parameter name="date_string" transfer-ownership="none"> 18121 + <doc xml:space="preserve" 18122 + filename="libsoup/soup-date-utils.c" 18123 + line="306">The date as a string</doc> 18124 + <type name="utf8" c:type="const char*"/> 18125 + </parameter> 18126 + </parameters> 18127 + </function> 18128 + <function name="date_time_to_string" 18129 + c:identifier="soup_date_time_to_string"> 18130 + <doc xml:space="preserve" 18131 + filename="libsoup/soup-date-utils.c" 18132 + line="75">Converts @date to a string in the format described by @format.</doc> 18133 + <source-position filename="libsoup/soup-date-utils.h" line="32"/> 18134 + <return-value transfer-ownership="full"> 18135 + <doc xml:space="preserve" 18136 + filename="libsoup/soup-date-utils.c" 18137 + line="82">@date as a string or %NULL</doc> 18138 + <type name="utf8" c:type="char*"/> 18139 + </return-value> 18140 + <parameters> 18141 + <parameter name="date" transfer-ownership="none"> 18142 + <doc xml:space="preserve" 18143 + filename="libsoup/soup-date-utils.c" 18144 + line="77">a #GDateTime</doc> 18145 + <type name="GLib.DateTime" c:type="GDateTime*"/> 18146 + </parameter> 18147 + <parameter name="format" transfer-ownership="none"> 18148 + <doc xml:space="preserve" 18149 + filename="libsoup/soup-date-utils.c" 18150 + line="78">the format to generate the date in</doc> 18151 + <type name="DateFormat" c:type="SoupDateFormat"/> 18152 + </parameter> 18153 + </parameters> 18154 + </function> 18155 + <function name="form_decode" c:identifier="soup_form_decode"> 18156 + <doc xml:space="preserve" 18157 + filename="libsoup/soup-form.c" 18158 + line="58">Decodes @form. 18159 + 18160 + which is an urlencoded dataset as defined in the HTML 4.01 spec.</doc> 18161 + <source-position filename="libsoup/soup-form.h" line="18"/> 18162 + <return-value transfer-ownership="container"> 18163 + <doc xml:space="preserve" 18164 + filename="libsoup/soup-form.c" 18165 + line="66">a hash 18166 + table containing the name/value pairs from @encoded_form, which you 18167 + can free with [func@GLib.HashTable.destroy].</doc> 18168 + <type name="GLib.HashTable" c:type="GHashTable*"> 18169 + <type name="utf8"/> 18170 + <type name="utf8"/> 18171 + </type> 18172 + </return-value> 18173 + <parameters> 18174 + <parameter name="encoded_form" transfer-ownership="none"> 18175 + <doc xml:space="preserve" 18176 + filename="libsoup/soup-form.c" 18177 + line="60">data of type "application/x-www-form-urlencoded"</doc> 18178 + <type name="utf8" c:type="const char*"/> 18179 + </parameter> 18180 + </parameters> 18181 + </function> 18182 + <function name="form_decode_multipart" 18183 + c:identifier="soup_form_decode_multipart"> 18184 + <doc xml:space="preserve" 18185 + filename="libsoup/soup-form.c" 18186 + line="100">Decodes the "multipart/form-data" request in @multipart. 18187 + 18188 + this is a convenience method for the case when you have a single file upload 18189 + control in a form. (Or when you don't have any file upload controls, but are 18190 + still using "multipart/form-data" anyway.) Pass the name of the file upload 18191 + control in @file_control_name, and [func@form_decode_multipart] will extract 18192 + the uploaded file data into @filename, @content_type, and @file. All of the 18193 + other form control data will be returned (as strings, as with 18194 + [func@form_decode] in the returned [struct@GLib.HashTable]. 18195 + 18196 + You may pass %NULL for @filename, @content_type and/or @file if you do not 18197 + care about those fields. [func@form_decode_multipart] may also 18198 + return %NULL in those fields if the client did not provide that 18199 + information. You must free the returned filename and content-type 18200 + with [func@GLib.free], and the returned file data with [method@Glib.Bytes.unref]. 18201 + 18202 + If you have a form with more than one file upload control, you will 18203 + need to decode it manually, using [ctor@Multipart.new_from_message] 18204 + and [method@Multipart.get_part].</doc> 18205 + <source-position filename="libsoup/soup-form.h" line="20"/> 18206 + <return-value transfer-ownership="container" nullable="1"> 18207 + <doc xml:space="preserve" 18208 + filename="libsoup/soup-form.c" 18209 + line="128"> 18210 + a hash table containing the name/value pairs (other than 18211 + @file_control_name) from @msg, which you can free with 18212 + [func@GLib.HashTable.destroy]. On error, it will return %NULL.</doc> 18213 + <type name="GLib.HashTable" c:type="GHashTable*"> 18214 + <type name="utf8"/> 18215 + <type name="utf8"/> 18216 + </type> 18217 + </return-value> 18218 + <parameters> 18219 + <parameter name="multipart" transfer-ownership="none"> 18220 + <doc xml:space="preserve" 18221 + filename="libsoup/soup-form.c" 18222 + line="102">a #SoupMultipart</doc> 18223 + <type name="Multipart" c:type="SoupMultipart*"/> 18224 + </parameter> 18225 + <parameter name="file_control_name" 18226 + transfer-ownership="none" 18227 + nullable="1" 18228 + allow-none="1"> 18229 + <doc xml:space="preserve" 18230 + filename="libsoup/soup-form.c" 18231 + line="103">the name of the HTML file upload control</doc> 18232 + <type name="utf8" c:type="const char*"/> 18233 + </parameter> 18234 + <parameter name="filename" 18235 + direction="out" 18236 + caller-allocates="0" 18237 + transfer-ownership="full" 18238 + optional="1" 18239 + allow-none="1"> 18240 + <doc xml:space="preserve" 18241 + filename="libsoup/soup-form.c" 18242 + line="104">return location for the name of the uploaded file</doc> 18243 + <type name="utf8" c:type="char**"/> 18244 + </parameter> 18245 + <parameter name="content_type" 18246 + direction="out" 18247 + caller-allocates="0" 18248 + transfer-ownership="full" 18249 + optional="1" 18250 + allow-none="1"> 18251 + <doc xml:space="preserve" 18252 + filename="libsoup/soup-form.c" 18253 + line="105">return location for the MIME type of the uploaded file</doc> 18254 + <type name="utf8" c:type="char**"/> 18255 + </parameter> 18256 + <parameter name="file" 18257 + direction="out" 18258 + caller-allocates="0" 18259 + transfer-ownership="full" 18260 + optional="1" 18261 + allow-none="1"> 18262 + <doc xml:space="preserve" 18263 + filename="libsoup/soup-form.c" 18264 + line="106">return location for the uploaded file data</doc> 18265 + <type name="GLib.Bytes" c:type="GBytes**"/> 18266 + </parameter> 18267 + </parameters> 18268 + </function> 18269 + <function name="form_encode" 18270 + c:identifier="soup_form_encode" 18271 + introspectable="0"> 18272 + <doc xml:space="preserve" 18273 + filename="libsoup/soup-form.c" 18274 + line="222">Encodes the given field names and values into a value of type 18275 + "application/x-www-form-urlencoded". 18276 + 18277 + Encodes as defined in the HTML 4.01 spec. 18278 + 18279 + This method requires you to know the names of the form fields (or 18280 + at the very least, the total number of fields) at compile time; for 18281 + working with dynamic forms, use [func@form_encode_hash] or 18282 + [func@form_encode_datalist]. 18283 + 18284 + See also: [ctor@Message.new_from_encoded_form].</doc> 18285 + <source-position filename="libsoup/soup-form.h" line="27"/> 18286 + <return-value transfer-ownership="full"> 18287 + <doc xml:space="preserve" 18288 + filename="libsoup/soup-form.c" 18289 + line="240">the encoded form</doc> 18290 + <type name="utf8" c:type="char*"/> 18291 + </return-value> 18292 + <parameters> 18293 + <parameter name="first_field" transfer-ownership="none"> 18294 + <doc xml:space="preserve" 18295 + filename="libsoup/soup-form.c" 18296 + line="224">name of the first form field</doc> 18297 + <type name="utf8" c:type="const char*"/> 18298 + </parameter> 18299 + <parameter name="..." transfer-ownership="none"> 18300 + <doc xml:space="preserve" 18301 + filename="libsoup/soup-form.c" 18302 + line="225">value of @first_field, followed by additional field names 18303 + and values, terminated by %NULL.</doc> 18304 + <varargs/> 18305 + </parameter> 18306 + </parameters> 18307 + </function> 18308 + <function name="form_encode_datalist" 18309 + c:identifier="soup_form_encode_datalist"> 18310 + <doc xml:space="preserve" 18311 + filename="libsoup/soup-form.c" 18312 + line="293">Encodes @form_data_set into a value of type 18313 + "application/x-www-form-urlencoded". 18314 + 18315 + Encodes as defined in the HTML 4.01 spec. Unlike [func@form_encode_hash], 18316 + this preserves the ordering of the form elements, which may be required in 18317 + some situations. 18318 + 18319 + See also: [ctor@Message.new_from_encoded_form].</doc> 18320 + <source-position filename="libsoup/soup-form.h" line="32"/> 18321 + <return-value transfer-ownership="full"> 18322 + <doc xml:space="preserve" 18323 + filename="libsoup/soup-form.c" 18324 + line="306">the encoded form</doc> 18325 + <type name="utf8" c:type="char*"/> 18326 + </return-value> 18327 + <parameters> 18328 + <parameter name="form_data_set" transfer-ownership="none"> 18329 + <doc xml:space="preserve" 18330 + filename="libsoup/soup-form.c" 18331 + line="295">a datalist containing name/value pairs</doc> 18332 + <type name="GLib.Data" c:type="GData**"/> 18333 + </parameter> 18334 + </parameters> 18335 + </function> 18336 + <function name="form_encode_hash" c:identifier="soup_form_encode_hash"> 18337 + <doc xml:space="preserve" 18338 + filename="libsoup/soup-form.c" 18339 + line="255">Encodes @form_data_set into a value of type 18340 + "application/x-www-form-urlencoded". 18341 + 18342 + Encodes as defined in the HTML 4.01 spec. 18343 + 18344 + Note that the HTML spec states that "The control names/values are 18345 + listed in the order they appear in the document." Since this method 18346 + takes a hash table, it cannot enforce that; if you care about the 18347 + ordering of the form fields, use [func@form_encode_datalist]. 18348 + 18349 + See also: [ctor@Message.new_from_encoded_form].</doc> 18350 + <source-position filename="libsoup/soup-form.h" line="30"/> 18351 + <return-value transfer-ownership="full"> 18352 + <doc xml:space="preserve" 18353 + filename="libsoup/soup-form.c" 18354 + line="272">the encoded form</doc> 18355 + <type name="utf8" c:type="char*"/> 18356 + </return-value> 18357 + <parameters> 18358 + <parameter name="form_data_set" transfer-ownership="none"> 18359 + <doc xml:space="preserve" 18360 + filename="libsoup/soup-form.c" 18361 + line="257">a hash table containing 18362 + name/value pairs (as strings)</doc> 18363 + <type name="GLib.HashTable" c:type="GHashTable*"> 18364 + <type name="utf8"/> 18365 + <type name="utf8"/> 18366 + </type> 18367 + </parameter> 18368 + </parameters> 18369 + </function> 18370 + <function name="form_encode_valist" 18371 + c:identifier="soup_form_encode_valist" 18372 + introspectable="0"> 18373 + <doc xml:space="preserve" 18374 + filename="libsoup/soup-form.c" 18375 + line="317">See [func@form_encode]. 18376 + 18377 + This is mostly an internal method, used by various other methods such as 18378 + [func@form_encode]. 18379 + 18380 + See also: [ctor@Message.new_from_encoded_form].</doc> 18381 + <source-position filename="libsoup/soup-form.h" line="34"/> 18382 + <return-value transfer-ownership="full"> 18383 + <doc xml:space="preserve" 18384 + filename="libsoup/soup-form.c" 18385 + line="329">the encoded form</doc> 18386 + <type name="utf8" c:type="char*"/> 18387 + </return-value> 18388 + <parameters> 18389 + <parameter name="first_field" transfer-ownership="none"> 18390 + <doc xml:space="preserve" 18391 + filename="libsoup/soup-form.c" 18392 + line="319">name of the first form field</doc> 18393 + <type name="utf8" c:type="const char*"/> 18394 + </parameter> 18395 + <parameter name="args" transfer-ownership="none"> 18396 + <doc xml:space="preserve" 18397 + filename="libsoup/soup-form.c" 18398 + line="320">pointer to additional values, as in [func@form_encode]</doc> 18399 + <type name="va_list" c:type="va_list"/> 18400 + </parameter> 18401 + </parameters> 18402 + </function> 18403 + <function name="get_major_version" c:identifier="soup_get_major_version"> 18404 + <doc xml:space="preserve" 18405 + filename="libsoup/soup-version.c" 18406 + line="53">Returns the major version number of the libsoup library. 18407 + 18408 + e.g. in libsoup version 2.42.0 this is 2. 18409 + 18410 + This function is in the library, so it represents the libsoup library 18411 + your code is running against. Contrast with the #SOUP_MAJOR_VERSION 18412 + macro, which represents the major version of the libsoup headers you 18413 + have included when compiling your code.</doc> 18414 + <source-position filename="libsoup/soup-version.h" line="253"/> 18415 + <return-value transfer-ownership="none"> 18416 + <doc xml:space="preserve" 18417 + filename="libsoup/soup-version.c" 18418 + line="65">the major version number of the libsoup library</doc> 18419 + <type name="guint" c:type="guint"/> 18420 + </return-value> 18421 + </function> 18422 + <function name="get_micro_version" c:identifier="soup_get_micro_version"> 18423 + <doc xml:space="preserve" 18424 + filename="libsoup/soup-version.c" 18425 + line="93">Returns the micro version number of the libsoup library. 18426 + 18427 + e.g. in libsoup version 2.42.0 this is 0. 18428 + 18429 + This function is in the library, so it represents the libsoup library 18430 + your code is running against. Contrast with the #SOUP_MICRO_VERSION 18431 + macro, which represents the micro version of the libsoup headers you 18432 + have included when compiling your code.</doc> 18433 + <source-position filename="libsoup/soup-version.h" line="259"/> 18434 + <return-value transfer-ownership="none"> 18435 + <doc xml:space="preserve" 18436 + filename="libsoup/soup-version.c" 18437 + line="105">the micro version number of the libsoup library</doc> 18438 + <type name="guint" c:type="guint"/> 18439 + </return-value> 18440 + </function> 18441 + <function name="get_minor_version" c:identifier="soup_get_minor_version"> 18442 + <doc xml:space="preserve" 18443 + filename="libsoup/soup-version.c" 18444 + line="73">Returns the minor version number of the libsoup library. 18445 + 18446 + e.g. in libsoup version 2.42.0 this is 42. 18447 + 18448 + This function is in the library, so it represents the libsoup library 18449 + your code is running against. Contrast with the #SOUP_MINOR_VERSION 18450 + macro, which represents the minor version of the libsoup headers you 18451 + have included when compiling your code.</doc> 18452 + <source-position filename="libsoup/soup-version.h" line="256"/> 18453 + <return-value transfer-ownership="none"> 18454 + <doc xml:space="preserve" 18455 + filename="libsoup/soup-version.c" 18456 + line="85">the minor version number of the libsoup library</doc> 18457 + <type name="guint" c:type="guint"/> 18458 + </return-value> 18459 + </function> 18460 + <function name="header_contains" c:identifier="soup_header_contains"> 18461 + <doc xml:space="preserve" 18462 + filename="libsoup/soup-headers.c" 18463 + line="611">Parses @header to see if it contains the token @token (matched 18464 + case-insensitively). 18465 + 18466 + Note that this can't be used with lists that have qvalues.</doc> 18467 + <source-position filename="libsoup/soup-headers.h" line="53"/> 18468 + <return-value transfer-ownership="none"> 18469 + <doc xml:space="preserve" 18470 + filename="libsoup/soup-headers.c" 18471 + line="622">whether or not @header contains @token</doc> 18472 + <type name="gboolean" c:type="gboolean"/> 18473 + </return-value> 18474 + <parameters> 18475 + <parameter name="header" transfer-ownership="none"> 18476 + <doc xml:space="preserve" 18477 + filename="libsoup/soup-headers.c" 18478 + line="613">An HTTP header suitable for parsing with 18479 + [func@header_parse_list]</doc> 18480 + <type name="utf8" c:type="const char*"/> 18481 + </parameter> 18482 + <parameter name="token" transfer-ownership="none"> 18483 + <doc xml:space="preserve" 18484 + filename="libsoup/soup-headers.c" 18485 + line="615">a token</doc> 18486 + <type name="utf8" c:type="const char*"/> 18487 + </parameter> 18488 + </parameters> 18489 + </function> 18490 + <function name="header_free_list" 18491 + c:identifier="soup_header_free_list" 18492 + introspectable="0"> 18493 + <doc xml:space="preserve" 18494 + filename="libsoup/soup-headers.c" 18495 + line="598">Frees @list.</doc> 18496 + <source-position filename="libsoup/soup-headers.h" line="50"/> 18497 + <return-value transfer-ownership="none"> 18498 + <type name="none" c:type="void"/> 18499 + </return-value> 18500 + <parameters> 18501 + <parameter name="list" transfer-ownership="none"> 18502 + <doc xml:space="preserve" 18503 + filename="libsoup/soup-headers.c" 18504 + line="600">a #GSList returned from [func@header_parse_list] or 18505 + [func@header_parse_quality_list]</doc> 18506 + <type name="GLib.SList" c:type="GSList*"> 18507 + <type name="gpointer" c:type="gpointer"/> 18508 + </type> 18509 + </parameter> 18510 + </parameters> 18511 + </function> 18512 + <function name="header_free_param_list" 18513 + c:identifier="soup_header_free_param_list"> 18514 + <doc xml:space="preserve" 18515 + filename="libsoup/soup-headers.c" 18516 + line="875">Frees @param_list.</doc> 18517 + <source-position filename="libsoup/soup-headers.h" line="65"/> 18518 + <return-value transfer-ownership="none"> 18519 + <type name="none" c:type="void"/> 18520 + </return-value> 18521 + <parameters> 18522 + <parameter name="param_list" transfer-ownership="none"> 18523 + <doc xml:space="preserve" 18524 + filename="libsoup/soup-headers.c" 18525 + line="877">a #GHashTable returned from 18526 + [func@header_parse_param_list] or [func@header_parse_semi_param_list]</doc> 18527 + <type name="GLib.HashTable" c:type="GHashTable*"> 18528 + <type name="utf8"/> 18529 + <type name="utf8"/> 18530 + </type> 18531 + </parameter> 18532 + </parameters> 18533 + </function> 18534 + <function name="header_g_string_append_param" 18535 + c:identifier="soup_header_g_string_append_param"> 18536 + <doc xml:space="preserve" 18537 + filename="libsoup/soup-headers.c" 18538 + line="979">Appends something like `name=value` to @string, taking care to quote @value 18539 + if needed, and if so, to escape any quotes or backslashes in @value. 18540 + 18541 + Alternatively, if @value is a non-ASCII UTF-8 string, it will be 18542 + appended using RFC5987 syntax. Although in theory this is supposed 18543 + to work anywhere in HTTP that uses this style of parameter, in 18544 + reality, it can only be used portably with the Content-Disposition 18545 + "filename" parameter. 18546 + 18547 + If @value is %NULL, this will just append @name to @string.</doc> 18548 + <source-position filename="libsoup/soup-headers.h" line="68"/> 18549 + <return-value transfer-ownership="none"> 18550 + <type name="none" c:type="void"/> 18551 + </return-value> 18552 + <parameters> 18553 + <parameter name="string" transfer-ownership="none"> 18554 + <doc xml:space="preserve" 18555 + filename="libsoup/soup-headers.c" 18556 + line="981">a #GString being used to construct an HTTP header value</doc> 18557 + <type name="GLib.String" c:type="GString*"/> 18558 + </parameter> 18559 + <parameter name="name" transfer-ownership="none"> 18560 + <doc xml:space="preserve" 18561 + filename="libsoup/soup-headers.c" 18562 + line="982">a parameter name</doc> 18563 + <type name="utf8" c:type="const char*"/> 18564 + </parameter> 18565 + <parameter name="value" 18566 + transfer-ownership="none" 18567 + nullable="1" 18568 + allow-none="1"> 18569 + <doc xml:space="preserve" 18570 + filename="libsoup/soup-headers.c" 18571 + line="983">a parameter value, or %NULL</doc> 18572 + <type name="utf8" c:type="const char*"/> 18573 + </parameter> 18574 + </parameters> 18575 + </function> 18576 + <function name="header_g_string_append_param_quoted" 18577 + c:identifier="soup_header_g_string_append_param_quoted"> 18578 + <doc xml:space="preserve" 18579 + filename="libsoup/soup-headers.c" 18580 + line="955">Appends something like `name="value"` to 18581 + @string, taking care to escape any quotes or backslashes in @value. 18582 + 18583 + If @value is (non-ASCII) UTF-8, this will instead use RFC 5987 18584 + encoding, just like [func@header_g_string_append_param].</doc> 18585 + <source-position filename="libsoup/soup-headers.h" line="72"/> 18586 + <return-value transfer-ownership="none"> 18587 + <type name="none" c:type="void"/> 18588 + </return-value> 18589 + <parameters> 18590 + <parameter name="string" transfer-ownership="none"> 18591 + <doc xml:space="preserve" 18592 + filename="libsoup/soup-headers.c" 18593 + line="957">a #GString being used to construct an HTTP header value</doc> 18594 + <type name="GLib.String" c:type="GString*"/> 18595 + </parameter> 18596 + <parameter name="name" transfer-ownership="none"> 18597 + <doc xml:space="preserve" 18598 + filename="libsoup/soup-headers.c" 18599 + line="958">a parameter name</doc> 18600 + <type name="utf8" c:type="const char*"/> 18601 + </parameter> 18602 + <parameter name="value" transfer-ownership="none"> 18603 + <doc xml:space="preserve" 18604 + filename="libsoup/soup-headers.c" 18605 + line="959">a parameter value</doc> 18606 + <type name="utf8" c:type="const char*"/> 18607 + </parameter> 18608 + </parameters> 18609 + </function> 18610 + <function name="header_parse_list" c:identifier="soup_header_parse_list"> 18611 + <doc xml:space="preserve" 18612 + filename="libsoup/soup-headers.c" 18613 + line="472">Parses a header whose content is described by RFC2616 as `#something`. 18614 + 18615 + "something" does not itself contain commas, except as part of quoted-strings.</doc> 18616 + <source-position filename="libsoup/soup-headers.h" line="45"/> 18617 + <return-value transfer-ownership="full"> 18618 + <doc xml:space="preserve" 18619 + filename="libsoup/soup-headers.c" 18620 + line="480">a #GSList of 18621 + list elements, as allocated strings</doc> 18622 + <type name="GLib.SList" c:type="GSList*"> 18623 + <type name="utf8"/> 18624 + </type> 18625 + </return-value> 18626 + <parameters> 18627 + <parameter name="header" transfer-ownership="none"> 18628 + <doc xml:space="preserve" 18629 + filename="libsoup/soup-headers.c" 18630 + line="474">a header value</doc> 18631 + <type name="utf8" c:type="const char*"/> 18632 + </parameter> 18633 + </parameters> 18634 + </function> 18635 + <function name="header_parse_param_list" 18636 + c:identifier="soup_header_parse_param_list"> 18637 + <doc xml:space="preserve" 18638 + filename="libsoup/soup-headers.c" 18639 + line="771">Parses a header which is a comma-delimited list of something like: 18640 + `token [ "=" ( token | quoted-string ) ]`. 18641 + 18642 + Tokens that don't have an associated value will still be added to 18643 + the resulting hash table, but with a %NULL value. 18644 + 18645 + This also handles RFC5987 encoding (which in HTTP is mostly used 18646 + for giving UTF8-encoded filenames in the Content-Disposition 18647 + header).</doc> 18648 + <source-position filename="libsoup/soup-headers.h" line="57"/> 18649 + <return-value transfer-ownership="full"> 18650 + <doc xml:space="preserve" 18651 + filename="libsoup/soup-headers.c" 18652 + line="785">a 18653 + #GHashTable of list elements, which can be freed with 18654 + [func@header_free_param_list].</doc> 18655 + <type name="GLib.HashTable" c:type="GHashTable*"> 18656 + <type name="utf8"/> 18657 + <type name="utf8"/> 18658 + </type> 18659 + </return-value> 18660 + <parameters> 18661 + <parameter name="header" transfer-ownership="none"> 18662 + <doc xml:space="preserve" 18663 + filename="libsoup/soup-headers.c" 18664 + line="773">a header value</doc> 18665 + <type name="utf8" c:type="const char*"/> 18666 + </parameter> 18667 + </parameters> 18668 + </function> 18669 + <function name="header_parse_param_list_strict" 18670 + c:identifier="soup_header_parse_param_list_strict"> 18671 + <doc xml:space="preserve" 18672 + filename="libsoup/soup-headers.c" 18673 + line="823">A strict version of [func@header_parse_param_list] 18674 + that bails out if there are duplicate parameters. 18675 + 18676 + Note that this function will treat RFC5987-encoded 18677 + parameters as duplicated if an ASCII version is also 18678 + present. For header fields that might contain 18679 + RFC5987-encoded parameters, use 18680 + [func@header_parse_param_list] instead.</doc> 18681 + <source-position filename="libsoup/soup-headers.h" line="61"/> 18682 + <return-value transfer-ownership="full" nullable="1"> 18683 + <doc xml:space="preserve" 18684 + filename="libsoup/soup-headers.c" 18685 + line="836"> 18686 + a #GHashTable of list elements, which can be freed with 18687 + [func@header_free_param_list] or %NULL if there are duplicate 18688 + elements.</doc> 18689 + <type name="GLib.HashTable" c:type="GHashTable*"> 18690 + <type name="utf8"/> 18691 + <type name="utf8"/> 18692 + </type> 18693 + </return-value> 18694 + <parameters> 18695 + <parameter name="header" transfer-ownership="none"> 18696 + <doc xml:space="preserve" 18697 + filename="libsoup/soup-headers.c" 18698 + line="825">a header value</doc> 18699 + <type name="utf8" c:type="const char*"/> 18700 + </parameter> 18701 + </parameters> 18702 + </function> 18703 + <function name="header_parse_quality_list" 18704 + c:identifier="soup_header_parse_quality_list"> 18705 + <doc xml:space="preserve" 18706 + filename="libsoup/soup-headers.c" 18707 + line="510">Parses a header whose content is a list of items with optional 18708 + "qvalue"s (eg, Accept, Accept-Charset, Accept-Encoding, 18709 + Accept-Language, TE). 18710 + 18711 + If @unacceptable is not %NULL, then on return, it will contain the 18712 + items with qvalue 0. Either way, those items will be removed from 18713 + the main list.</doc> 18714 + <source-position filename="libsoup/soup-headers.h" line="47"/> 18715 + <return-value transfer-ownership="full"> 18716 + <doc xml:space="preserve" 18717 + filename="libsoup/soup-headers.c" 18718 + line="524">a #GSList of 18719 + acceptable values (as allocated strings), highest-qvalue first.</doc> 18720 + <type name="GLib.SList" c:type="GSList*"> 18721 + <type name="utf8"/> 18722 + </type> 18723 + </return-value> 18724 + <parameters> 18725 + <parameter name="header" transfer-ownership="none"> 18726 + <doc xml:space="preserve" 18727 + filename="libsoup/soup-headers.c" 18728 + line="512">a header value</doc> 18729 + <type name="utf8" c:type="const char*"/> 18730 + </parameter> 18731 + <parameter name="unacceptable" 18732 + direction="out" 18733 + caller-allocates="0" 18734 + transfer-ownership="full" 18735 + optional="1" 18736 + allow-none="1"> 18737 + <doc xml:space="preserve" 18738 + filename="libsoup/soup-headers.c" 18739 + line="513">on 18740 + return, will contain a list of unacceptable values</doc> 18741 + <type name="GLib.SList" c:type="GSList**"> 18742 + <type name="utf8"/> 18743 + </type> 18744 + </parameter> 18745 + </parameters> 18746 + </function> 18747 + <function name="header_parse_semi_param_list" 18748 + c:identifier="soup_header_parse_semi_param_list"> 18749 + <doc xml:space="preserve" 18750 + filename="libsoup/soup-headers.c" 18751 + line="797">Parses a header which is a semicolon-delimited list of something 18752 + like: `token [ "=" ( token | quoted-string ) ]`. 18753 + 18754 + Tokens that don't have an associated value will still be added to 18755 + the resulting hash table, but with a %NULL value. 18756 + 18757 + This also handles RFC5987 encoding (which in HTTP is mostly used 18758 + for giving UTF8-encoded filenames in the Content-Disposition 18759 + header).</doc> 18760 + <source-position filename="libsoup/soup-headers.h" line="59"/> 18761 + <return-value transfer-ownership="full"> 18762 + <doc xml:space="preserve" 18763 + filename="libsoup/soup-headers.c" 18764 + line="811">a 18765 + #GHashTable of list elements, which can be freed with 18766 + [func@header_free_param_list].</doc> 18767 + <type name="GLib.HashTable" c:type="GHashTable*"> 18768 + <type name="utf8"/> 18769 + <type name="utf8"/> 18770 + </type> 18771 + </return-value> 18772 + <parameters> 18773 + <parameter name="header" transfer-ownership="none"> 18774 + <doc xml:space="preserve" 18775 + filename="libsoup/soup-headers.c" 18776 + line="799">a header value</doc> 18777 + <type name="utf8" c:type="const char*"/> 18778 + </parameter> 18779 + </parameters> 18780 + </function> 18781 + <function name="header_parse_semi_param_list_strict" 18782 + c:identifier="soup_header_parse_semi_param_list_strict"> 18783 + <doc xml:space="preserve" 18784 + filename="libsoup/soup-headers.c" 18785 + line="849">A strict version of [func@header_parse_semi_param_list] 18786 + that bails out if there are duplicate parameters. 18787 + 18788 + Note that this function will treat RFC5987-encoded 18789 + parameters as duplicated if an ASCII version is also 18790 + present. For header fields that might contain 18791 + RFC5987-encoded parameters, use 18792 + [func@header_parse_semi_param_list] instead.</doc> 18793 + <source-position filename="libsoup/soup-headers.h" line="63"/> 18794 + <return-value transfer-ownership="full" nullable="1"> 18795 + <doc xml:space="preserve" 18796 + filename="libsoup/soup-headers.c" 18797 + line="862"> 18798 + a #GHashTable of list elements, which can be freed with 18799 + [func@header_free_param_list] or %NULL if there are duplicate 18800 + elements.</doc> 18801 + <type name="GLib.HashTable" c:type="GHashTable*"> 18802 + <type name="utf8"/> 18803 + <type name="utf8"/> 18804 + </type> 18805 + </return-value> 18806 + <parameters> 18807 + <parameter name="header" transfer-ownership="none"> 18808 + <doc xml:space="preserve" 18809 + filename="libsoup/soup-headers.c" 18810 + line="851">a header value</doc> 18811 + <type name="utf8" c:type="const char*"/> 18812 + </parameter> 18813 + </parameters> 18814 + </function> 18815 + <function name="headers_parse" c:identifier="soup_headers_parse"> 18816 + <doc xml:space="preserve" 18817 + filename="libsoup/soup-headers.c" 18818 + line="20">Parses the headers of an HTTP request or response in @str and 18819 + stores the results in @dest. 18820 + 18821 + Beware that @dest may be modified even on failure. 18822 + 18823 + This is a low-level method; normally you would use 18824 + [func@headers_parse_request] or [func@headers_parse_response].</doc> 18825 + <source-position filename="libsoup/soup-headers.h" line="17"/> 18826 + <return-value transfer-ownership="none"> 18827 + <doc xml:space="preserve" 18828 + filename="libsoup/soup-headers.c" 18829 + line="35">success or failure</doc> 18830 + <type name="gboolean" c:type="gboolean"/> 18831 + </return-value> 18832 + <parameters> 18833 + <parameter name="str" transfer-ownership="none"> 18834 + <doc xml:space="preserve" 18835 + filename="libsoup/soup-headers.c" 18836 + line="22">the header string (including the Request-Line or Status-Line, 18837 + but not the trailing blank line)</doc> 18838 + <type name="utf8" c:type="const char*"/> 18839 + </parameter> 18840 + <parameter name="len" transfer-ownership="none"> 18841 + <doc xml:space="preserve" 18842 + filename="libsoup/soup-headers.c" 18843 + line="24">length of @str</doc> 18844 + <type name="gint" c:type="int"/> 18845 + </parameter> 18846 + <parameter name="dest" transfer-ownership="none"> 18847 + <doc xml:space="preserve" 18848 + filename="libsoup/soup-headers.c" 18849 + line="25">#SoupMessageHeaders to store the header values in</doc> 18850 + <type name="MessageHeaders" c:type="SoupMessageHeaders*"/> 18851 + </parameter> 18852 + </parameters> 18853 + </function> 18854 + <function name="headers_parse_request" 18855 + c:identifier="soup_headers_parse_request"> 18856 + <doc xml:space="preserve" 18857 + filename="libsoup/soup-headers.c" 18858 + line="151">Parses the headers of an HTTP request in @str and stores the 18859 + results in @req_method, @req_path, @ver, and @req_headers. 18860 + 18861 + Beware that @req_headers may be modified even on failure.</doc> 18862 + <source-position filename="libsoup/soup-headers.h" line="22"/> 18863 + <return-value transfer-ownership="none"> 18864 + <doc xml:space="preserve" 18865 + filename="libsoup/soup-headers.c" 18866 + line="168">%SOUP_STATUS_OK if the headers could be parsed, or an 18867 + HTTP error to be returned to the client if they could not be.</doc> 18868 + <type name="guint" c:type="guint"/> 18869 + </return-value> 18870 + <parameters> 18871 + <parameter name="str" transfer-ownership="none"> 18872 + <doc xml:space="preserve" 18873 + filename="libsoup/soup-headers.c" 18874 + line="153">the headers (up to, but not including, the trailing blank line)</doc> 18875 + <type name="utf8" c:type="const char*"/> 18876 + </parameter> 18877 + <parameter name="len" transfer-ownership="none"> 18878 + <doc xml:space="preserve" 18879 + filename="libsoup/soup-headers.c" 18880 + line="154">length of @str</doc> 18881 + <type name="gint" c:type="int"/> 18882 + </parameter> 18883 + <parameter name="req_headers" transfer-ownership="none"> 18884 + <doc xml:space="preserve" 18885 + filename="libsoup/soup-headers.c" 18886 + line="155">#SoupMessageHeaders to store the header values in</doc> 18887 + <type name="MessageHeaders" c:type="SoupMessageHeaders*"/> 18888 + </parameter> 18889 + <parameter name="req_method" 18890 + direction="out" 18891 + caller-allocates="0" 18892 + transfer-ownership="full" 18893 + optional="1" 18894 + allow-none="1"> 18895 + <doc xml:space="preserve" 18896 + filename="libsoup/soup-headers.c" 18897 + line="156">if non-%NULL, will be filled in with the 18898 + request method</doc> 18899 + <type name="utf8" c:type="char**"/> 18900 + </parameter> 18901 + <parameter name="req_path" 18902 + direction="out" 18903 + caller-allocates="0" 18904 + transfer-ownership="full" 18905 + optional="1" 18906 + allow-none="1"> 18907 + <doc xml:space="preserve" 18908 + filename="libsoup/soup-headers.c" 18909 + line="158">if non-%NULL, will be filled in with the 18910 + request path</doc> 18911 + <type name="utf8" c:type="char**"/> 18912 + </parameter> 18913 + <parameter name="ver" 18914 + direction="out" 18915 + caller-allocates="0" 18916 + transfer-ownership="full" 18917 + optional="1" 18918 + allow-none="1"> 18919 + <doc xml:space="preserve" 18920 + filename="libsoup/soup-headers.c" 18921 + line="160">if non-%NULL, will be filled in with the HTTP 18922 + version</doc> 18923 + <type name="HTTPVersion" c:type="SoupHTTPVersion*"/> 18924 + </parameter> 18925 + </parameters> 18926 + </function> 18927 + <function name="headers_parse_response" 18928 + c:identifier="soup_headers_parse_response"> 18929 + <doc xml:space="preserve" 18930 + filename="libsoup/soup-headers.c" 18931 + line="339">Parses the headers of an HTTP response in @str and stores the 18932 + results in @ver, @status_code, @reason_phrase, and @headers. 18933 + 18934 + Beware that @headers may be modified even on failure.</doc> 18935 + <source-position filename="libsoup/soup-headers.h" line="36"/> 18936 + <return-value transfer-ownership="none"> 18937 + <doc xml:space="preserve" 18938 + filename="libsoup/soup-headers.c" 18939 + line="356">success or failure.</doc> 18940 + <type name="gboolean" c:type="gboolean"/> 18941 + </return-value> 18942 + <parameters> 18943 + <parameter name="str" transfer-ownership="none"> 18944 + <doc xml:space="preserve" 18945 + filename="libsoup/soup-headers.c" 18946 + line="341">the headers (up to, but not including, the trailing blank line)</doc> 18947 + <type name="utf8" c:type="const char*"/> 18948 + </parameter> 18949 + <parameter name="len" transfer-ownership="none"> 18950 + <doc xml:space="preserve" 18951 + filename="libsoup/soup-headers.c" 18952 + line="342">length of @str</doc> 18953 + <type name="gint" c:type="int"/> 18954 + </parameter> 18955 + <parameter name="headers" transfer-ownership="none"> 18956 + <doc xml:space="preserve" 18957 + filename="libsoup/soup-headers.c" 18958 + line="343">#SoupMessageHeaders to store the header values in</doc> 18959 + <type name="MessageHeaders" c:type="SoupMessageHeaders*"/> 18960 + </parameter> 18961 + <parameter name="ver" 18962 + direction="out" 18963 + caller-allocates="0" 18964 + transfer-ownership="full" 18965 + optional="1" 18966 + allow-none="1"> 18967 + <doc xml:space="preserve" 18968 + filename="libsoup/soup-headers.c" 18969 + line="344">if non-%NULL, will be filled in with the HTTP 18970 + version</doc> 18971 + <type name="HTTPVersion" c:type="SoupHTTPVersion*"/> 18972 + </parameter> 18973 + <parameter name="status_code" 18974 + direction="out" 18975 + caller-allocates="0" 18976 + transfer-ownership="full" 18977 + optional="1" 18978 + allow-none="1"> 18979 + <doc xml:space="preserve" 18980 + filename="libsoup/soup-headers.c" 18981 + line="346">if non-%NULL, will be filled in with 18982 + the status code</doc> 18983 + <type name="guint" c:type="guint*"/> 18984 + </parameter> 18985 + <parameter name="reason_phrase" 18986 + direction="out" 18987 + caller-allocates="0" 18988 + transfer-ownership="full" 18989 + optional="1" 18990 + allow-none="1"> 18991 + <doc xml:space="preserve" 18992 + filename="libsoup/soup-headers.c" 18993 + line="348">if non-%NULL, will be filled in with 18994 + the reason phrase</doc> 18995 + <type name="utf8" c:type="char**"/> 18996 + </parameter> 18997 + </parameters> 18998 + </function> 18999 + <function name="headers_parse_status_line" 19000 + c:identifier="soup_headers_parse_status_line"> 19001 + <doc xml:space="preserve" 19002 + filename="libsoup/soup-headers.c" 19003 + line="263">Parses the HTTP Status-Line string in @status_line into @ver, 19004 + @status_code, and @reason_phrase. 19005 + 19006 + @status_line must be terminated by either "\0" or "\r\n".</doc> 19007 + <source-position filename="libsoup/soup-headers.h" line="30"/> 19008 + <return-value transfer-ownership="none"> 19009 + <doc xml:space="preserve" 19010 + filename="libsoup/soup-headers.c" 19011 + line="278">%TRUE if @status_line was parsed successfully.</doc> 19012 + <type name="gboolean" c:type="gboolean"/> 19013 + </return-value> 19014 + <parameters> 19015 + <parameter name="status_line" transfer-ownership="none"> 19016 + <doc xml:space="preserve" 19017 + filename="libsoup/soup-headers.c" 19018 + line="265">an HTTP Status-Line</doc> 19019 + <type name="utf8" c:type="const char*"/> 19020 + </parameter> 19021 + <parameter name="ver" 19022 + direction="out" 19023 + caller-allocates="0" 19024 + transfer-ownership="full" 19025 + optional="1" 19026 + allow-none="1"> 19027 + <doc xml:space="preserve" 19028 + filename="libsoup/soup-headers.c" 19029 + line="266">if non-%NULL, will be filled in with the HTTP 19030 + version</doc> 19031 + <type name="HTTPVersion" c:type="SoupHTTPVersion*"/> 19032 + </parameter> 19033 + <parameter name="status_code" 19034 + direction="out" 19035 + caller-allocates="0" 19036 + transfer-ownership="full" 19037 + optional="1" 19038 + allow-none="1"> 19039 + <doc xml:space="preserve" 19040 + filename="libsoup/soup-headers.c" 19041 + line="268">if non-%NULL, will be filled in with 19042 + the status code</doc> 19043 + <type name="guint" c:type="guint*"/> 19044 + </parameter> 19045 + <parameter name="reason_phrase" 19046 + direction="out" 19047 + caller-allocates="0" 19048 + transfer-ownership="full" 19049 + optional="1" 19050 + allow-none="1"> 19051 + <doc xml:space="preserve" 19052 + filename="libsoup/soup-headers.c" 19053 + line="270">if non-%NULL, will be filled in with 19054 + the reason phrase</doc> 19055 + <type name="utf8" c:type="char**"/> 19056 + </parameter> 19057 + </parameters> 19058 + </function> 19059 + <function name="message_headers_iter_init" 19060 + c:identifier="soup_message_headers_iter_init" 19061 + moved-to="MessageHeadersIter.init"> 19062 + <doc xml:space="preserve" 19063 + filename="libsoup/soup-message-headers.c" 19064 + line="778">Initializes @iter for iterating @hdrs.</doc> 19065 + <source-position filename="libsoup/soup-message-headers.h" line="83"/> 19066 + <return-value transfer-ownership="none"> 19067 + <type name="none" c:type="void"/> 19068 + </return-value> 19069 + <parameters> 19070 + <parameter name="iter" 19071 + direction="out" 19072 + caller-allocates="1" 19073 + transfer-ownership="none"> 19074 + <doc xml:space="preserve" 19075 + filename="libsoup/soup-message-headers.c" 19076 + line="780">a pointer to a %SoupMessageHeadersIter 19077 + structure</doc> 19078 + <type name="MessageHeadersIter" c:type="SoupMessageHeadersIter*"/> 19079 + </parameter> 19080 + <parameter name="hdrs" transfer-ownership="none"> 19081 + <doc xml:space="preserve" 19082 + filename="libsoup/soup-message-headers.c" 19083 + line="782">a %SoupMessageHeaders</doc> 19084 + <type name="MessageHeaders" c:type="SoupMessageHeaders*"/> 19085 + </parameter> 19086 + </parameters> 19087 + </function> 19088 + <function name="session_error_quark" 19089 + c:identifier="soup_session_error_quark" 19090 + moved-to="SessionError.quark"> 19091 + <doc xml:space="preserve" 19092 + filename="libsoup/soup-session.h" 19093 + line="36">Registers error quark for SoupSession if needed.</doc> 19094 + <return-value transfer-ownership="none"> 19095 + <doc xml:space="preserve" 19096 + filename="libsoup/soup-session.h" 19097 + line="40">Error quark for SoupSession.</doc> 19098 + <type name="GLib.Quark" c:type="GQuark"/> 19099 + </return-value> 19100 + </function> 19101 + <docsection name="soup-method"> 19102 + <doc xml:space="preserve" 19103 + filename="libsoup/soup-method.h" 19104 + line="12">soup-method.h contains a number of defines for standard HTTP and 19105 + WebDAV headers. You do not need to use these defines; you can pass 19106 + arbitrary strings to soup_message_new() if you prefer. 19107 + 19108 + The thing that these defines &lt;emphasis&gt;are&lt;/emphasis&gt; useful for is 19109 + performing quick comparisons against soup_message_get_method(); 19110 + because #SoupMessage always contains an interned string, and these 19111 + macros return interned strings, you can compare methods directly 19112 + against these macros rather than needing to use strcmp(). This is 19113 + most useful in #SoupServer handlers. Eg: 19114 + 19115 + &lt;informalexample&gt;&lt;programlisting&gt; 19116 + if (soup_message_get_method (msg) != SOUP_METHOD_GET &amp;amp;&amp;amp; soup_message_get_method (msg) != SOUP_METHOD_HEAD) { 19117 + soup_message_set_status (msg, SOUP_METHOD_NOT_IMPLEMENTED); 19118 + return; 19119 + } 19120 + &lt;/programlisting&gt;&lt;/informalexample&gt;</doc> 19121 + </docsection> 19122 + <function name="status_get_phrase" 19123 + c:identifier="soup_status_get_phrase" 19124 + moved-to="Status.get_phrase"> 19125 + <doc xml:space="preserve" 19126 + filename="libsoup/soup-status.c" 19127 + line="213">Looks up the stock HTTP description of @status_code. 19128 + 19129 + *There is no reason for you to ever use this 19130 + function.* If you wanted the textual description for the 19131 + [property@Message:status-code] of a given [class@Message], you should just 19132 + look at the message's [property@Message:reason-phrase]. However, you 19133 + should only do that for use in debugging messages; HTTP reason 19134 + phrases are not localized, and are not generally very descriptive 19135 + anyway, and so they should never be presented to the user directly. 19136 + Instead, you should create you own error messages based on the 19137 + status code, and on what you were trying to do.</doc> 19138 + <source-position filename="libsoup/soup-status.h" line="89"/> 19139 + <return-value transfer-ownership="none"> 19140 + <doc xml:space="preserve" 19141 + filename="libsoup/soup-status.c" 19142 + line="229">the (terse, English) description of @status_code</doc> 19143 + <type name="utf8" c:type="const char*"/> 19144 + </return-value> 19145 + <parameters> 19146 + <parameter name="status_code" transfer-ownership="none"> 19147 + <doc xml:space="preserve" 19148 + filename="libsoup/soup-status.c" 19149 + line="215">an HTTP status code</doc> 19150 + <type name="guint" c:type="guint"/> 19151 + </parameter> 19152 + </parameters> 19153 + </function> 19154 + <function name="tld_domain_is_public_suffix" 19155 + c:identifier="soup_tld_domain_is_public_suffix"> 19156 + <doc xml:space="preserve" 19157 + filename="libsoup/soup-tld.c" 19158 + line="66">Looks whether the @domain passed as argument is a public domain 19159 + suffix (.org, .com, .co.uk, etc) or not. 19160 + 19161 + Prior to libsoup 2.46, this function required that @domain be in 19162 + UTF-8 if it was an IDN. From 2.46 on, the name can be in either 19163 + UTF-8 or ASCII format.</doc> 19164 + <source-position filename="libsoup/soup-tld.h" line="17"/> 19165 + <return-value transfer-ownership="none"> 19166 + <doc xml:space="preserve" 19167 + filename="libsoup/soup-tld.c" 19168 + line="77">%TRUE if it is a public domain, %FALSE otherwise.</doc> 19169 + <type name="gboolean" c:type="gboolean"/> 19170 + </return-value> 19171 + <parameters> 19172 + <parameter name="domain" transfer-ownership="none"> 19173 + <doc xml:space="preserve" 19174 + filename="libsoup/soup-tld.c" 19175 + line="68">a domain name</doc> 19176 + <type name="utf8" c:type="const char*"/> 19177 + </parameter> 19178 + </parameters> 19179 + </function> 19180 + <function name="tld_error_quark" 19181 + c:identifier="soup_tld_error_quark" 19182 + moved-to="TLDError.quark"> 19183 + <doc xml:space="preserve" 19184 + filename="libsoup/soup-tld.h" 19185 + line="20">Registers error quark for soup_tld_get_base_domain() if needed.</doc> 19186 + <return-value transfer-ownership="none"> 19187 + <doc xml:space="preserve" 19188 + filename="libsoup/soup-tld.h" 19189 + line="24">Error quark for Soup TLD functions.</doc> 19190 + <type name="GLib.Quark" c:type="GQuark"/> 19191 + </return-value> 19192 + </function> 19193 + <function name="tld_get_base_domain" 19194 + c:identifier="soup_tld_get_base_domain" 19195 + throws="1"> 19196 + <doc xml:space="preserve" 19197 + filename="libsoup/soup-tld.c" 19198 + line="23">Finds the base domain for a given @hostname 19199 + 19200 + The base domain is composed by the top level domain (such as .org, .com, 19201 + .co.uk, etc) plus the second level domain, for example for 19202 + myhost.mydomain.com it will return mydomain.com. 19203 + 19204 + Note that %NULL will be returned for private URLs (those not ending 19205 + with any well known TLD) because choosing a base domain for them 19206 + would be totally arbitrary. 19207 + 19208 + Prior to libsoup 2.46, this function required that @hostname be in 19209 + UTF-8 if it was an IDN. From 2.46 on, the name can be in either 19210 + UTF-8 or ASCII format (and the return value will be in the same 19211 + format).</doc> 19212 + <source-position filename="libsoup/soup-tld.h" line="13"/> 19213 + <return-value transfer-ownership="none"> 19214 + <doc xml:space="preserve" 19215 + filename="libsoup/soup-tld.c" 19216 + line="44">a pointer to the start of the base domain in @hostname. If 19217 + an error occurs, %NULL will be returned and @error set.</doc> 19218 + <type name="utf8" c:type="const char*"/> 19219 + </return-value> 19220 + <parameters> 19221 + <parameter name="hostname" transfer-ownership="none"> 19222 + <doc xml:space="preserve" 19223 + filename="libsoup/soup-tld.c" 19224 + line="25">a hostname</doc> 19225 + <type name="utf8" c:type="const char*"/> 19226 + </parameter> 19227 + </parameters> 19228 + </function> 19229 + <function name="uri_copy" c:identifier="soup_uri_copy" introspectable="0"> 19230 + <doc xml:space="preserve" 19231 + filename="libsoup/soup-uri-utils.c" 19232 + line="396">As of 3.4.0 this will detect the default ports of HTTP(s) and WS(S) 19233 + URIs when copying and set it to the default port of the new scheme. 19234 + So for example copying `http://localhost:80` while changing the scheme to https 19235 + will result in `https://localhost:443`. 19236 + 19237 + Return a copy of @uri with the given components updated.</doc> 19238 + <source-position filename="libsoup/soup-uri-utils.h" line="36"/> 19239 + <return-value transfer-ownership="full"> 19240 + <doc xml:space="preserve" 19241 + filename="libsoup/soup-uri-utils.c" 19242 + line="410">a new #GUri</doc> 19243 + <type name="GLib.Uri" c:type="GUri*"/> 19244 + </return-value> 19245 + <parameters> 19246 + <parameter name="uri" transfer-ownership="none"> 19247 + <doc xml:space="preserve" 19248 + filename="libsoup/soup-uri-utils.c" 19249 + line="398">the #GUri to copy</doc> 19250 + <type name="GLib.Uri" c:type="GUri*"/> 19251 + </parameter> 19252 + <parameter name="first_component" transfer-ownership="none"> 19253 + <doc xml:space="preserve" 19254 + filename="libsoup/soup-uri-utils.c" 19255 + line="399">first #SoupURIComponent to update</doc> 19256 + <type name="URIComponent" c:type="SoupURIComponent"/> 19257 + </parameter> 19258 + <parameter name="..." transfer-ownership="none"> 19259 + <doc xml:space="preserve" 19260 + filename="libsoup/soup-uri-utils.c" 19261 + line="400">value of @first_component followed by additional 19262 + components and values, terminated by %SOUP_URI_NONE</doc> 19263 + <varargs/> 19264 + </parameter> 19265 + </parameters> 19266 + </function> 19267 + <function name="uri_decode_data_uri" 19268 + c:identifier="soup_uri_decode_data_uri"> 19269 + <doc xml:space="preserve" 19270 + filename="libsoup/soup-uri-utils.c" 19271 + line="270">Decodes the given data URI and returns its contents and @content_type.</doc> 19272 + <source-position filename="libsoup/soup-uri-utils.h" line="28"/> 19273 + <return-value transfer-ownership="full"> 19274 + <doc xml:space="preserve" 19275 + filename="libsoup/soup-uri-utils.c" 19276 + line="277">a #GBytes with the contents of @uri, 19277 + or %NULL if @uri is not a valid data URI</doc> 19278 + <type name="GLib.Bytes" c:type="GBytes*"/> 19279 + </return-value> 19280 + <parameters> 19281 + <parameter name="uri" transfer-ownership="none"> 19282 + <doc xml:space="preserve" 19283 + filename="libsoup/soup-uri-utils.c" 19284 + line="272">a data URI, in string form</doc> 19285 + <type name="utf8" c:type="const char*"/> 19286 + </parameter> 19287 + <parameter name="content_type" 19288 + direction="out" 19289 + caller-allocates="0" 19290 + transfer-ownership="full" 19291 + nullable="1"> 19292 + <doc xml:space="preserve" 19293 + filename="libsoup/soup-uri-utils.c" 19294 + line="273">location to store content type</doc> 19295 + <type name="utf8" c:type="char**"/> 19296 + </parameter> 19297 + </parameters> 19298 + </function> 19299 + <function name="uri_equal" c:identifier="soup_uri_equal"> 19300 + <doc xml:space="preserve" 19301 + filename="libsoup/soup-uri-utils.c" 19302 + line="88">Tests whether or not @uri1 and @uri2 are equal in all parts.</doc> 19303 + <source-position filename="libsoup/soup-uri-utils.h" line="32"/> 19304 + <return-value transfer-ownership="none"> 19305 + <doc xml:space="preserve" 19306 + filename="libsoup/soup-uri-utils.c" 19307 + line="95">%TRUE if equal otherwise %FALSE</doc> 19308 + <type name="gboolean" c:type="gboolean"/> 19309 + </return-value> 19310 + <parameters> 19311 + <parameter name="uri1" transfer-ownership="none"> 19312 + <doc xml:space="preserve" 19313 + filename="libsoup/soup-uri-utils.c" 19314 + line="90">a #GUri</doc> 19315 + <type name="GLib.Uri" c:type="GUri*"/> 19316 + </parameter> 19317 + <parameter name="uri2" transfer-ownership="none"> 19318 + <doc xml:space="preserve" 19319 + filename="libsoup/soup-uri-utils.c" 19320 + line="91">another #GUri</doc> 19321 + <type name="GLib.Uri" c:type="GUri*"/> 19322 + </parameter> 19323 + </parameters> 19324 + </function> 19325 + <function name="websocket_client_prepare_handshake" 19326 + c:identifier="soup_websocket_client_prepare_handshake"> 19327 + <doc xml:space="preserve" 19328 + filename="libsoup/websocket/soup-websocket.c" 19329 + line="230">Adds the necessary headers to @msg to request a WebSocket 19330 + handshake including supported WebSocket extensions. 19331 + 19332 + The message body and non-WebSocket-related headers are 19333 + not modified. 19334 + 19335 + This is a low-level function; if you use 19336 + [method@Session.websocket_connect_async] to create a WebSocket connection, it 19337 + will call this for you.</doc> 19338 + <source-position filename="libsoup/websocket/soup-websocket.h" 19339 + line="77"/> 19340 + <return-value transfer-ownership="none"> 19341 + <type name="none" c:type="void"/> 19342 + </return-value> 19343 + <parameters> 19344 + <parameter name="msg" transfer-ownership="none"> 19345 + <doc xml:space="preserve" 19346 + filename="libsoup/websocket/soup-websocket.c" 19347 + line="232">a #SoupMessage</doc> 19348 + <type name="Message" c:type="SoupMessage*"/> 19349 + </parameter> 19350 + <parameter name="origin" 19351 + transfer-ownership="none" 19352 + nullable="1" 19353 + allow-none="1"> 19354 + <doc xml:space="preserve" 19355 + filename="libsoup/websocket/soup-websocket.c" 19356 + line="233">the "Origin" header to set</doc> 19357 + <type name="utf8" c:type="const char*"/> 19358 + </parameter> 19359 + <parameter name="protocols" 19360 + transfer-ownership="none" 19361 + nullable="1" 19362 + allow-none="1"> 19363 + <doc xml:space="preserve" 19364 + filename="libsoup/websocket/soup-websocket.c" 19365 + line="234">list of 19366 + protocols to offer</doc> 19367 + <array c:type="char**"> 19368 + <type name="utf8" c:type="char*"/> 19369 + </array> 19370 + </parameter> 19371 + <parameter name="supported_extensions" 19372 + transfer-ownership="none" 19373 + nullable="1" 19374 + allow-none="1"> 19375 + <doc xml:space="preserve" 19376 + filename="libsoup/websocket/soup-websocket.c" 19377 + line="236">list 19378 + of supported extension types</doc> 19379 + <array name="GLib.PtrArray" c:type="GPtrArray*"> 19380 + <type name="GObject.TypeClass"/> 19381 + </array> 19382 + </parameter> 19383 + </parameters> 19384 + </function> 19385 + <function name="websocket_client_verify_handshake" 19386 + c:identifier="soup_websocket_client_verify_handshake" 19387 + throws="1"> 19388 + <doc xml:space="preserve" 19389 + filename="libsoup/websocket/soup-websocket.c" 19390 + line="778">Looks at the response status code and headers in @msg and 19391 + determines if they contain a valid WebSocket handshake response 19392 + (given the handshake request in @msg's request headers). 19393 + 19394 + If @supported_extensions is non-%NULL, extensions included in the 19395 + response "Sec-WebSocket-Extensions" are verified too. Accepted 19396 + extensions are returned in @accepted_extensions parameter if non-%NULL. 19397 + 19398 + This is a low-level function; if you use 19399 + [method@Session.websocket_connect_async] to create a WebSocket 19400 + connection, it will call this for you.</doc> 19401 + <source-position filename="libsoup/websocket/soup-websocket.h" 19402 + line="83"/> 19403 + <return-value transfer-ownership="none"> 19404 + <doc xml:space="preserve" 19405 + filename="libsoup/websocket/soup-websocket.c" 19406 + line="800">%TRUE if @msg contains a completed valid WebSocket 19407 + handshake, %FALSE and an error if not.</doc> 19408 + <type name="gboolean" c:type="gboolean"/> 19409 + </return-value> 19410 + <parameters> 19411 + <parameter name="msg" transfer-ownership="none"> 19412 + <doc xml:space="preserve" 19413 + filename="libsoup/websocket/soup-websocket.c" 19414 + line="780">#SoupMessage containing both client and server sides of a 19415 + WebSocket handshake</doc> 19416 + <type name="Message" c:type="SoupMessage*"/> 19417 + </parameter> 19418 + <parameter name="supported_extensions" 19419 + transfer-ownership="none" 19420 + nullable="1" 19421 + allow-none="1"> 19422 + <doc xml:space="preserve" 19423 + filename="libsoup/websocket/soup-websocket.c" 19424 + line="782">list 19425 + of supported extension types</doc> 19426 + <array name="GLib.PtrArray" c:type="GPtrArray*"> 19427 + <type name="GObject.TypeClass"/> 19428 + </array> 19429 + </parameter> 19430 + <parameter name="accepted_extensions" 19431 + direction="out" 19432 + caller-allocates="0" 19433 + transfer-ownership="full" 19434 + optional="1" 19435 + allow-none="1"> 19436 + <doc xml:space="preserve" 19437 + filename="libsoup/websocket/soup-websocket.c" 19438 + line="784">a 19439 + #GList of #SoupWebsocketExtension objects</doc> 19440 + <type name="GLib.List" c:type="GList**"> 19441 + <type name="WebsocketExtension"/> 19442 + </type> 19443 + </parameter> 19444 + </parameters> 19445 + </function> 19446 + <function name="websocket_error_quark" 19447 + c:identifier="soup_websocket_error_quark" 19448 + moved-to="WebsocketError.quark"> 19449 + <doc xml:space="preserve" 19450 + filename="libsoup/websocket/soup-websocket.h" 19451 + line="27">Registers error quark for SoupWebsocket if needed.</doc> 19452 + <return-value transfer-ownership="none"> 19453 + <doc xml:space="preserve" 19454 + filename="libsoup/websocket/soup-websocket.h" 19455 + line="31">Error quark for SoupWebsocket.</doc> 19456 + <type name="GLib.Quark" c:type="GQuark"/> 19457 + </return-value> 19458 + </function> 19459 + <function name="websocket_server_check_handshake" 19460 + c:identifier="soup_websocket_server_check_handshake" 19461 + throws="1"> 19462 + <doc xml:space="preserve" 19463 + filename="libsoup/websocket/soup-websocket.c" 19464 + line="520">Examines the method and request headers in @msg and determines 19465 + whether @msg contains a valid handshake request. 19466 + 19467 + If @origin is non-%NULL, then only requests containing a matching 19468 + "Origin" header will be accepted. If @protocols is non-%NULL, then 19469 + only requests containing a compatible "Sec-WebSocket-Protocols" 19470 + header will be accepted. If @supported_extensions is non-%NULL, then 19471 + only requests containing valid supported extensions in 19472 + "Sec-WebSocket-Extensions" header will be accepted. 19473 + 19474 + Normally [func@websocket_server_process_handshake] 19475 + will take care of this for you, and if you use 19476 + [method@Server.add_websocket_handler] to handle accepting WebSocket 19477 + connections, it will call that for you. However, this function may 19478 + be useful if you need to perform more complicated validation; eg, 19479 + accepting multiple different Origins, or handling different protocols 19480 + depending on the path.</doc> 19481 + <source-position filename="libsoup/websocket/soup-websocket.h" 19482 + line="89"/> 19483 + <return-value transfer-ownership="none"> 19484 + <doc xml:space="preserve" 19485 + filename="libsoup/websocket/soup-websocket.c" 19486 + line="548">%TRUE if @msg contained a valid WebSocket handshake, 19487 + %FALSE and an error if not.</doc> 19488 + <type name="gboolean" c:type="gboolean"/> 19489 + </return-value> 19490 + <parameters> 19491 + <parameter name="msg" transfer-ownership="none"> 19492 + <doc xml:space="preserve" 19493 + filename="libsoup/websocket/soup-websocket.c" 19494 + line="522">#SoupServerMessage containing the client side of a WebSocket handshake</doc> 19495 + <type name="ServerMessage" c:type="SoupServerMessage*"/> 19496 + </parameter> 19497 + <parameter name="origin" 19498 + transfer-ownership="none" 19499 + nullable="1" 19500 + allow-none="1"> 19501 + <doc xml:space="preserve" 19502 + filename="libsoup/websocket/soup-websocket.c" 19503 + line="523">expected Origin header</doc> 19504 + <type name="utf8" c:type="const char*"/> 19505 + </parameter> 19506 + <parameter name="protocols" 19507 + transfer-ownership="none" 19508 + nullable="1" 19509 + allow-none="1"> 19510 + <doc xml:space="preserve" 19511 + filename="libsoup/websocket/soup-websocket.c" 19512 + line="524">allowed WebSocket 19513 + protocols.</doc> 19514 + <array c:type="char**"> 19515 + <type name="utf8" c:type="char*"/> 19516 + </array> 19517 + </parameter> 19518 + <parameter name="supported_extensions" 19519 + transfer-ownership="none" 19520 + nullable="1" 19521 + allow-none="1"> 19522 + <doc xml:space="preserve" 19523 + filename="libsoup/websocket/soup-websocket.c" 19524 + line="526">list 19525 + of supported extension types</doc> 19526 + <array name="GLib.PtrArray" c:type="GPtrArray*"> 19527 + <type name="GObject.TypeClass"/> 19528 + </array> 19529 + </parameter> 19530 + </parameters> 19531 + </function> 19532 + <function name="websocket_server_process_handshake" 19533 + c:identifier="soup_websocket_server_process_handshake"> 19534 + <doc xml:space="preserve" 19535 + filename="libsoup/websocket/soup-websocket.c" 19536 + line="658">Examines the method and request headers in @msg and (assuming @msg 19537 + contains a valid handshake request), fills in the handshake 19538 + response. 19539 + 19540 + If @expected_origin is non-%NULL, then only requests containing a matching 19541 + "Origin" header will be accepted. If @protocols is non-%NULL, then 19542 + only requests containing a compatible "Sec-WebSocket-Protocols" 19543 + header will be accepted. If @supported_extensions is non-%NULL, then 19544 + only requests containing valid supported extensions in 19545 + "Sec-WebSocket-Extensions" header will be accepted. The accepted extensions 19546 + will be returned in @accepted_extensions parameter if non-%NULL. 19547 + 19548 + This is a low-level function; if you use 19549 + [method@Server.add_websocket_handler] to handle accepting WebSocket 19550 + connections, it will call this for you.</doc> 19551 + <source-position filename="libsoup/websocket/soup-websocket.h" 19552 + line="96"/> 19553 + <return-value transfer-ownership="none"> 19554 + <doc xml:space="preserve" 19555 + filename="libsoup/websocket/soup-websocket.c" 19556 + line="685">%TRUE if @msg contained a valid WebSocket handshake 19557 + request and was updated to contain a handshake response. %FALSE if not.</doc> 19558 + <type name="gboolean" c:type="gboolean"/> 19559 + </return-value> 19560 + <parameters> 19561 + <parameter name="msg" transfer-ownership="none"> 19562 + <doc xml:space="preserve" 19563 + filename="libsoup/websocket/soup-websocket.c" 19564 + line="660">#SoupServerMessage containing the client side of a WebSocket handshake</doc> 19565 + <type name="ServerMessage" c:type="SoupServerMessage*"/> 19566 + </parameter> 19567 + <parameter name="expected_origin" 19568 + transfer-ownership="none" 19569 + nullable="1" 19570 + allow-none="1"> 19571 + <doc xml:space="preserve" 19572 + filename="libsoup/websocket/soup-websocket.c" 19573 + line="661">expected Origin header</doc> 19574 + <type name="utf8" c:type="const char*"/> 19575 + </parameter> 19576 + <parameter name="protocols" 19577 + transfer-ownership="none" 19578 + nullable="1" 19579 + allow-none="1"> 19580 + <doc xml:space="preserve" 19581 + filename="libsoup/websocket/soup-websocket.c" 19582 + line="662">allowed WebSocket 19583 + protocols.</doc> 19584 + <array c:type="char**"> 19585 + <type name="utf8" c:type="char*"/> 19586 + </array> 19587 + </parameter> 19588 + <parameter name="supported_extensions" 19589 + transfer-ownership="none" 19590 + nullable="1" 19591 + allow-none="1"> 19592 + <doc xml:space="preserve" 19593 + filename="libsoup/websocket/soup-websocket.c" 19594 + line="664">list 19595 + of supported extension types</doc> 19596 + <array name="GLib.PtrArray" c:type="GPtrArray*"> 19597 + <type name="GObject.TypeClass"/> 19598 + </array> 19599 + </parameter> 19600 + <parameter name="accepted_extensions" 19601 + direction="out" 19602 + caller-allocates="0" 19603 + transfer-ownership="full" 19604 + optional="1" 19605 + allow-none="1"> 19606 + <doc xml:space="preserve" 19607 + filename="libsoup/websocket/soup-websocket.c" 19608 + line="666">a 19609 + #GList of #SoupWebsocketExtension objects</doc> 19610 + <type name="GLib.List" c:type="GList**"> 19611 + <type name="WebsocketExtension"/> 19612 + </type> 19613 + </parameter> 19614 + </parameters> 19615 + </function> 19616 + </namespace> 19617 + </repository>
+1
soup/src/lib.rs
··· 1 +
+45
soup/sys/Cargo.toml
··· 1 + [package] 2 + name = "soup-sys" 3 + version = "0.0.1" 4 + edition = "2021" 5 + build = "build.rs" 6 + 7 + [package.metadata.system-deps.libsoup_3_0] 8 + name = "libsoup-3.0" 9 + version = "3" 10 + 11 + [package.metadata.system-deps.libsoup_3_0.v3_2] 12 + version = "3.2" 13 + 14 + [package.metadata.system-deps.libsoup_3_0.v3_4] 15 + version = "3.4" 16 + 17 + [package.metadata.docs.rs] 18 + rustdoc-args = ["--generate-link-to-definition"] 19 + all-features = true 20 + 21 + [lib] 22 + name = "soup_sys" 23 + 24 + [dependencies] 25 + libc = "0.2" 26 + 27 + [dependencies.glib-sys] 28 + git = "https://github.com/gtk-rs/gtk-rs-core" 29 + 30 + [dependencies.gobject-sys] 31 + git = "https://github.com/gtk-rs/gtk-rs-core" 32 + 33 + [dependencies.gio-sys] 34 + git = "https://github.com/gtk-rs/gtk-rs-core" 35 + 36 + [build-dependencies] 37 + system-deps = "7" 38 + 39 + [dev-dependencies] 40 + shell-words = "1.0.0" 41 + tempfile = "3" 42 + 43 + [features] 44 + v3_2 = [] 45 + v3_4 = ["v3_2"]
+14
soup/sys/Gir.toml
··· 1 + [options] 2 + library = "Soup" 3 + version = "3.0" 4 + min_cfg_version = "3.0" 5 + target_path = "." 6 + girs_directories = ["../../gir-files", "../gir-files"] 7 + work_mode = "sys" 8 + single_version_file = true 9 + 10 + external_libraries = [ 11 + "GLib", 12 + "GObject", 13 + "GIO", 14 + ]
+17
soup/sys/build.rs
··· 1 + // This file was generated by gir (https://github.com/gtk-rs/gir) 2 + // from ../../gir-files 3 + // from ../gir-files 4 + // DO NOT EDIT 5 + 6 + 7 + fn main() { 8 + if std::env::var("DOCS_RS").is_ok() { 9 + // prevent linking libraries to avoid documentation failure 10 + return; 11 + } 12 + 13 + if let Err(s) = system_deps::Config::new().probe() { 14 + println!("cargo:warning={s}"); 15 + std::process::exit(1); 16 + } 17 + }
+3
soup/sys/src/auto/versions.txt
··· 1 + Generated by gir (https://github.com/gtk-rs/gir @ 3ddfba1db34e) 2 + from ../../gir-files (@ 01ea5f1a07cd) 3 + from ../gir-files (@ a2d8a47627ef)
+1889
soup/sys/src/lib.rs
··· 1 + // This file was generated by gir (https://github.com/gtk-rs/gir) 2 + // from ../../gir-files 3 + // from ../gir-files 4 + // DO NOT EDIT 5 + 6 + #![allow(non_camel_case_types, non_upper_case_globals, non_snake_case)] 7 + #![allow(clippy::approx_constant, clippy::type_complexity, clippy::unreadable_literal, clippy::upper_case_acronyms)] 8 + #![cfg_attr(docsrs, feature(doc_cfg))] 9 + 10 + use glib_sys as glib; 11 + use gobject_sys as gobject; 12 + use gio_sys as gio; 13 + 14 + #[allow(unused_imports)] 15 + use std::ffi::{c_int, c_char, c_uchar, c_float, c_uint, c_double, 16 + c_short, c_ushort, c_long, c_ulong, c_void}; 17 + #[allow(unused_imports)] 18 + use libc::{size_t, ssize_t, time_t, off_t, intptr_t, uintptr_t, FILE}; 19 + #[cfg(unix)] 20 + #[allow(unused_imports)] 21 + use libc::{dev_t, gid_t, pid_t, socklen_t, uid_t}; 22 + 23 + #[allow(unused_imports)] 24 + use glib::{gboolean, gconstpointer, gpointer, GType}; 25 + 26 + // Enums 27 + pub type SoupCacheType = c_int; 28 + pub const SOUP_CACHE_SINGLE_USER: SoupCacheType = 0; 29 + pub const SOUP_CACHE_SHARED: SoupCacheType = 1; 30 + 31 + pub type SoupCookieJarAcceptPolicy = c_int; 32 + pub const SOUP_COOKIE_JAR_ACCEPT_ALWAYS: SoupCookieJarAcceptPolicy = 0; 33 + pub const SOUP_COOKIE_JAR_ACCEPT_NEVER: SoupCookieJarAcceptPolicy = 1; 34 + pub const SOUP_COOKIE_JAR_ACCEPT_NO_THIRD_PARTY: SoupCookieJarAcceptPolicy = 2; 35 + pub const SOUP_COOKIE_JAR_ACCEPT_GRANDFATHERED_THIRD_PARTY: SoupCookieJarAcceptPolicy = 3; 36 + 37 + pub type SoupDateFormat = c_int; 38 + pub const SOUP_DATE_HTTP: SoupDateFormat = 1; 39 + pub const SOUP_DATE_COOKIE: SoupDateFormat = 2; 40 + 41 + pub type SoupEncoding = c_int; 42 + pub const SOUP_ENCODING_UNRECOGNIZED: SoupEncoding = 0; 43 + pub const SOUP_ENCODING_NONE: SoupEncoding = 1; 44 + pub const SOUP_ENCODING_CONTENT_LENGTH: SoupEncoding = 2; 45 + pub const SOUP_ENCODING_EOF: SoupEncoding = 3; 46 + pub const SOUP_ENCODING_CHUNKED: SoupEncoding = 4; 47 + pub const SOUP_ENCODING_BYTERANGES: SoupEncoding = 5; 48 + 49 + pub type SoupHTTPVersion = c_int; 50 + pub const SOUP_HTTP_1_0: SoupHTTPVersion = 0; 51 + pub const SOUP_HTTP_1_1: SoupHTTPVersion = 1; 52 + pub const SOUP_HTTP_2_0: SoupHTTPVersion = 2; 53 + 54 + pub type SoupLoggerLogLevel = c_int; 55 + pub const SOUP_LOGGER_LOG_NONE: SoupLoggerLogLevel = 0; 56 + pub const SOUP_LOGGER_LOG_MINIMAL: SoupLoggerLogLevel = 1; 57 + pub const SOUP_LOGGER_LOG_HEADERS: SoupLoggerLogLevel = 2; 58 + pub const SOUP_LOGGER_LOG_BODY: SoupLoggerLogLevel = 3; 59 + 60 + pub type SoupMemoryUse = c_int; 61 + pub const SOUP_MEMORY_STATIC: SoupMemoryUse = 0; 62 + pub const SOUP_MEMORY_TAKE: SoupMemoryUse = 1; 63 + pub const SOUP_MEMORY_COPY: SoupMemoryUse = 2; 64 + 65 + pub type SoupMessageHeadersType = c_int; 66 + pub const SOUP_MESSAGE_HEADERS_REQUEST: SoupMessageHeadersType = 0; 67 + pub const SOUP_MESSAGE_HEADERS_RESPONSE: SoupMessageHeadersType = 1; 68 + pub const SOUP_MESSAGE_HEADERS_MULTIPART: SoupMessageHeadersType = 2; 69 + 70 + pub type SoupMessagePriority = c_int; 71 + pub const SOUP_MESSAGE_PRIORITY_VERY_LOW: SoupMessagePriority = 0; 72 + pub const SOUP_MESSAGE_PRIORITY_LOW: SoupMessagePriority = 1; 73 + pub const SOUP_MESSAGE_PRIORITY_NORMAL: SoupMessagePriority = 2; 74 + pub const SOUP_MESSAGE_PRIORITY_HIGH: SoupMessagePriority = 3; 75 + pub const SOUP_MESSAGE_PRIORITY_VERY_HIGH: SoupMessagePriority = 4; 76 + 77 + pub type SoupSameSitePolicy = c_int; 78 + pub const SOUP_SAME_SITE_POLICY_NONE: SoupSameSitePolicy = 0; 79 + pub const SOUP_SAME_SITE_POLICY_LAX: SoupSameSitePolicy = 1; 80 + pub const SOUP_SAME_SITE_POLICY_STRICT: SoupSameSitePolicy = 2; 81 + 82 + pub type SoupSessionError = c_int; 83 + pub const SOUP_SESSION_ERROR_PARSING: SoupSessionError = 0; 84 + pub const SOUP_SESSION_ERROR_ENCODING: SoupSessionError = 1; 85 + pub const SOUP_SESSION_ERROR_TOO_MANY_REDIRECTS: SoupSessionError = 2; 86 + pub const SOUP_SESSION_ERROR_TOO_MANY_RESTARTS: SoupSessionError = 3; 87 + pub const SOUP_SESSION_ERROR_REDIRECT_NO_LOCATION: SoupSessionError = 4; 88 + pub const SOUP_SESSION_ERROR_REDIRECT_BAD_URI: SoupSessionError = 5; 89 + pub const SOUP_SESSION_ERROR_MESSAGE_ALREADY_IN_QUEUE: SoupSessionError = 6; 90 + 91 + pub type SoupStatus = c_int; 92 + pub const SOUP_STATUS_NONE: SoupStatus = 0; 93 + pub const SOUP_STATUS_CONTINUE: SoupStatus = 100; 94 + pub const SOUP_STATUS_SWITCHING_PROTOCOLS: SoupStatus = 101; 95 + pub const SOUP_STATUS_PROCESSING: SoupStatus = 102; 96 + pub const SOUP_STATUS_OK: SoupStatus = 200; 97 + pub const SOUP_STATUS_CREATED: SoupStatus = 201; 98 + pub const SOUP_STATUS_ACCEPTED: SoupStatus = 202; 99 + pub const SOUP_STATUS_NON_AUTHORITATIVE: SoupStatus = 203; 100 + pub const SOUP_STATUS_NO_CONTENT: SoupStatus = 204; 101 + pub const SOUP_STATUS_RESET_CONTENT: SoupStatus = 205; 102 + pub const SOUP_STATUS_PARTIAL_CONTENT: SoupStatus = 206; 103 + pub const SOUP_STATUS_MULTI_STATUS: SoupStatus = 207; 104 + pub const SOUP_STATUS_MULTIPLE_CHOICES: SoupStatus = 300; 105 + pub const SOUP_STATUS_MOVED_PERMANENTLY: SoupStatus = 301; 106 + pub const SOUP_STATUS_FOUND: SoupStatus = 302; 107 + pub const SOUP_STATUS_MOVED_TEMPORARILY: SoupStatus = 302; 108 + pub const SOUP_STATUS_SEE_OTHER: SoupStatus = 303; 109 + pub const SOUP_STATUS_NOT_MODIFIED: SoupStatus = 304; 110 + pub const SOUP_STATUS_USE_PROXY: SoupStatus = 305; 111 + pub const SOUP_STATUS_NOT_APPEARING_IN_THIS_PROTOCOL: SoupStatus = 306; 112 + pub const SOUP_STATUS_TEMPORARY_REDIRECT: SoupStatus = 307; 113 + pub const SOUP_STATUS_PERMANENT_REDIRECT: SoupStatus = 308; 114 + pub const SOUP_STATUS_BAD_REQUEST: SoupStatus = 400; 115 + pub const SOUP_STATUS_UNAUTHORIZED: SoupStatus = 401; 116 + pub const SOUP_STATUS_PAYMENT_REQUIRED: SoupStatus = 402; 117 + pub const SOUP_STATUS_FORBIDDEN: SoupStatus = 403; 118 + pub const SOUP_STATUS_NOT_FOUND: SoupStatus = 404; 119 + pub const SOUP_STATUS_METHOD_NOT_ALLOWED: SoupStatus = 405; 120 + pub const SOUP_STATUS_NOT_ACCEPTABLE: SoupStatus = 406; 121 + pub const SOUP_STATUS_PROXY_AUTHENTICATION_REQUIRED: SoupStatus = 407; 122 + pub const SOUP_STATUS_PROXY_UNAUTHORIZED: SoupStatus = 407; 123 + pub const SOUP_STATUS_REQUEST_TIMEOUT: SoupStatus = 408; 124 + pub const SOUP_STATUS_CONFLICT: SoupStatus = 409; 125 + pub const SOUP_STATUS_GONE: SoupStatus = 410; 126 + pub const SOUP_STATUS_LENGTH_REQUIRED: SoupStatus = 411; 127 + pub const SOUP_STATUS_PRECONDITION_FAILED: SoupStatus = 412; 128 + pub const SOUP_STATUS_REQUEST_ENTITY_TOO_LARGE: SoupStatus = 413; 129 + pub const SOUP_STATUS_REQUEST_URI_TOO_LONG: SoupStatus = 414; 130 + pub const SOUP_STATUS_UNSUPPORTED_MEDIA_TYPE: SoupStatus = 415; 131 + pub const SOUP_STATUS_REQUESTED_RANGE_NOT_SATISFIABLE: SoupStatus = 416; 132 + pub const SOUP_STATUS_INVALID_RANGE: SoupStatus = 416; 133 + pub const SOUP_STATUS_EXPECTATION_FAILED: SoupStatus = 417; 134 + pub const SOUP_STATUS_MISDIRECTED_REQUEST: SoupStatus = 421; 135 + pub const SOUP_STATUS_UNPROCESSABLE_ENTITY: SoupStatus = 422; 136 + pub const SOUP_STATUS_LOCKED: SoupStatus = 423; 137 + pub const SOUP_STATUS_FAILED_DEPENDENCY: SoupStatus = 424; 138 + pub const SOUP_STATUS_INTERNAL_SERVER_ERROR: SoupStatus = 500; 139 + pub const SOUP_STATUS_NOT_IMPLEMENTED: SoupStatus = 501; 140 + pub const SOUP_STATUS_BAD_GATEWAY: SoupStatus = 502; 141 + pub const SOUP_STATUS_SERVICE_UNAVAILABLE: SoupStatus = 503; 142 + pub const SOUP_STATUS_GATEWAY_TIMEOUT: SoupStatus = 504; 143 + pub const SOUP_STATUS_HTTP_VERSION_NOT_SUPPORTED: SoupStatus = 505; 144 + pub const SOUP_STATUS_INSUFFICIENT_STORAGE: SoupStatus = 507; 145 + pub const SOUP_STATUS_NOT_EXTENDED: SoupStatus = 510; 146 + 147 + pub type SoupTLDError = c_int; 148 + pub const SOUP_TLD_ERROR_INVALID_HOSTNAME: SoupTLDError = 0; 149 + pub const SOUP_TLD_ERROR_IS_IP_ADDRESS: SoupTLDError = 1; 150 + pub const SOUP_TLD_ERROR_NOT_ENOUGH_DOMAINS: SoupTLDError = 2; 151 + pub const SOUP_TLD_ERROR_NO_BASE_DOMAIN: SoupTLDError = 3; 152 + pub const SOUP_TLD_ERROR_NO_PSL_DATA: SoupTLDError = 4; 153 + 154 + pub type SoupURIComponent = c_int; 155 + pub const SOUP_URI_NONE: SoupURIComponent = 0; 156 + pub const SOUP_URI_SCHEME: SoupURIComponent = 1; 157 + pub const SOUP_URI_USER: SoupURIComponent = 2; 158 + pub const SOUP_URI_PASSWORD: SoupURIComponent = 3; 159 + pub const SOUP_URI_AUTH_PARAMS: SoupURIComponent = 4; 160 + pub const SOUP_URI_HOST: SoupURIComponent = 5; 161 + pub const SOUP_URI_PORT: SoupURIComponent = 6; 162 + pub const SOUP_URI_PATH: SoupURIComponent = 7; 163 + pub const SOUP_URI_QUERY: SoupURIComponent = 8; 164 + pub const SOUP_URI_FRAGMENT: SoupURIComponent = 9; 165 + 166 + pub type SoupWebsocketCloseCode = c_int; 167 + pub const SOUP_WEBSOCKET_CLOSE_NORMAL: SoupWebsocketCloseCode = 1000; 168 + pub const SOUP_WEBSOCKET_CLOSE_GOING_AWAY: SoupWebsocketCloseCode = 1001; 169 + pub const SOUP_WEBSOCKET_CLOSE_PROTOCOL_ERROR: SoupWebsocketCloseCode = 1002; 170 + pub const SOUP_WEBSOCKET_CLOSE_UNSUPPORTED_DATA: SoupWebsocketCloseCode = 1003; 171 + pub const SOUP_WEBSOCKET_CLOSE_NO_STATUS: SoupWebsocketCloseCode = 1005; 172 + pub const SOUP_WEBSOCKET_CLOSE_ABNORMAL: SoupWebsocketCloseCode = 1006; 173 + pub const SOUP_WEBSOCKET_CLOSE_BAD_DATA: SoupWebsocketCloseCode = 1007; 174 + pub const SOUP_WEBSOCKET_CLOSE_POLICY_VIOLATION: SoupWebsocketCloseCode = 1008; 175 + pub const SOUP_WEBSOCKET_CLOSE_TOO_BIG: SoupWebsocketCloseCode = 1009; 176 + pub const SOUP_WEBSOCKET_CLOSE_NO_EXTENSION: SoupWebsocketCloseCode = 1010; 177 + pub const SOUP_WEBSOCKET_CLOSE_SERVER_ERROR: SoupWebsocketCloseCode = 1011; 178 + pub const SOUP_WEBSOCKET_CLOSE_TLS_HANDSHAKE: SoupWebsocketCloseCode = 1015; 179 + 180 + pub type SoupWebsocketConnectionType = c_int; 181 + pub const SOUP_WEBSOCKET_CONNECTION_UNKNOWN: SoupWebsocketConnectionType = 0; 182 + pub const SOUP_WEBSOCKET_CONNECTION_CLIENT: SoupWebsocketConnectionType = 1; 183 + pub const SOUP_WEBSOCKET_CONNECTION_SERVER: SoupWebsocketConnectionType = 2; 184 + 185 + pub type SoupWebsocketDataType = c_int; 186 + pub const SOUP_WEBSOCKET_DATA_TEXT: SoupWebsocketDataType = 1; 187 + pub const SOUP_WEBSOCKET_DATA_BINARY: SoupWebsocketDataType = 2; 188 + 189 + pub type SoupWebsocketError = c_int; 190 + pub const SOUP_WEBSOCKET_ERROR_FAILED: SoupWebsocketError = 0; 191 + pub const SOUP_WEBSOCKET_ERROR_NOT_WEBSOCKET: SoupWebsocketError = 1; 192 + pub const SOUP_WEBSOCKET_ERROR_BAD_HANDSHAKE: SoupWebsocketError = 2; 193 + pub const SOUP_WEBSOCKET_ERROR_BAD_ORIGIN: SoupWebsocketError = 3; 194 + 195 + pub type SoupWebsocketState = c_int; 196 + pub const SOUP_WEBSOCKET_STATE_OPEN: SoupWebsocketState = 1; 197 + pub const SOUP_WEBSOCKET_STATE_CLOSING: SoupWebsocketState = 2; 198 + pub const SOUP_WEBSOCKET_STATE_CLOSED: SoupWebsocketState = 3; 199 + 200 + // Constants 201 + pub const SOUP_COOKIE_MAX_AGE_ONE_DAY: c_int = 86400; 202 + pub const SOUP_COOKIE_MAX_AGE_ONE_HOUR: c_int = 3600; 203 + pub const SOUP_COOKIE_MAX_AGE_ONE_WEEK: c_int = 604800; 204 + pub const SOUP_COOKIE_MAX_AGE_ONE_YEAR: c_double = 31556926.080000; 205 + pub const SOUP_FORM_MIME_TYPE_MULTIPART: &[u8] = b"multipart/form-data\0"; 206 + pub const SOUP_FORM_MIME_TYPE_URLENCODED: &[u8] = b"application/x-www-form-urlencoded\0"; 207 + pub const SOUP_HSTS_POLICY_MAX_AGE_PAST: c_int = 0; 208 + pub const SOUP_HTTP_URI_FLAGS: c_int = 482; 209 + pub const SOUP_MAJOR_VERSION: c_int = 3; 210 + pub const SOUP_MICRO_VERSION: c_int = 4; 211 + pub const SOUP_MINOR_VERSION: c_int = 4; 212 + pub const SOUP_VERSION_MIN_REQUIRED: c_int = 197632; 213 + 214 + // Flags 215 + pub type SoupCacheability = c_uint; 216 + pub const SOUP_CACHE_CACHEABLE: SoupCacheability = 1; 217 + pub const SOUP_CACHE_UNCACHEABLE: SoupCacheability = 2; 218 + pub const SOUP_CACHE_INVALIDATES: SoupCacheability = 4; 219 + pub const SOUP_CACHE_VALIDATES: SoupCacheability = 8; 220 + 221 + pub type SoupExpectation = c_uint; 222 + pub const SOUP_EXPECTATION_UNRECOGNIZED: SoupExpectation = 1; 223 + pub const SOUP_EXPECTATION_CONTINUE: SoupExpectation = 2; 224 + 225 + pub type SoupMessageFlags = c_uint; 226 + pub const SOUP_MESSAGE_NO_REDIRECT: SoupMessageFlags = 2; 227 + pub const SOUP_MESSAGE_NEW_CONNECTION: SoupMessageFlags = 4; 228 + pub const SOUP_MESSAGE_IDEMPOTENT: SoupMessageFlags = 8; 229 + pub const SOUP_MESSAGE_DO_NOT_USE_AUTH_CACHE: SoupMessageFlags = 16; 230 + pub const SOUP_MESSAGE_COLLECT_METRICS: SoupMessageFlags = 32; 231 + 232 + pub type SoupServerListenOptions = c_uint; 233 + pub const SOUP_SERVER_LISTEN_HTTPS: SoupServerListenOptions = 1; 234 + pub const SOUP_SERVER_LISTEN_IPV4_ONLY: SoupServerListenOptions = 2; 235 + pub const SOUP_SERVER_LISTEN_IPV6_ONLY: SoupServerListenOptions = 4; 236 + 237 + // Callbacks 238 + pub type SoupAuthDomainBasicAuthCallback = Option<unsafe extern "C" fn(*mut SoupAuthDomainBasic, *mut SoupServerMessage, *const c_char, *const c_char, gpointer) -> gboolean>; 239 + pub type SoupAuthDomainDigestAuthCallback = Option<unsafe extern "C" fn(*mut SoupAuthDomainDigest, *mut SoupServerMessage, *const c_char, gpointer) -> *mut c_char>; 240 + pub type SoupAuthDomainFilter = Option<unsafe extern "C" fn(*mut SoupAuthDomain, *mut SoupServerMessage, gpointer) -> gboolean>; 241 + pub type SoupAuthDomainGenericAuthCallback = Option<unsafe extern "C" fn(*mut SoupAuthDomain, *mut SoupServerMessage, *const c_char, gpointer) -> gboolean>; 242 + pub type SoupLoggerFilter = Option<unsafe extern "C" fn(*mut SoupLogger, *mut SoupMessage, gpointer) -> SoupLoggerLogLevel>; 243 + pub type SoupLoggerPrinter = Option<unsafe extern "C" fn(*mut SoupLogger, SoupLoggerLogLevel, c_char, *const c_char, gpointer)>; 244 + pub type SoupMessageHeadersForeachFunc = Option<unsafe extern "C" fn(*const c_char, *const c_char, gpointer)>; 245 + pub type SoupServerCallback = Option<unsafe extern "C" fn(*mut SoupServer, *mut SoupServerMessage, *const c_char, *mut glib::GHashTable, gpointer)>; 246 + pub type SoupServerWebsocketCallback = Option<unsafe extern "C" fn(*mut SoupServer, *mut SoupServerMessage, *const c_char, *mut SoupWebsocketConnection, gpointer)>; 247 + 248 + // Records 249 + #[derive(Copy, Clone)] 250 + #[repr(C)] 251 + pub struct SoupAuthClass { 252 + pub parent_class: gobject::GObjectClass, 253 + pub scheme_name: *const c_char, 254 + pub strength: c_uint, 255 + pub update: Option<unsafe extern "C" fn(*mut SoupAuth, *mut SoupMessage, *mut glib::GHashTable) -> gboolean>, 256 + pub get_protection_space: Option<unsafe extern "C" fn(*mut SoupAuth, *mut glib::GUri) -> *mut glib::GSList>, 257 + pub authenticate: Option<unsafe extern "C" fn(*mut SoupAuth, *const c_char, *const c_char)>, 258 + pub is_authenticated: Option<unsafe extern "C" fn(*mut SoupAuth) -> gboolean>, 259 + pub get_authorization: Option<unsafe extern "C" fn(*mut SoupAuth, *mut SoupMessage) -> *mut c_char>, 260 + pub is_ready: Option<unsafe extern "C" fn(*mut SoupAuth, *mut SoupMessage) -> gboolean>, 261 + pub can_authenticate: Option<unsafe extern "C" fn(*mut SoupAuth) -> gboolean>, 262 + pub padding: [gpointer; 6], 263 + } 264 + 265 + impl ::std::fmt::Debug for SoupAuthClass { 266 + fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result { 267 + f.debug_struct(&format!("SoupAuthClass @ {self:p}")) 268 + .field("parent_class", &self.parent_class) 269 + .field("scheme_name", &self.scheme_name) 270 + .field("strength", &self.strength) 271 + .field("update", &self.update) 272 + .field("get_protection_space", &self.get_protection_space) 273 + .field("authenticate", &self.authenticate) 274 + .field("is_authenticated", &self.is_authenticated) 275 + .field("get_authorization", &self.get_authorization) 276 + .field("is_ready", &self.is_ready) 277 + .field("can_authenticate", &self.can_authenticate) 278 + .field("padding", &self.padding) 279 + .finish() 280 + } 281 + } 282 + 283 + #[derive(Copy, Clone)] 284 + #[repr(C)] 285 + pub struct SoupAuthDomainBasicClass { 286 + pub parent_class: SoupAuthDomainClass, 287 + } 288 + 289 + impl ::std::fmt::Debug for SoupAuthDomainBasicClass { 290 + fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result { 291 + f.debug_struct(&format!("SoupAuthDomainBasicClass @ {self:p}")) 292 + .field("parent_class", &self.parent_class) 293 + .finish() 294 + } 295 + } 296 + 297 + #[derive(Copy, Clone)] 298 + #[repr(C)] 299 + pub struct SoupAuthDomainClass { 300 + pub parent_class: gobject::GObjectClass, 301 + pub accepts: Option<unsafe extern "C" fn(*mut SoupAuthDomain, *mut SoupServerMessage, *const c_char) -> *mut c_char>, 302 + pub challenge: Option<unsafe extern "C" fn(*mut SoupAuthDomain, *mut SoupServerMessage) -> *mut c_char>, 303 + pub check_password: Option<unsafe extern "C" fn(*mut SoupAuthDomain, *mut SoupServerMessage, *const c_char, *const c_char) -> gboolean>, 304 + pub padding: [gpointer; 6], 305 + } 306 + 307 + impl ::std::fmt::Debug for SoupAuthDomainClass { 308 + fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result { 309 + f.debug_struct(&format!("SoupAuthDomainClass @ {self:p}")) 310 + .field("parent_class", &self.parent_class) 311 + .field("accepts", &self.accepts) 312 + .field("challenge", &self.challenge) 313 + .field("check_password", &self.check_password) 314 + .field("padding", &self.padding) 315 + .finish() 316 + } 317 + } 318 + 319 + #[derive(Copy, Clone)] 320 + #[repr(C)] 321 + pub struct SoupAuthDomainDigestClass { 322 + pub parent_class: SoupAuthDomainClass, 323 + } 324 + 325 + impl ::std::fmt::Debug for SoupAuthDomainDigestClass { 326 + fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result { 327 + f.debug_struct(&format!("SoupAuthDomainDigestClass @ {self:p}")) 328 + .field("parent_class", &self.parent_class) 329 + .finish() 330 + } 331 + } 332 + 333 + #[derive(Copy, Clone)] 334 + #[repr(C)] 335 + pub struct SoupAuthManagerClass { 336 + pub parent_class: gobject::GObjectClass, 337 + } 338 + 339 + impl ::std::fmt::Debug for SoupAuthManagerClass { 340 + fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result { 341 + f.debug_struct(&format!("SoupAuthManagerClass @ {self:p}")) 342 + .field("parent_class", &self.parent_class) 343 + .finish() 344 + } 345 + } 346 + 347 + #[derive(Copy, Clone)] 348 + #[repr(C)] 349 + pub struct SoupCacheClass { 350 + pub parent_class: gobject::GObjectClass, 351 + pub get_cacheability: Option<unsafe extern "C" fn(*mut SoupCache, *mut SoupMessage) -> SoupCacheability>, 352 + pub padding: [gpointer; 4], 353 + } 354 + 355 + impl ::std::fmt::Debug for SoupCacheClass { 356 + fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result { 357 + f.debug_struct(&format!("SoupCacheClass @ {self:p}")) 358 + .field("parent_class", &self.parent_class) 359 + .field("get_cacheability", &self.get_cacheability) 360 + .field("padding", &self.padding) 361 + .finish() 362 + } 363 + } 364 + 365 + #[derive(Copy, Clone)] 366 + #[repr(C)] 367 + pub struct SoupContentDecoderClass { 368 + pub parent_class: gobject::GObjectClass, 369 + } 370 + 371 + impl ::std::fmt::Debug for SoupContentDecoderClass { 372 + fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result { 373 + f.debug_struct(&format!("SoupContentDecoderClass @ {self:p}")) 374 + .field("parent_class", &self.parent_class) 375 + .finish() 376 + } 377 + } 378 + 379 + #[derive(Copy, Clone)] 380 + #[repr(C)] 381 + pub struct SoupContentSnifferClass { 382 + pub parent_class: gobject::GObjectClass, 383 + } 384 + 385 + impl ::std::fmt::Debug for SoupContentSnifferClass { 386 + fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result { 387 + f.debug_struct(&format!("SoupContentSnifferClass @ {self:p}")) 388 + .field("parent_class", &self.parent_class) 389 + .finish() 390 + } 391 + } 392 + 393 + #[repr(C)] 394 + #[allow(dead_code)] 395 + pub struct SoupCookie { 396 + _data: [u8; 0], 397 + _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>, 398 + } 399 + 400 + impl ::std::fmt::Debug for SoupCookie { 401 + fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result { 402 + f.debug_struct(&format!("SoupCookie @ {self:p}")) 403 + .finish() 404 + } 405 + } 406 + 407 + #[derive(Copy, Clone)] 408 + #[repr(C)] 409 + pub struct SoupCookieJarClass { 410 + pub parent_class: gobject::GObjectClass, 411 + pub save: Option<unsafe extern "C" fn(*mut SoupCookieJar)>, 412 + pub is_persistent: Option<unsafe extern "C" fn(*mut SoupCookieJar) -> gboolean>, 413 + pub changed: Option<unsafe extern "C" fn(*mut SoupCookieJar, *mut SoupCookie, *mut SoupCookie)>, 414 + pub padding: [gpointer; 6], 415 + } 416 + 417 + impl ::std::fmt::Debug for SoupCookieJarClass { 418 + fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result { 419 + f.debug_struct(&format!("SoupCookieJarClass @ {self:p}")) 420 + .field("parent_class", &self.parent_class) 421 + .field("save", &self.save) 422 + .field("is_persistent", &self.is_persistent) 423 + .field("changed", &self.changed) 424 + .field("padding", &self.padding) 425 + .finish() 426 + } 427 + } 428 + 429 + #[derive(Copy, Clone)] 430 + #[repr(C)] 431 + pub struct SoupCookieJarDBClass { 432 + pub parent_class: SoupCookieJarClass, 433 + } 434 + 435 + impl ::std::fmt::Debug for SoupCookieJarDBClass { 436 + fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result { 437 + f.debug_struct(&format!("SoupCookieJarDBClass @ {self:p}")) 438 + .field("parent_class", &self.parent_class) 439 + .finish() 440 + } 441 + } 442 + 443 + #[derive(Copy, Clone)] 444 + #[repr(C)] 445 + pub struct SoupCookieJarTextClass { 446 + pub parent_class: SoupCookieJarClass, 447 + } 448 + 449 + impl ::std::fmt::Debug for SoupCookieJarTextClass { 450 + fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result { 451 + f.debug_struct(&format!("SoupCookieJarTextClass @ {self:p}")) 452 + .field("parent_class", &self.parent_class) 453 + .finish() 454 + } 455 + } 456 + 457 + #[derive(Copy, Clone)] 458 + #[repr(C)] 459 + pub struct SoupHSTSEnforcerClass { 460 + pub parent_class: gobject::GObjectClass, 461 + pub is_persistent: Option<unsafe extern "C" fn(*mut SoupHSTSEnforcer) -> gboolean>, 462 + pub has_valid_policy: Option<unsafe extern "C" fn(*mut SoupHSTSEnforcer, *const c_char) -> gboolean>, 463 + pub changed: Option<unsafe extern "C" fn(*mut SoupHSTSEnforcer, *mut SoupHSTSPolicy, *mut SoupHSTSPolicy)>, 464 + pub padding: [gpointer; 4], 465 + } 466 + 467 + impl ::std::fmt::Debug for SoupHSTSEnforcerClass { 468 + fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result { 469 + f.debug_struct(&format!("SoupHSTSEnforcerClass @ {self:p}")) 470 + .field("parent_class", &self.parent_class) 471 + .field("is_persistent", &self.is_persistent) 472 + .field("has_valid_policy", &self.has_valid_policy) 473 + .field("changed", &self.changed) 474 + .finish() 475 + } 476 + } 477 + 478 + #[derive(Copy, Clone)] 479 + #[repr(C)] 480 + pub struct SoupHSTSEnforcerDBClass { 481 + pub parent_class: SoupHSTSEnforcerClass, 482 + } 483 + 484 + impl ::std::fmt::Debug for SoupHSTSEnforcerDBClass { 485 + fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result { 486 + f.debug_struct(&format!("SoupHSTSEnforcerDBClass @ {self:p}")) 487 + .field("parent_class", &self.parent_class) 488 + .finish() 489 + } 490 + } 491 + 492 + #[repr(C)] 493 + #[allow(dead_code)] 494 + pub struct SoupHSTSPolicy { 495 + _data: [u8; 0], 496 + _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>, 497 + } 498 + 499 + impl ::std::fmt::Debug for SoupHSTSPolicy { 500 + fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result { 501 + f.debug_struct(&format!("SoupHSTSPolicy @ {self:p}")) 502 + .finish() 503 + } 504 + } 505 + 506 + #[derive(Copy, Clone)] 507 + #[repr(C)] 508 + pub struct SoupLoggerClass { 509 + pub parent_class: gobject::GObjectClass, 510 + } 511 + 512 + impl ::std::fmt::Debug for SoupLoggerClass { 513 + fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result { 514 + f.debug_struct(&format!("SoupLoggerClass @ {self:p}")) 515 + .field("parent_class", &self.parent_class) 516 + .finish() 517 + } 518 + } 519 + 520 + #[derive(Copy, Clone)] 521 + #[repr(C)] 522 + pub struct SoupMessageBody { 523 + pub data: *const u8, 524 + pub length: i64, 525 + } 526 + 527 + impl ::std::fmt::Debug for SoupMessageBody { 528 + fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result { 529 + f.debug_struct(&format!("SoupMessageBody @ {self:p}")) 530 + .field("data", &self.data) 531 + .field("length", &self.length) 532 + .finish() 533 + } 534 + } 535 + 536 + #[derive(Copy, Clone)] 537 + #[repr(C)] 538 + pub struct SoupMessageClass { 539 + pub parent_class: gobject::GObjectClass, 540 + } 541 + 542 + impl ::std::fmt::Debug for SoupMessageClass { 543 + fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result { 544 + f.debug_struct(&format!("SoupMessageClass @ {self:p}")) 545 + .field("parent_class", &self.parent_class) 546 + .finish() 547 + } 548 + } 549 + 550 + #[repr(C)] 551 + #[allow(dead_code)] 552 + pub struct SoupMessageHeaders { 553 + _data: [u8; 0], 554 + _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>, 555 + } 556 + 557 + impl ::std::fmt::Debug for SoupMessageHeaders { 558 + fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result { 559 + f.debug_struct(&format!("SoupMessageHeaders @ {self:p}")) 560 + .finish() 561 + } 562 + } 563 + 564 + #[derive(Copy, Clone)] 565 + #[repr(C)] 566 + pub struct SoupMessageHeadersIter { 567 + pub dummy: [gpointer; 3], 568 + } 569 + 570 + impl ::std::fmt::Debug for SoupMessageHeadersIter { 571 + fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result { 572 + f.debug_struct(&format!("SoupMessageHeadersIter @ {self:p}")) 573 + .finish() 574 + } 575 + } 576 + 577 + #[repr(C)] 578 + #[allow(dead_code)] 579 + pub struct SoupMessageMetrics { 580 + _data: [u8; 0], 581 + _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>, 582 + } 583 + 584 + impl ::std::fmt::Debug for SoupMessageMetrics { 585 + fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result { 586 + f.debug_struct(&format!("SoupMessageMetrics @ {self:p}")) 587 + .finish() 588 + } 589 + } 590 + 591 + #[repr(C)] 592 + #[allow(dead_code)] 593 + pub struct SoupMultipart { 594 + _data: [u8; 0], 595 + _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>, 596 + } 597 + 598 + impl ::std::fmt::Debug for SoupMultipart { 599 + fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result { 600 + f.debug_struct(&format!("SoupMultipart @ {self:p}")) 601 + .finish() 602 + } 603 + } 604 + 605 + #[derive(Copy, Clone)] 606 + #[repr(C)] 607 + pub struct SoupMultipartInputStreamClass { 608 + pub parent_class: gio::GFilterInputStreamClass, 609 + } 610 + 611 + impl ::std::fmt::Debug for SoupMultipartInputStreamClass { 612 + fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result { 613 + f.debug_struct(&format!("SoupMultipartInputStreamClass @ {self:p}")) 614 + .field("parent_class", &self.parent_class) 615 + .finish() 616 + } 617 + } 618 + 619 + #[derive(Copy, Clone)] 620 + #[repr(C)] 621 + pub struct SoupRange { 622 + pub start: i64, 623 + pub end: i64, 624 + } 625 + 626 + impl ::std::fmt::Debug for SoupRange { 627 + fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result { 628 + f.debug_struct(&format!("SoupRange @ {self:p}")) 629 + .field("start", &self.start) 630 + .field("end", &self.end) 631 + .finish() 632 + } 633 + } 634 + 635 + #[derive(Copy, Clone)] 636 + #[repr(C)] 637 + pub struct SoupServerClass { 638 + pub parent_class: gobject::GObjectClass, 639 + pub request_started: Option<unsafe extern "C" fn(*mut SoupServer, *mut SoupServerMessage)>, 640 + pub request_read: Option<unsafe extern "C" fn(*mut SoupServer, *mut SoupServerMessage)>, 641 + pub request_finished: Option<unsafe extern "C" fn(*mut SoupServer, *mut SoupServerMessage)>, 642 + pub request_aborted: Option<unsafe extern "C" fn(*mut SoupServer, *mut SoupServerMessage)>, 643 + pub padding: [gpointer; 6], 644 + } 645 + 646 + impl ::std::fmt::Debug for SoupServerClass { 647 + fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result { 648 + f.debug_struct(&format!("SoupServerClass @ {self:p}")) 649 + .field("parent_class", &self.parent_class) 650 + .field("request_started", &self.request_started) 651 + .field("request_read", &self.request_read) 652 + .field("request_finished", &self.request_finished) 653 + .field("request_aborted", &self.request_aborted) 654 + .field("padding", &self.padding) 655 + .finish() 656 + } 657 + } 658 + 659 + #[derive(Copy, Clone)] 660 + #[repr(C)] 661 + pub struct SoupServerMessageClass { 662 + pub parent_class: gobject::GObjectClass, 663 + } 664 + 665 + impl ::std::fmt::Debug for SoupServerMessageClass { 666 + fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result { 667 + f.debug_struct(&format!("SoupServerMessageClass @ {self:p}")) 668 + .field("parent_class", &self.parent_class) 669 + .finish() 670 + } 671 + } 672 + 673 + #[derive(Copy, Clone)] 674 + #[repr(C)] 675 + pub struct SoupSessionClass { 676 + pub parent_class: gobject::GObjectClass, 677 + pub request_queued: Option<unsafe extern "C" fn(*mut SoupSession, *mut SoupMessage)>, 678 + pub request_unqueued: Option<unsafe extern "C" fn(*mut SoupSession, *mut SoupMessage)>, 679 + pub _soup_reserved1: Option<unsafe extern "C" fn()>, 680 + pub _soup_reserved2: Option<unsafe extern "C" fn()>, 681 + pub _soup_reserved3: Option<unsafe extern "C" fn()>, 682 + pub _soup_reserved4: Option<unsafe extern "C" fn()>, 683 + pub _soup_reserved5: Option<unsafe extern "C" fn()>, 684 + pub _soup_reserved6: Option<unsafe extern "C" fn()>, 685 + pub _soup_reserved7: Option<unsafe extern "C" fn()>, 686 + pub _soup_reserved8: Option<unsafe extern "C" fn()>, 687 + } 688 + 689 + impl ::std::fmt::Debug for SoupSessionClass { 690 + fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result { 691 + f.debug_struct(&format!("SoupSessionClass @ {self:p}")) 692 + .field("parent_class", &self.parent_class) 693 + .field("request_queued", &self.request_queued) 694 + .field("request_unqueued", &self.request_unqueued) 695 + .field("_soup_reserved1", &self._soup_reserved1) 696 + .field("_soup_reserved2", &self._soup_reserved2) 697 + .field("_soup_reserved3", &self._soup_reserved3) 698 + .field("_soup_reserved4", &self._soup_reserved4) 699 + .field("_soup_reserved5", &self._soup_reserved5) 700 + .field("_soup_reserved6", &self._soup_reserved6) 701 + .field("_soup_reserved7", &self._soup_reserved7) 702 + .field("_soup_reserved8", &self._soup_reserved8) 703 + .finish() 704 + } 705 + } 706 + 707 + #[repr(C)] 708 + #[allow(dead_code)] 709 + pub struct _SoupSessionFeatureInterface { 710 + _data: [u8; 0], 711 + _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>, 712 + } 713 + 714 + pub type SoupSessionFeatureInterface = _SoupSessionFeatureInterface; 715 + 716 + #[derive(Copy, Clone)] 717 + #[repr(C)] 718 + pub struct SoupWebsocketConnectionClass { 719 + pub parent_class: gobject::GObjectClass, 720 + } 721 + 722 + impl ::std::fmt::Debug for SoupWebsocketConnectionClass { 723 + fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result { 724 + f.debug_struct(&format!("SoupWebsocketConnectionClass @ {self:p}")) 725 + .field("parent_class", &self.parent_class) 726 + .finish() 727 + } 728 + } 729 + 730 + #[derive(Copy, Clone)] 731 + #[repr(C)] 732 + pub struct SoupWebsocketExtensionClass { 733 + pub parent_class: gobject::GObjectClass, 734 + pub name: *const c_char, 735 + pub configure: Option<unsafe extern "C" fn(*mut SoupWebsocketExtension, SoupWebsocketConnectionType, *mut glib::GHashTable, *mut *mut glib::GError) -> gboolean>, 736 + pub get_request_params: Option<unsafe extern "C" fn(*mut SoupWebsocketExtension) -> *mut c_char>, 737 + pub get_response_params: Option<unsafe extern "C" fn(*mut SoupWebsocketExtension) -> *mut c_char>, 738 + pub process_outgoing_message: Option<unsafe extern "C" fn(*mut SoupWebsocketExtension, *mut u8, *mut glib::GBytes, *mut *mut glib::GError) -> *mut glib::GBytes>, 739 + pub process_incoming_message: Option<unsafe extern "C" fn(*mut SoupWebsocketExtension, *mut u8, *mut glib::GBytes, *mut *mut glib::GError) -> *mut glib::GBytes>, 740 + pub padding: [gpointer; 6], 741 + } 742 + 743 + impl ::std::fmt::Debug for SoupWebsocketExtensionClass { 744 + fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result { 745 + f.debug_struct(&format!("SoupWebsocketExtensionClass @ {self:p}")) 746 + .field("parent_class", &self.parent_class) 747 + .field("name", &self.name) 748 + .field("configure", &self.configure) 749 + .field("get_request_params", &self.get_request_params) 750 + .field("get_response_params", &self.get_response_params) 751 + .field("process_outgoing_message", &self.process_outgoing_message) 752 + .field("process_incoming_message", &self.process_incoming_message) 753 + .finish() 754 + } 755 + } 756 + 757 + #[derive(Copy, Clone)] 758 + #[repr(C)] 759 + pub struct SoupWebsocketExtensionDeflateClass { 760 + pub parent_class: SoupWebsocketExtensionClass, 761 + } 762 + 763 + impl ::std::fmt::Debug for SoupWebsocketExtensionDeflateClass { 764 + fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result { 765 + f.debug_struct(&format!("SoupWebsocketExtensionDeflateClass @ {self:p}")) 766 + .field("parent_class", &self.parent_class) 767 + .finish() 768 + } 769 + } 770 + 771 + #[derive(Copy, Clone)] 772 + #[repr(C)] 773 + pub struct SoupWebsocketExtensionManagerClass { 774 + pub parent_class: gobject::GObjectClass, 775 + } 776 + 777 + impl ::std::fmt::Debug for SoupWebsocketExtensionManagerClass { 778 + fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result { 779 + f.debug_struct(&format!("SoupWebsocketExtensionManagerClass @ {self:p}")) 780 + .field("parent_class", &self.parent_class) 781 + .finish() 782 + } 783 + } 784 + 785 + // Classes 786 + #[derive(Copy, Clone)] 787 + #[repr(C)] 788 + pub struct SoupAuth { 789 + pub parent_instance: gobject::GObject, 790 + } 791 + 792 + impl ::std::fmt::Debug for SoupAuth { 793 + fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result { 794 + f.debug_struct(&format!("SoupAuth @ {self:p}")) 795 + .field("parent_instance", &self.parent_instance) 796 + .finish() 797 + } 798 + } 799 + 800 + #[repr(C)] 801 + #[allow(dead_code)] 802 + pub struct SoupAuthBasic { 803 + _data: [u8; 0], 804 + _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>, 805 + } 806 + 807 + impl ::std::fmt::Debug for SoupAuthBasic { 808 + fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result { 809 + f.debug_struct(&format!("SoupAuthBasic @ {self:p}")) 810 + .finish() 811 + } 812 + } 813 + 814 + #[repr(C)] 815 + #[allow(dead_code)] 816 + pub struct SoupAuthDigest { 817 + _data: [u8; 0], 818 + _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>, 819 + } 820 + 821 + impl ::std::fmt::Debug for SoupAuthDigest { 822 + fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result { 823 + f.debug_struct(&format!("SoupAuthDigest @ {self:p}")) 824 + .finish() 825 + } 826 + } 827 + 828 + #[derive(Copy, Clone)] 829 + #[repr(C)] 830 + pub struct SoupAuthDomain { 831 + pub parent_instance: gobject::GObject, 832 + } 833 + 834 + impl ::std::fmt::Debug for SoupAuthDomain { 835 + fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result { 836 + f.debug_struct(&format!("SoupAuthDomain @ {self:p}")) 837 + .field("parent_instance", &self.parent_instance) 838 + .finish() 839 + } 840 + } 841 + 842 + #[repr(C)] 843 + #[allow(dead_code)] 844 + pub struct SoupAuthDomainBasic { 845 + _data: [u8; 0], 846 + _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>, 847 + } 848 + 849 + impl ::std::fmt::Debug for SoupAuthDomainBasic { 850 + fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result { 851 + f.debug_struct(&format!("SoupAuthDomainBasic @ {self:p}")) 852 + .finish() 853 + } 854 + } 855 + 856 + #[repr(C)] 857 + #[allow(dead_code)] 858 + pub struct SoupAuthDomainDigest { 859 + _data: [u8; 0], 860 + _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>, 861 + } 862 + 863 + impl ::std::fmt::Debug for SoupAuthDomainDigest { 864 + fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result { 865 + f.debug_struct(&format!("SoupAuthDomainDigest @ {self:p}")) 866 + .finish() 867 + } 868 + } 869 + 870 + #[repr(C)] 871 + #[allow(dead_code)] 872 + pub struct SoupAuthManager { 873 + _data: [u8; 0], 874 + _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>, 875 + } 876 + 877 + impl ::std::fmt::Debug for SoupAuthManager { 878 + fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result { 879 + f.debug_struct(&format!("SoupAuthManager @ {self:p}")) 880 + .finish() 881 + } 882 + } 883 + 884 + #[repr(C)] 885 + #[allow(dead_code)] 886 + pub struct SoupAuthNTLM { 887 + _data: [u8; 0], 888 + _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>, 889 + } 890 + 891 + impl ::std::fmt::Debug for SoupAuthNTLM { 892 + fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result { 893 + f.debug_struct(&format!("SoupAuthNTLM @ {self:p}")) 894 + .finish() 895 + } 896 + } 897 + 898 + #[repr(C)] 899 + #[allow(dead_code)] 900 + pub struct SoupAuthNegotiate { 901 + _data: [u8; 0], 902 + _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>, 903 + } 904 + 905 + impl ::std::fmt::Debug for SoupAuthNegotiate { 906 + fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result { 907 + f.debug_struct(&format!("SoupAuthNegotiate @ {self:p}")) 908 + .finish() 909 + } 910 + } 911 + 912 + #[derive(Copy, Clone)] 913 + #[repr(C)] 914 + pub struct SoupCache { 915 + pub parent_instance: gobject::GObject, 916 + } 917 + 918 + impl ::std::fmt::Debug for SoupCache { 919 + fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result { 920 + f.debug_struct(&format!("SoupCache @ {self:p}")) 921 + .field("parent_instance", &self.parent_instance) 922 + .finish() 923 + } 924 + } 925 + 926 + #[repr(C)] 927 + #[allow(dead_code)] 928 + pub struct SoupContentDecoder { 929 + _data: [u8; 0], 930 + _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>, 931 + } 932 + 933 + impl ::std::fmt::Debug for SoupContentDecoder { 934 + fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result { 935 + f.debug_struct(&format!("SoupContentDecoder @ {self:p}")) 936 + .finish() 937 + } 938 + } 939 + 940 + #[repr(C)] 941 + #[allow(dead_code)] 942 + pub struct SoupContentSniffer { 943 + _data: [u8; 0], 944 + _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>, 945 + } 946 + 947 + impl ::std::fmt::Debug for SoupContentSniffer { 948 + fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result { 949 + f.debug_struct(&format!("SoupContentSniffer @ {self:p}")) 950 + .finish() 951 + } 952 + } 953 + 954 + #[derive(Copy, Clone)] 955 + #[repr(C)] 956 + pub struct SoupCookieJar { 957 + pub parent_instance: gobject::GObject, 958 + } 959 + 960 + impl ::std::fmt::Debug for SoupCookieJar { 961 + fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result { 962 + f.debug_struct(&format!("SoupCookieJar @ {self:p}")) 963 + .field("parent_instance", &self.parent_instance) 964 + .finish() 965 + } 966 + } 967 + 968 + #[repr(C)] 969 + #[allow(dead_code)] 970 + pub struct SoupCookieJarDB { 971 + _data: [u8; 0], 972 + _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>, 973 + } 974 + 975 + impl ::std::fmt::Debug for SoupCookieJarDB { 976 + fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result { 977 + f.debug_struct(&format!("SoupCookieJarDB @ {self:p}")) 978 + .finish() 979 + } 980 + } 981 + 982 + #[repr(C)] 983 + #[allow(dead_code)] 984 + pub struct SoupCookieJarText { 985 + _data: [u8; 0], 986 + _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>, 987 + } 988 + 989 + impl ::std::fmt::Debug for SoupCookieJarText { 990 + fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result { 991 + f.debug_struct(&format!("SoupCookieJarText @ {self:p}")) 992 + .finish() 993 + } 994 + } 995 + 996 + #[derive(Copy, Clone)] 997 + #[repr(C)] 998 + pub struct SoupHSTSEnforcer { 999 + pub parent_instance: gobject::GObject, 1000 + } 1001 + 1002 + impl ::std::fmt::Debug for SoupHSTSEnforcer { 1003 + fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result { 1004 + f.debug_struct(&format!("SoupHSTSEnforcer @ {self:p}")) 1005 + .field("parent_instance", &self.parent_instance) 1006 + .finish() 1007 + } 1008 + } 1009 + 1010 + #[repr(C)] 1011 + #[allow(dead_code)] 1012 + pub struct SoupHSTSEnforcerDB { 1013 + _data: [u8; 0], 1014 + _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>, 1015 + } 1016 + 1017 + impl ::std::fmt::Debug for SoupHSTSEnforcerDB { 1018 + fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result { 1019 + f.debug_struct(&format!("SoupHSTSEnforcerDB @ {self:p}")) 1020 + .finish() 1021 + } 1022 + } 1023 + 1024 + #[repr(C)] 1025 + #[allow(dead_code)] 1026 + pub struct SoupLogger { 1027 + _data: [u8; 0], 1028 + _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>, 1029 + } 1030 + 1031 + impl ::std::fmt::Debug for SoupLogger { 1032 + fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result { 1033 + f.debug_struct(&format!("SoupLogger @ {self:p}")) 1034 + .finish() 1035 + } 1036 + } 1037 + 1038 + #[repr(C)] 1039 + #[allow(dead_code)] 1040 + pub struct SoupMessage { 1041 + _data: [u8; 0], 1042 + _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>, 1043 + } 1044 + 1045 + impl ::std::fmt::Debug for SoupMessage { 1046 + fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result { 1047 + f.debug_struct(&format!("SoupMessage @ {self:p}")) 1048 + .finish() 1049 + } 1050 + } 1051 + 1052 + #[repr(C)] 1053 + #[allow(dead_code)] 1054 + pub struct SoupMultipartInputStream { 1055 + _data: [u8; 0], 1056 + _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>, 1057 + } 1058 + 1059 + impl ::std::fmt::Debug for SoupMultipartInputStream { 1060 + fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result { 1061 + f.debug_struct(&format!("SoupMultipartInputStream @ {self:p}")) 1062 + .finish() 1063 + } 1064 + } 1065 + 1066 + #[derive(Copy, Clone)] 1067 + #[repr(C)] 1068 + pub struct SoupServer { 1069 + pub parent_instance: gobject::GObject, 1070 + } 1071 + 1072 + impl ::std::fmt::Debug for SoupServer { 1073 + fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result { 1074 + f.debug_struct(&format!("SoupServer @ {self:p}")) 1075 + .field("parent_instance", &self.parent_instance) 1076 + .finish() 1077 + } 1078 + } 1079 + 1080 + #[repr(C)] 1081 + #[allow(dead_code)] 1082 + pub struct SoupServerMessage { 1083 + _data: [u8; 0], 1084 + _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>, 1085 + } 1086 + 1087 + impl ::std::fmt::Debug for SoupServerMessage { 1088 + fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result { 1089 + f.debug_struct(&format!("SoupServerMessage @ {self:p}")) 1090 + .finish() 1091 + } 1092 + } 1093 + 1094 + #[derive(Copy, Clone)] 1095 + #[repr(C)] 1096 + pub struct SoupSession { 1097 + pub parent_instance: gobject::GObject, 1098 + } 1099 + 1100 + impl ::std::fmt::Debug for SoupSession { 1101 + fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result { 1102 + f.debug_struct(&format!("SoupSession @ {self:p}")) 1103 + .field("parent_instance", &self.parent_instance) 1104 + .finish() 1105 + } 1106 + } 1107 + 1108 + #[repr(C)] 1109 + #[allow(dead_code)] 1110 + pub struct SoupWebsocketConnection { 1111 + _data: [u8; 0], 1112 + _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>, 1113 + } 1114 + 1115 + impl ::std::fmt::Debug for SoupWebsocketConnection { 1116 + fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result { 1117 + f.debug_struct(&format!("SoupWebsocketConnection @ {self:p}")) 1118 + .finish() 1119 + } 1120 + } 1121 + 1122 + #[derive(Copy, Clone)] 1123 + #[repr(C)] 1124 + pub struct SoupWebsocketExtension { 1125 + pub parent_instance: gobject::GObject, 1126 + } 1127 + 1128 + impl ::std::fmt::Debug for SoupWebsocketExtension { 1129 + fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result { 1130 + f.debug_struct(&format!("SoupWebsocketExtension @ {self:p}")) 1131 + .field("parent_instance", &self.parent_instance) 1132 + .finish() 1133 + } 1134 + } 1135 + 1136 + #[repr(C)] 1137 + #[allow(dead_code)] 1138 + pub struct SoupWebsocketExtensionDeflate { 1139 + _data: [u8; 0], 1140 + _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>, 1141 + } 1142 + 1143 + impl ::std::fmt::Debug for SoupWebsocketExtensionDeflate { 1144 + fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result { 1145 + f.debug_struct(&format!("SoupWebsocketExtensionDeflate @ {self:p}")) 1146 + .finish() 1147 + } 1148 + } 1149 + 1150 + #[repr(C)] 1151 + #[allow(dead_code)] 1152 + pub struct SoupWebsocketExtensionManager { 1153 + _data: [u8; 0], 1154 + _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>, 1155 + } 1156 + 1157 + impl ::std::fmt::Debug for SoupWebsocketExtensionManager { 1158 + fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result { 1159 + f.debug_struct(&format!("SoupWebsocketExtensionManager @ {self:p}")) 1160 + .finish() 1161 + } 1162 + } 1163 + 1164 + // Interfaces 1165 + #[repr(C)] 1166 + #[allow(dead_code)] 1167 + pub struct SoupSessionFeature { 1168 + _data: [u8; 0], 1169 + _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>, 1170 + } 1171 + 1172 + impl ::std::fmt::Debug for SoupSessionFeature { 1173 + fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result { 1174 + write!(f, "SoupSessionFeature @ {self:p}") 1175 + } 1176 + } 1177 + 1178 + 1179 + extern "C" { 1180 + 1181 + //========================================================================= 1182 + // SoupCacheType 1183 + //========================================================================= 1184 + pub fn soup_cache_type_get_type() -> GType; 1185 + 1186 + //========================================================================= 1187 + // SoupCookieJarAcceptPolicy 1188 + //========================================================================= 1189 + pub fn soup_cookie_jar_accept_policy_get_type() -> GType; 1190 + 1191 + //========================================================================= 1192 + // SoupDateFormat 1193 + //========================================================================= 1194 + pub fn soup_date_format_get_type() -> GType; 1195 + 1196 + //========================================================================= 1197 + // SoupEncoding 1198 + //========================================================================= 1199 + pub fn soup_encoding_get_type() -> GType; 1200 + 1201 + //========================================================================= 1202 + // SoupHTTPVersion 1203 + //========================================================================= 1204 + pub fn soup_http_version_get_type() -> GType; 1205 + 1206 + //========================================================================= 1207 + // SoupLoggerLogLevel 1208 + //========================================================================= 1209 + pub fn soup_logger_log_level_get_type() -> GType; 1210 + 1211 + //========================================================================= 1212 + // SoupMemoryUse 1213 + //========================================================================= 1214 + pub fn soup_memory_use_get_type() -> GType; 1215 + 1216 + //========================================================================= 1217 + // SoupMessageHeadersType 1218 + //========================================================================= 1219 + pub fn soup_message_headers_type_get_type() -> GType; 1220 + 1221 + //========================================================================= 1222 + // SoupMessagePriority 1223 + //========================================================================= 1224 + pub fn soup_message_priority_get_type() -> GType; 1225 + 1226 + //========================================================================= 1227 + // SoupSameSitePolicy 1228 + //========================================================================= 1229 + pub fn soup_same_site_policy_get_type() -> GType; 1230 + 1231 + //========================================================================= 1232 + // SoupSessionError 1233 + //========================================================================= 1234 + pub fn soup_session_error_get_type() -> GType; 1235 + pub fn soup_session_error_quark() -> glib::GQuark; 1236 + 1237 + //========================================================================= 1238 + // SoupStatus 1239 + //========================================================================= 1240 + pub fn soup_status_get_type() -> GType; 1241 + pub fn soup_status_get_phrase(status_code: c_uint) -> *const c_char; 1242 + 1243 + //========================================================================= 1244 + // SoupTLDError 1245 + //========================================================================= 1246 + pub fn soup_tld_error_get_type() -> GType; 1247 + pub fn soup_tld_error_quark() -> glib::GQuark; 1248 + 1249 + //========================================================================= 1250 + // SoupURIComponent 1251 + //========================================================================= 1252 + pub fn soup_uri_component_get_type() -> GType; 1253 + 1254 + //========================================================================= 1255 + // SoupWebsocketCloseCode 1256 + //========================================================================= 1257 + pub fn soup_websocket_close_code_get_type() -> GType; 1258 + 1259 + //========================================================================= 1260 + // SoupWebsocketConnectionType 1261 + //========================================================================= 1262 + pub fn soup_websocket_connection_type_get_type() -> GType; 1263 + 1264 + //========================================================================= 1265 + // SoupWebsocketDataType 1266 + //========================================================================= 1267 + pub fn soup_websocket_data_type_get_type() -> GType; 1268 + 1269 + //========================================================================= 1270 + // SoupWebsocketError 1271 + //========================================================================= 1272 + pub fn soup_websocket_error_get_type() -> GType; 1273 + pub fn soup_websocket_error_quark() -> glib::GQuark; 1274 + 1275 + //========================================================================= 1276 + // SoupWebsocketState 1277 + //========================================================================= 1278 + pub fn soup_websocket_state_get_type() -> GType; 1279 + 1280 + //========================================================================= 1281 + // SoupCacheability 1282 + //========================================================================= 1283 + pub fn soup_cacheability_get_type() -> GType; 1284 + 1285 + //========================================================================= 1286 + // SoupExpectation 1287 + //========================================================================= 1288 + pub fn soup_expectation_get_type() -> GType; 1289 + 1290 + //========================================================================= 1291 + // SoupMessageFlags 1292 + //========================================================================= 1293 + pub fn soup_message_flags_get_type() -> GType; 1294 + 1295 + //========================================================================= 1296 + // SoupServerListenOptions 1297 + //========================================================================= 1298 + pub fn soup_server_listen_options_get_type() -> GType; 1299 + 1300 + //========================================================================= 1301 + // SoupCookie 1302 + //========================================================================= 1303 + pub fn soup_cookie_get_type() -> GType; 1304 + pub fn soup_cookie_new(name: *const c_char, value: *const c_char, domain: *const c_char, path: *const c_char, max_age: c_int) -> *mut SoupCookie; 1305 + pub fn soup_cookie_applies_to_uri(cookie: *mut SoupCookie, uri: *mut glib::GUri) -> gboolean; 1306 + pub fn soup_cookie_copy(cookie: *mut SoupCookie) -> *mut SoupCookie; 1307 + pub fn soup_cookie_domain_matches(cookie: *mut SoupCookie, host: *const c_char) -> gboolean; 1308 + pub fn soup_cookie_equal(cookie1: *mut SoupCookie, cookie2: *mut SoupCookie) -> gboolean; 1309 + pub fn soup_cookie_free(cookie: *mut SoupCookie); 1310 + pub fn soup_cookie_get_domain(cookie: *mut SoupCookie) -> *const c_char; 1311 + pub fn soup_cookie_get_expires(cookie: *mut SoupCookie) -> *mut glib::GDateTime; 1312 + pub fn soup_cookie_get_http_only(cookie: *mut SoupCookie) -> gboolean; 1313 + pub fn soup_cookie_get_name(cookie: *mut SoupCookie) -> *const c_char; 1314 + pub fn soup_cookie_get_path(cookie: *mut SoupCookie) -> *const c_char; 1315 + pub fn soup_cookie_get_same_site_policy(cookie: *mut SoupCookie) -> SoupSameSitePolicy; 1316 + pub fn soup_cookie_get_secure(cookie: *mut SoupCookie) -> gboolean; 1317 + pub fn soup_cookie_get_value(cookie: *mut SoupCookie) -> *const c_char; 1318 + pub fn soup_cookie_set_domain(cookie: *mut SoupCookie, domain: *const c_char); 1319 + pub fn soup_cookie_set_expires(cookie: *mut SoupCookie, expires: *mut glib::GDateTime); 1320 + pub fn soup_cookie_set_http_only(cookie: *mut SoupCookie, http_only: gboolean); 1321 + pub fn soup_cookie_set_max_age(cookie: *mut SoupCookie, max_age: c_int); 1322 + pub fn soup_cookie_set_name(cookie: *mut SoupCookie, name: *const c_char); 1323 + pub fn soup_cookie_set_path(cookie: *mut SoupCookie, path: *const c_char); 1324 + pub fn soup_cookie_set_same_site_policy(cookie: *mut SoupCookie, policy: SoupSameSitePolicy); 1325 + pub fn soup_cookie_set_secure(cookie: *mut SoupCookie, secure: gboolean); 1326 + pub fn soup_cookie_set_value(cookie: *mut SoupCookie, value: *const c_char); 1327 + pub fn soup_cookie_to_cookie_header(cookie: *mut SoupCookie) -> *mut c_char; 1328 + pub fn soup_cookie_to_set_cookie_header(cookie: *mut SoupCookie) -> *mut c_char; 1329 + pub fn soup_cookie_parse(header: *const c_char, origin: *mut glib::GUri) -> *mut SoupCookie; 1330 + 1331 + //========================================================================= 1332 + // SoupHSTSPolicy 1333 + //========================================================================= 1334 + pub fn soup_hsts_policy_get_type() -> GType; 1335 + pub fn soup_hsts_policy_new(domain: *const c_char, max_age: c_ulong, include_subdomains: gboolean) -> *mut SoupHSTSPolicy; 1336 + pub fn soup_hsts_policy_new_from_response(msg: *mut SoupMessage) -> *mut SoupHSTSPolicy; 1337 + pub fn soup_hsts_policy_new_full(domain: *const c_char, max_age: c_ulong, expires: *mut glib::GDateTime, include_subdomains: gboolean) -> *mut SoupHSTSPolicy; 1338 + pub fn soup_hsts_policy_new_session_policy(domain: *const c_char, include_subdomains: gboolean) -> *mut SoupHSTSPolicy; 1339 + pub fn soup_hsts_policy_copy(policy: *mut SoupHSTSPolicy) -> *mut SoupHSTSPolicy; 1340 + pub fn soup_hsts_policy_equal(policy1: *mut SoupHSTSPolicy, policy2: *mut SoupHSTSPolicy) -> gboolean; 1341 + pub fn soup_hsts_policy_free(policy: *mut SoupHSTSPolicy); 1342 + pub fn soup_hsts_policy_get_domain(policy: *mut SoupHSTSPolicy) -> *const c_char; 1343 + pub fn soup_hsts_policy_get_expires(policy: *mut SoupHSTSPolicy) -> *mut glib::GDateTime; 1344 + pub fn soup_hsts_policy_get_max_age(policy: *mut SoupHSTSPolicy) -> c_ulong; 1345 + pub fn soup_hsts_policy_includes_subdomains(policy: *mut SoupHSTSPolicy) -> gboolean; 1346 + pub fn soup_hsts_policy_is_expired(policy: *mut SoupHSTSPolicy) -> gboolean; 1347 + pub fn soup_hsts_policy_is_session_policy(policy: *mut SoupHSTSPolicy) -> gboolean; 1348 + 1349 + //========================================================================= 1350 + // SoupMessageBody 1351 + //========================================================================= 1352 + pub fn soup_message_body_get_type() -> GType; 1353 + pub fn soup_message_body_new() -> *mut SoupMessageBody; 1354 + pub fn soup_message_body_append(body: *mut SoupMessageBody, use_: SoupMemoryUse, data: gconstpointer, length: size_t); 1355 + pub fn soup_message_body_append_bytes(body: *mut SoupMessageBody, buffer: *mut glib::GBytes); 1356 + pub fn soup_message_body_append_take(body: *mut SoupMessageBody, data: *mut u8, length: size_t); 1357 + pub fn soup_message_body_complete(body: *mut SoupMessageBody); 1358 + pub fn soup_message_body_flatten(body: *mut SoupMessageBody) -> *mut glib::GBytes; 1359 + pub fn soup_message_body_get_accumulate(body: *mut SoupMessageBody) -> gboolean; 1360 + pub fn soup_message_body_get_chunk(body: *mut SoupMessageBody, offset: i64) -> *mut glib::GBytes; 1361 + pub fn soup_message_body_got_chunk(body: *mut SoupMessageBody, chunk: *mut glib::GBytes); 1362 + pub fn soup_message_body_ref(body: *mut SoupMessageBody) -> *mut SoupMessageBody; 1363 + pub fn soup_message_body_set_accumulate(body: *mut SoupMessageBody, accumulate: gboolean); 1364 + pub fn soup_message_body_truncate(body: *mut SoupMessageBody); 1365 + pub fn soup_message_body_unref(body: *mut SoupMessageBody); 1366 + pub fn soup_message_body_wrote_chunk(body: *mut SoupMessageBody, chunk: *mut glib::GBytes); 1367 + 1368 + //========================================================================= 1369 + // SoupMessageHeaders 1370 + //========================================================================= 1371 + pub fn soup_message_headers_get_type() -> GType; 1372 + pub fn soup_message_headers_new(type_: SoupMessageHeadersType) -> *mut SoupMessageHeaders; 1373 + pub fn soup_message_headers_append(hdrs: *mut SoupMessageHeaders, name: *const c_char, value: *const c_char); 1374 + pub fn soup_message_headers_clean_connection_headers(hdrs: *mut SoupMessageHeaders); 1375 + pub fn soup_message_headers_clear(hdrs: *mut SoupMessageHeaders); 1376 + pub fn soup_message_headers_foreach(hdrs: *mut SoupMessageHeaders, func: SoupMessageHeadersForeachFunc, user_data: gpointer); 1377 + pub fn soup_message_headers_free_ranges(hdrs: *mut SoupMessageHeaders, ranges: *mut SoupRange); 1378 + pub fn soup_message_headers_get_content_disposition(hdrs: *mut SoupMessageHeaders, disposition: *mut *mut c_char, params: *mut *mut glib::GHashTable) -> gboolean; 1379 + pub fn soup_message_headers_get_content_length(hdrs: *mut SoupMessageHeaders) -> i64; 1380 + pub fn soup_message_headers_get_content_range(hdrs: *mut SoupMessageHeaders, start: *mut i64, end: *mut i64, total_length: *mut i64) -> gboolean; 1381 + pub fn soup_message_headers_get_content_type(hdrs: *mut SoupMessageHeaders, params: *mut *mut glib::GHashTable) -> *const c_char; 1382 + pub fn soup_message_headers_get_encoding(hdrs: *mut SoupMessageHeaders) -> SoupEncoding; 1383 + pub fn soup_message_headers_get_expectations(hdrs: *mut SoupMessageHeaders) -> SoupExpectation; 1384 + pub fn soup_message_headers_get_headers_type(hdrs: *mut SoupMessageHeaders) -> SoupMessageHeadersType; 1385 + pub fn soup_message_headers_get_list(hdrs: *mut SoupMessageHeaders, name: *const c_char) -> *const c_char; 1386 + pub fn soup_message_headers_get_one(hdrs: *mut SoupMessageHeaders, name: *const c_char) -> *const c_char; 1387 + pub fn soup_message_headers_get_ranges(hdrs: *mut SoupMessageHeaders, total_length: i64, ranges: *mut *mut SoupRange, length: *mut c_int) -> gboolean; 1388 + pub fn soup_message_headers_header_contains(hdrs: *mut SoupMessageHeaders, name: *const c_char, token: *const c_char) -> gboolean; 1389 + pub fn soup_message_headers_header_equals(hdrs: *mut SoupMessageHeaders, name: *const c_char, value: *const c_char) -> gboolean; 1390 + pub fn soup_message_headers_ref(hdrs: *mut SoupMessageHeaders) -> *mut SoupMessageHeaders; 1391 + pub fn soup_message_headers_remove(hdrs: *mut SoupMessageHeaders, name: *const c_char); 1392 + pub fn soup_message_headers_replace(hdrs: *mut SoupMessageHeaders, name: *const c_char, value: *const c_char); 1393 + pub fn soup_message_headers_set_content_disposition(hdrs: *mut SoupMessageHeaders, disposition: *const c_char, params: *mut glib::GHashTable); 1394 + pub fn soup_message_headers_set_content_length(hdrs: *mut SoupMessageHeaders, content_length: i64); 1395 + pub fn soup_message_headers_set_content_range(hdrs: *mut SoupMessageHeaders, start: i64, end: i64, total_length: i64); 1396 + pub fn soup_message_headers_set_content_type(hdrs: *mut SoupMessageHeaders, content_type: *const c_char, params: *mut glib::GHashTable); 1397 + pub fn soup_message_headers_set_encoding(hdrs: *mut SoupMessageHeaders, encoding: SoupEncoding); 1398 + pub fn soup_message_headers_set_expectations(hdrs: *mut SoupMessageHeaders, expectations: SoupExpectation); 1399 + pub fn soup_message_headers_set_range(hdrs: *mut SoupMessageHeaders, start: i64, end: i64); 1400 + pub fn soup_message_headers_set_ranges(hdrs: *mut SoupMessageHeaders, ranges: *mut SoupRange, length: c_int); 1401 + pub fn soup_message_headers_unref(hdrs: *mut SoupMessageHeaders); 1402 + 1403 + //========================================================================= 1404 + // SoupMessageHeadersIter 1405 + //========================================================================= 1406 + pub fn soup_message_headers_iter_next(iter: *mut SoupMessageHeadersIter, name: *mut *const c_char, value: *mut *const c_char) -> gboolean; 1407 + pub fn soup_message_headers_iter_init(iter: *mut SoupMessageHeadersIter, hdrs: *mut SoupMessageHeaders); 1408 + 1409 + //========================================================================= 1410 + // SoupMessageMetrics 1411 + //========================================================================= 1412 + pub fn soup_message_metrics_get_type() -> GType; 1413 + pub fn soup_message_metrics_copy(metrics: *mut SoupMessageMetrics) -> *mut SoupMessageMetrics; 1414 + pub fn soup_message_metrics_free(metrics: *mut SoupMessageMetrics); 1415 + pub fn soup_message_metrics_get_connect_end(metrics: *mut SoupMessageMetrics) -> u64; 1416 + pub fn soup_message_metrics_get_connect_start(metrics: *mut SoupMessageMetrics) -> u64; 1417 + pub fn soup_message_metrics_get_dns_end(metrics: *mut SoupMessageMetrics) -> u64; 1418 + pub fn soup_message_metrics_get_dns_start(metrics: *mut SoupMessageMetrics) -> u64; 1419 + pub fn soup_message_metrics_get_fetch_start(metrics: *mut SoupMessageMetrics) -> u64; 1420 + pub fn soup_message_metrics_get_request_body_bytes_sent(metrics: *mut SoupMessageMetrics) -> u64; 1421 + pub fn soup_message_metrics_get_request_body_size(metrics: *mut SoupMessageMetrics) -> u64; 1422 + pub fn soup_message_metrics_get_request_header_bytes_sent(metrics: *mut SoupMessageMetrics) -> u64; 1423 + pub fn soup_message_metrics_get_request_start(metrics: *mut SoupMessageMetrics) -> u64; 1424 + pub fn soup_message_metrics_get_response_body_bytes_received(metrics: *mut SoupMessageMetrics) -> u64; 1425 + pub fn soup_message_metrics_get_response_body_size(metrics: *mut SoupMessageMetrics) -> u64; 1426 + pub fn soup_message_metrics_get_response_end(metrics: *mut SoupMessageMetrics) -> u64; 1427 + pub fn soup_message_metrics_get_response_header_bytes_received(metrics: *mut SoupMessageMetrics) -> u64; 1428 + pub fn soup_message_metrics_get_response_start(metrics: *mut SoupMessageMetrics) -> u64; 1429 + pub fn soup_message_metrics_get_tls_start(metrics: *mut SoupMessageMetrics) -> u64; 1430 + 1431 + //========================================================================= 1432 + // SoupMultipart 1433 + //========================================================================= 1434 + pub fn soup_multipart_get_type() -> GType; 1435 + pub fn soup_multipart_new(mime_type: *const c_char) -> *mut SoupMultipart; 1436 + pub fn soup_multipart_new_from_message(headers: *mut SoupMessageHeaders, body: *mut glib::GBytes) -> *mut SoupMultipart; 1437 + pub fn soup_multipart_append_form_file(multipart: *mut SoupMultipart, control_name: *const c_char, filename: *const c_char, content_type: *const c_char, body: *mut glib::GBytes); 1438 + pub fn soup_multipart_append_form_string(multipart: *mut SoupMultipart, control_name: *const c_char, data: *const c_char); 1439 + pub fn soup_multipart_append_part(multipart: *mut SoupMultipart, headers: *mut SoupMessageHeaders, body: *mut glib::GBytes); 1440 + pub fn soup_multipart_free(multipart: *mut SoupMultipart); 1441 + pub fn soup_multipart_get_length(multipart: *mut SoupMultipart) -> c_int; 1442 + pub fn soup_multipart_get_part(multipart: *mut SoupMultipart, part: c_int, headers: *mut *mut SoupMessageHeaders, body: *mut *mut glib::GBytes) -> gboolean; 1443 + pub fn soup_multipart_to_message(multipart: *mut SoupMultipart, dest_headers: *mut SoupMessageHeaders, dest_body: *mut *mut glib::GBytes); 1444 + 1445 + //========================================================================= 1446 + // SoupAuth 1447 + //========================================================================= 1448 + pub fn soup_auth_get_type() -> GType; 1449 + pub fn soup_auth_new(type_: GType, msg: *mut SoupMessage, auth_header: *const c_char) -> *mut SoupAuth; 1450 + pub fn soup_auth_authenticate(auth: *mut SoupAuth, username: *const c_char, password: *const c_char); 1451 + pub fn soup_auth_can_authenticate(auth: *mut SoupAuth) -> gboolean; 1452 + pub fn soup_auth_cancel(auth: *mut SoupAuth); 1453 + pub fn soup_auth_free_protection_space(auth: *mut SoupAuth, space: *mut glib::GSList); 1454 + pub fn soup_auth_get_authority(auth: *mut SoupAuth) -> *const c_char; 1455 + pub fn soup_auth_get_authorization(auth: *mut SoupAuth, msg: *mut SoupMessage) -> *mut c_char; 1456 + pub fn soup_auth_get_info(auth: *mut SoupAuth) -> *mut c_char; 1457 + pub fn soup_auth_get_protection_space(auth: *mut SoupAuth, source_uri: *mut glib::GUri) -> *mut glib::GSList; 1458 + pub fn soup_auth_get_realm(auth: *mut SoupAuth) -> *const c_char; 1459 + pub fn soup_auth_get_scheme_name(auth: *mut SoupAuth) -> *const c_char; 1460 + pub fn soup_auth_is_authenticated(auth: *mut SoupAuth) -> gboolean; 1461 + pub fn soup_auth_is_cancelled(auth: *mut SoupAuth) -> gboolean; 1462 + pub fn soup_auth_is_for_proxy(auth: *mut SoupAuth) -> gboolean; 1463 + pub fn soup_auth_is_ready(auth: *mut SoupAuth, msg: *mut SoupMessage) -> gboolean; 1464 + pub fn soup_auth_update(auth: *mut SoupAuth, msg: *mut SoupMessage, auth_header: *const c_char) -> gboolean; 1465 + 1466 + //========================================================================= 1467 + // SoupAuthBasic 1468 + //========================================================================= 1469 + pub fn soup_auth_basic_get_type() -> GType; 1470 + 1471 + //========================================================================= 1472 + // SoupAuthDigest 1473 + //========================================================================= 1474 + pub fn soup_auth_digest_get_type() -> GType; 1475 + 1476 + //========================================================================= 1477 + // SoupAuthDomain 1478 + //========================================================================= 1479 + pub fn soup_auth_domain_get_type() -> GType; 1480 + pub fn soup_auth_domain_accepts(domain: *mut SoupAuthDomain, msg: *mut SoupServerMessage) -> *mut c_char; 1481 + pub fn soup_auth_domain_add_path(domain: *mut SoupAuthDomain, path: *const c_char); 1482 + pub fn soup_auth_domain_challenge(domain: *mut SoupAuthDomain, msg: *mut SoupServerMessage); 1483 + pub fn soup_auth_domain_check_password(domain: *mut SoupAuthDomain, msg: *mut SoupServerMessage, username: *const c_char, password: *const c_char) -> gboolean; 1484 + pub fn soup_auth_domain_covers(domain: *mut SoupAuthDomain, msg: *mut SoupServerMessage) -> gboolean; 1485 + pub fn soup_auth_domain_get_realm(domain: *mut SoupAuthDomain) -> *const c_char; 1486 + pub fn soup_auth_domain_remove_path(domain: *mut SoupAuthDomain, path: *const c_char); 1487 + pub fn soup_auth_domain_set_filter(domain: *mut SoupAuthDomain, filter: SoupAuthDomainFilter, filter_data: gpointer, dnotify: glib::GDestroyNotify); 1488 + pub fn soup_auth_domain_set_generic_auth_callback(domain: *mut SoupAuthDomain, auth_callback: SoupAuthDomainGenericAuthCallback, auth_data: gpointer, dnotify: glib::GDestroyNotify); 1489 + 1490 + //========================================================================= 1491 + // SoupAuthDomainBasic 1492 + //========================================================================= 1493 + pub fn soup_auth_domain_basic_get_type() -> GType; 1494 + pub fn soup_auth_domain_basic_new(optname1: *const c_char, ...) -> *mut SoupAuthDomain; 1495 + pub fn soup_auth_domain_basic_set_auth_callback(domain: *mut SoupAuthDomainBasic, callback: SoupAuthDomainBasicAuthCallback, user_data: gpointer, dnotify: glib::GDestroyNotify); 1496 + 1497 + //========================================================================= 1498 + // SoupAuthDomainDigest 1499 + //========================================================================= 1500 + pub fn soup_auth_domain_digest_get_type() -> GType; 1501 + pub fn soup_auth_domain_digest_new(optname1: *const c_char, ...) -> *mut SoupAuthDomain; 1502 + pub fn soup_auth_domain_digest_encode_password(username: *const c_char, realm: *const c_char, password: *const c_char) -> *mut c_char; 1503 + pub fn soup_auth_domain_digest_set_auth_callback(domain: *mut SoupAuthDomainDigest, callback: SoupAuthDomainDigestAuthCallback, user_data: gpointer, dnotify: glib::GDestroyNotify); 1504 + 1505 + //========================================================================= 1506 + // SoupAuthManager 1507 + //========================================================================= 1508 + pub fn soup_auth_manager_get_type() -> GType; 1509 + pub fn soup_auth_manager_clear_cached_credentials(manager: *mut SoupAuthManager); 1510 + pub fn soup_auth_manager_use_auth(manager: *mut SoupAuthManager, uri: *mut glib::GUri, auth: *mut SoupAuth); 1511 + 1512 + //========================================================================= 1513 + // SoupAuthNTLM 1514 + //========================================================================= 1515 + pub fn soup_auth_ntlm_get_type() -> GType; 1516 + 1517 + //========================================================================= 1518 + // SoupAuthNegotiate 1519 + //========================================================================= 1520 + pub fn soup_auth_negotiate_get_type() -> GType; 1521 + pub fn soup_auth_negotiate_supported() -> gboolean; 1522 + 1523 + //========================================================================= 1524 + // SoupCache 1525 + //========================================================================= 1526 + pub fn soup_cache_get_type() -> GType; 1527 + pub fn soup_cache_new(cache_dir: *const c_char, cache_type: SoupCacheType) -> *mut SoupCache; 1528 + pub fn soup_cache_clear(cache: *mut SoupCache); 1529 + pub fn soup_cache_dump(cache: *mut SoupCache); 1530 + pub fn soup_cache_flush(cache: *mut SoupCache); 1531 + pub fn soup_cache_get_max_size(cache: *mut SoupCache) -> c_uint; 1532 + pub fn soup_cache_load(cache: *mut SoupCache); 1533 + pub fn soup_cache_set_max_size(cache: *mut SoupCache, max_size: c_uint); 1534 + 1535 + //========================================================================= 1536 + // SoupContentDecoder 1537 + //========================================================================= 1538 + pub fn soup_content_decoder_get_type() -> GType; 1539 + 1540 + //========================================================================= 1541 + // SoupContentSniffer 1542 + //========================================================================= 1543 + pub fn soup_content_sniffer_get_type() -> GType; 1544 + pub fn soup_content_sniffer_new() -> *mut SoupContentSniffer; 1545 + pub fn soup_content_sniffer_sniff(sniffer: *mut SoupContentSniffer, msg: *mut SoupMessage, buffer: *mut glib::GBytes, params: *mut *mut glib::GHashTable) -> *mut c_char; 1546 + 1547 + //========================================================================= 1548 + // SoupCookieJar 1549 + //========================================================================= 1550 + pub fn soup_cookie_jar_get_type() -> GType; 1551 + pub fn soup_cookie_jar_new() -> *mut SoupCookieJar; 1552 + pub fn soup_cookie_jar_add_cookie(jar: *mut SoupCookieJar, cookie: *mut SoupCookie); 1553 + pub fn soup_cookie_jar_add_cookie_full(jar: *mut SoupCookieJar, cookie: *mut SoupCookie, uri: *mut glib::GUri, first_party: *mut glib::GUri); 1554 + pub fn soup_cookie_jar_add_cookie_with_first_party(jar: *mut SoupCookieJar, first_party: *mut glib::GUri, cookie: *mut SoupCookie); 1555 + pub fn soup_cookie_jar_all_cookies(jar: *mut SoupCookieJar) -> *mut glib::GSList; 1556 + pub fn soup_cookie_jar_delete_cookie(jar: *mut SoupCookieJar, cookie: *mut SoupCookie); 1557 + pub fn soup_cookie_jar_get_accept_policy(jar: *mut SoupCookieJar) -> SoupCookieJarAcceptPolicy; 1558 + pub fn soup_cookie_jar_get_cookie_list(jar: *mut SoupCookieJar, uri: *mut glib::GUri, for_http: gboolean) -> *mut glib::GSList; 1559 + pub fn soup_cookie_jar_get_cookie_list_with_same_site_info(jar: *mut SoupCookieJar, uri: *mut glib::GUri, top_level: *mut glib::GUri, site_for_cookies: *mut glib::GUri, for_http: gboolean, is_safe_method: gboolean, is_top_level_navigation: gboolean) -> *mut glib::GSList; 1560 + pub fn soup_cookie_jar_get_cookies(jar: *mut SoupCookieJar, uri: *mut glib::GUri, for_http: gboolean) -> *mut c_char; 1561 + pub fn soup_cookie_jar_is_persistent(jar: *mut SoupCookieJar) -> gboolean; 1562 + pub fn soup_cookie_jar_set_accept_policy(jar: *mut SoupCookieJar, policy: SoupCookieJarAcceptPolicy); 1563 + pub fn soup_cookie_jar_set_cookie(jar: *mut SoupCookieJar, uri: *mut glib::GUri, cookie: *const c_char); 1564 + pub fn soup_cookie_jar_set_cookie_with_first_party(jar: *mut SoupCookieJar, uri: *mut glib::GUri, first_party: *mut glib::GUri, cookie: *const c_char); 1565 + 1566 + //========================================================================= 1567 + // SoupCookieJarDB 1568 + //========================================================================= 1569 + pub fn soup_cookie_jar_db_get_type() -> GType; 1570 + pub fn soup_cookie_jar_db_new(filename: *const c_char, read_only: gboolean) -> *mut SoupCookieJar; 1571 + 1572 + //========================================================================= 1573 + // SoupCookieJarText 1574 + //========================================================================= 1575 + pub fn soup_cookie_jar_text_get_type() -> GType; 1576 + pub fn soup_cookie_jar_text_new(filename: *const c_char, read_only: gboolean) -> *mut SoupCookieJar; 1577 + 1578 + //========================================================================= 1579 + // SoupHSTSEnforcer 1580 + //========================================================================= 1581 + pub fn soup_hsts_enforcer_get_type() -> GType; 1582 + pub fn soup_hsts_enforcer_new() -> *mut SoupHSTSEnforcer; 1583 + pub fn soup_hsts_enforcer_get_domains(hsts_enforcer: *mut SoupHSTSEnforcer, session_policies: gboolean) -> *mut glib::GList; 1584 + pub fn soup_hsts_enforcer_get_policies(hsts_enforcer: *mut SoupHSTSEnforcer, session_policies: gboolean) -> *mut glib::GList; 1585 + pub fn soup_hsts_enforcer_has_valid_policy(hsts_enforcer: *mut SoupHSTSEnforcer, domain: *const c_char) -> gboolean; 1586 + pub fn soup_hsts_enforcer_is_persistent(hsts_enforcer: *mut SoupHSTSEnforcer) -> gboolean; 1587 + pub fn soup_hsts_enforcer_set_policy(hsts_enforcer: *mut SoupHSTSEnforcer, policy: *mut SoupHSTSPolicy); 1588 + pub fn soup_hsts_enforcer_set_session_policy(hsts_enforcer: *mut SoupHSTSEnforcer, domain: *const c_char, include_subdomains: gboolean); 1589 + 1590 + //========================================================================= 1591 + // SoupHSTSEnforcerDB 1592 + //========================================================================= 1593 + pub fn soup_hsts_enforcer_db_get_type() -> GType; 1594 + pub fn soup_hsts_enforcer_db_new(filename: *const c_char) -> *mut SoupHSTSEnforcer; 1595 + 1596 + //========================================================================= 1597 + // SoupLogger 1598 + //========================================================================= 1599 + pub fn soup_logger_get_type() -> GType; 1600 + pub fn soup_logger_new(level: SoupLoggerLogLevel) -> *mut SoupLogger; 1601 + pub fn soup_logger_get_max_body_size(logger: *mut SoupLogger) -> c_int; 1602 + pub fn soup_logger_set_max_body_size(logger: *mut SoupLogger, max_body_size: c_int); 1603 + pub fn soup_logger_set_printer(logger: *mut SoupLogger, printer: SoupLoggerPrinter, printer_data: gpointer, destroy: glib::GDestroyNotify); 1604 + pub fn soup_logger_set_request_filter(logger: *mut SoupLogger, request_filter: SoupLoggerFilter, filter_data: gpointer, destroy: glib::GDestroyNotify); 1605 + pub fn soup_logger_set_response_filter(logger: *mut SoupLogger, response_filter: SoupLoggerFilter, filter_data: gpointer, destroy: glib::GDestroyNotify); 1606 + 1607 + //========================================================================= 1608 + // SoupMessage 1609 + //========================================================================= 1610 + pub fn soup_message_get_type() -> GType; 1611 + pub fn soup_message_new(method: *const c_char, uri_string: *const c_char) -> *mut SoupMessage; 1612 + pub fn soup_message_new_from_encoded_form(method: *const c_char, uri_string: *const c_char, encoded_form: *mut c_char) -> *mut SoupMessage; 1613 + pub fn soup_message_new_from_multipart(uri_string: *const c_char, multipart: *mut SoupMultipart) -> *mut SoupMessage; 1614 + pub fn soup_message_new_from_uri(method: *const c_char, uri: *mut glib::GUri) -> *mut SoupMessage; 1615 + pub fn soup_message_new_options_ping(base_uri: *mut glib::GUri) -> *mut SoupMessage; 1616 + pub fn soup_message_add_flags(msg: *mut SoupMessage, flags: SoupMessageFlags); 1617 + pub fn soup_message_add_header_handler(msg: *mut SoupMessage, signal: *const c_char, header: *const c_char, callback: gobject::GCallback, user_data: gpointer) -> c_uint; 1618 + pub fn soup_message_add_status_code_handler(msg: *mut SoupMessage, signal: *const c_char, status_code: c_uint, callback: gobject::GCallback, user_data: gpointer) -> c_uint; 1619 + pub fn soup_message_disable_feature(msg: *mut SoupMessage, feature_type: GType); 1620 + pub fn soup_message_get_connection_id(msg: *mut SoupMessage) -> u64; 1621 + pub fn soup_message_get_first_party(msg: *mut SoupMessage) -> *mut glib::GUri; 1622 + pub fn soup_message_get_flags(msg: *mut SoupMessage) -> SoupMessageFlags; 1623 + #[cfg(feature = "v3_4")] 1624 + #[cfg_attr(docsrs, doc(cfg(feature = "v3_4")))] 1625 + pub fn soup_message_get_force_http1(msg: *mut SoupMessage) -> gboolean; 1626 + pub fn soup_message_get_http_version(msg: *mut SoupMessage) -> SoupHTTPVersion; 1627 + pub fn soup_message_get_is_options_ping(msg: *mut SoupMessage) -> gboolean; 1628 + pub fn soup_message_get_is_top_level_navigation(msg: *mut SoupMessage) -> gboolean; 1629 + pub fn soup_message_get_method(msg: *mut SoupMessage) -> *const c_char; 1630 + pub fn soup_message_get_metrics(msg: *mut SoupMessage) -> *mut SoupMessageMetrics; 1631 + pub fn soup_message_get_priority(msg: *mut SoupMessage) -> SoupMessagePriority; 1632 + pub fn soup_message_get_reason_phrase(msg: *mut SoupMessage) -> *const c_char; 1633 + pub fn soup_message_get_remote_address(msg: *mut SoupMessage) -> *mut gio::GSocketAddress; 1634 + pub fn soup_message_get_request_headers(msg: *mut SoupMessage) -> *mut SoupMessageHeaders; 1635 + pub fn soup_message_get_response_headers(msg: *mut SoupMessage) -> *mut SoupMessageHeaders; 1636 + pub fn soup_message_get_site_for_cookies(msg: *mut SoupMessage) -> *mut glib::GUri; 1637 + pub fn soup_message_get_status(msg: *mut SoupMessage) -> SoupStatus; 1638 + pub fn soup_message_get_tls_ciphersuite_name(msg: *mut SoupMessage) -> *const c_char; 1639 + pub fn soup_message_get_tls_peer_certificate(msg: *mut SoupMessage) -> *mut gio::GTlsCertificate; 1640 + pub fn soup_message_get_tls_peer_certificate_errors(msg: *mut SoupMessage) -> gio::GTlsCertificateFlags; 1641 + pub fn soup_message_get_tls_protocol_version(msg: *mut SoupMessage) -> gio::GTlsProtocolVersion; 1642 + pub fn soup_message_get_uri(msg: *mut SoupMessage) -> *mut glib::GUri; 1643 + pub fn soup_message_is_feature_disabled(msg: *mut SoupMessage, feature_type: GType) -> gboolean; 1644 + pub fn soup_message_is_keepalive(msg: *mut SoupMessage) -> gboolean; 1645 + pub fn soup_message_query_flags(msg: *mut SoupMessage, flags: SoupMessageFlags) -> gboolean; 1646 + pub fn soup_message_remove_flags(msg: *mut SoupMessage, flags: SoupMessageFlags); 1647 + pub fn soup_message_set_first_party(msg: *mut SoupMessage, first_party: *mut glib::GUri); 1648 + pub fn soup_message_set_flags(msg: *mut SoupMessage, flags: SoupMessageFlags); 1649 + #[cfg(feature = "v3_4")] 1650 + #[cfg_attr(docsrs, doc(cfg(feature = "v3_4")))] 1651 + pub fn soup_message_set_force_http1(msg: *mut SoupMessage, value: gboolean); 1652 + pub fn soup_message_set_is_options_ping(msg: *mut SoupMessage, is_options_ping: gboolean); 1653 + pub fn soup_message_set_is_top_level_navigation(msg: *mut SoupMessage, is_top_level_navigation: gboolean); 1654 + pub fn soup_message_set_method(msg: *mut SoupMessage, method: *const c_char); 1655 + pub fn soup_message_set_priority(msg: *mut SoupMessage, priority: SoupMessagePriority); 1656 + pub fn soup_message_set_request_body(msg: *mut SoupMessage, content_type: *const c_char, stream: *mut gio::GInputStream, content_length: ssize_t); 1657 + pub fn soup_message_set_request_body_from_bytes(msg: *mut SoupMessage, content_type: *const c_char, bytes: *mut glib::GBytes); 1658 + pub fn soup_message_set_site_for_cookies(msg: *mut SoupMessage, site_for_cookies: *mut glib::GUri); 1659 + pub fn soup_message_set_tls_client_certificate(msg: *mut SoupMessage, certificate: *mut gio::GTlsCertificate); 1660 + pub fn soup_message_set_uri(msg: *mut SoupMessage, uri: *mut glib::GUri); 1661 + pub fn soup_message_tls_client_certificate_password_request_complete(msg: *mut SoupMessage); 1662 + 1663 + //========================================================================= 1664 + // SoupMultipartInputStream 1665 + //========================================================================= 1666 + pub fn soup_multipart_input_stream_get_type() -> GType; 1667 + pub fn soup_multipart_input_stream_new(msg: *mut SoupMessage, base_stream: *mut gio::GInputStream) -> *mut SoupMultipartInputStream; 1668 + pub fn soup_multipart_input_stream_get_headers(multipart: *mut SoupMultipartInputStream) -> *mut SoupMessageHeaders; 1669 + pub fn soup_multipart_input_stream_next_part(multipart: *mut SoupMultipartInputStream, cancellable: *mut gio::GCancellable, error: *mut *mut glib::GError) -> *mut gio::GInputStream; 1670 + pub fn soup_multipart_input_stream_next_part_async(multipart: *mut SoupMultipartInputStream, io_priority: c_int, cancellable: *mut gio::GCancellable, callback: gio::GAsyncReadyCallback, data: gpointer); 1671 + pub fn soup_multipart_input_stream_next_part_finish(multipart: *mut SoupMultipartInputStream, result: *mut gio::GAsyncResult, error: *mut *mut glib::GError) -> *mut gio::GInputStream; 1672 + 1673 + //========================================================================= 1674 + // SoupServer 1675 + //========================================================================= 1676 + pub fn soup_server_get_type() -> GType; 1677 + pub fn soup_server_new(optname1: *const c_char, ...) -> *mut SoupServer; 1678 + pub fn soup_server_accept_iostream(server: *mut SoupServer, stream: *mut gio::GIOStream, local_addr: *mut gio::GSocketAddress, remote_addr: *mut gio::GSocketAddress, error: *mut *mut glib::GError) -> gboolean; 1679 + pub fn soup_server_add_auth_domain(server: *mut SoupServer, auth_domain: *mut SoupAuthDomain); 1680 + pub fn soup_server_add_early_handler(server: *mut SoupServer, path: *const c_char, callback: SoupServerCallback, user_data: gpointer, destroy: glib::GDestroyNotify); 1681 + pub fn soup_server_add_handler(server: *mut SoupServer, path: *const c_char, callback: SoupServerCallback, user_data: gpointer, destroy: glib::GDestroyNotify); 1682 + pub fn soup_server_add_websocket_extension(server: *mut SoupServer, extension_type: GType); 1683 + pub fn soup_server_add_websocket_handler(server: *mut SoupServer, path: *const c_char, origin: *const c_char, protocols: *mut *mut c_char, callback: SoupServerWebsocketCallback, user_data: gpointer, destroy: glib::GDestroyNotify); 1684 + pub fn soup_server_disconnect(server: *mut SoupServer); 1685 + pub fn soup_server_get_listeners(server: *mut SoupServer) -> *mut glib::GSList; 1686 + pub fn soup_server_get_tls_auth_mode(server: *mut SoupServer) -> gio::GTlsAuthenticationMode; 1687 + pub fn soup_server_get_tls_certificate(server: *mut SoupServer) -> *mut gio::GTlsCertificate; 1688 + pub fn soup_server_get_tls_database(server: *mut SoupServer) -> *mut gio::GTlsDatabase; 1689 + pub fn soup_server_get_uris(server: *mut SoupServer) -> *mut glib::GSList; 1690 + pub fn soup_server_is_https(server: *mut SoupServer) -> gboolean; 1691 + pub fn soup_server_listen(server: *mut SoupServer, address: *mut gio::GSocketAddress, options: SoupServerListenOptions, error: *mut *mut glib::GError) -> gboolean; 1692 + pub fn soup_server_listen_all(server: *mut SoupServer, port: c_uint, options: SoupServerListenOptions, error: *mut *mut glib::GError) -> gboolean; 1693 + pub fn soup_server_listen_local(server: *mut SoupServer, port: c_uint, options: SoupServerListenOptions, error: *mut *mut glib::GError) -> gboolean; 1694 + pub fn soup_server_listen_socket(server: *mut SoupServer, socket: *mut gio::GSocket, options: SoupServerListenOptions, error: *mut *mut glib::GError) -> gboolean; 1695 + pub fn soup_server_pause_message(server: *mut SoupServer, msg: *mut SoupServerMessage); 1696 + pub fn soup_server_remove_auth_domain(server: *mut SoupServer, auth_domain: *mut SoupAuthDomain); 1697 + pub fn soup_server_remove_handler(server: *mut SoupServer, path: *const c_char); 1698 + pub fn soup_server_remove_websocket_extension(server: *mut SoupServer, extension_type: GType); 1699 + pub fn soup_server_set_tls_auth_mode(server: *mut SoupServer, mode: gio::GTlsAuthenticationMode); 1700 + pub fn soup_server_set_tls_certificate(server: *mut SoupServer, certificate: *mut gio::GTlsCertificate); 1701 + pub fn soup_server_set_tls_database(server: *mut SoupServer, tls_database: *mut gio::GTlsDatabase); 1702 + pub fn soup_server_unpause_message(server: *mut SoupServer, msg: *mut SoupServerMessage); 1703 + 1704 + //========================================================================= 1705 + // SoupServerMessage 1706 + //========================================================================= 1707 + pub fn soup_server_message_get_type() -> GType; 1708 + pub fn soup_server_message_get_http_version(msg: *mut SoupServerMessage) -> SoupHTTPVersion; 1709 + pub fn soup_server_message_get_local_address(msg: *mut SoupServerMessage) -> *mut gio::GSocketAddress; 1710 + pub fn soup_server_message_get_method(msg: *mut SoupServerMessage) -> *const c_char; 1711 + pub fn soup_server_message_get_reason_phrase(msg: *mut SoupServerMessage) -> *const c_char; 1712 + pub fn soup_server_message_get_remote_address(msg: *mut SoupServerMessage) -> *mut gio::GSocketAddress; 1713 + pub fn soup_server_message_get_remote_host(msg: *mut SoupServerMessage) -> *const c_char; 1714 + pub fn soup_server_message_get_request_body(msg: *mut SoupServerMessage) -> *mut SoupMessageBody; 1715 + pub fn soup_server_message_get_request_headers(msg: *mut SoupServerMessage) -> *mut SoupMessageHeaders; 1716 + pub fn soup_server_message_get_response_body(msg: *mut SoupServerMessage) -> *mut SoupMessageBody; 1717 + pub fn soup_server_message_get_response_headers(msg: *mut SoupServerMessage) -> *mut SoupMessageHeaders; 1718 + pub fn soup_server_message_get_socket(msg: *mut SoupServerMessage) -> *mut gio::GSocket; 1719 + pub fn soup_server_message_get_status(msg: *mut SoupServerMessage) -> c_uint; 1720 + #[cfg(feature = "v3_2")] 1721 + #[cfg_attr(docsrs, doc(cfg(feature = "v3_2")))] 1722 + pub fn soup_server_message_get_tls_peer_certificate(msg: *mut SoupServerMessage) -> *mut gio::GTlsCertificate; 1723 + #[cfg(feature = "v3_2")] 1724 + #[cfg_attr(docsrs, doc(cfg(feature = "v3_2")))] 1725 + pub fn soup_server_message_get_tls_peer_certificate_errors(msg: *mut SoupServerMessage) -> gio::GTlsCertificateFlags; 1726 + pub fn soup_server_message_get_uri(msg: *mut SoupServerMessage) -> *mut glib::GUri; 1727 + pub fn soup_server_message_is_options_ping(msg: *mut SoupServerMessage) -> gboolean; 1728 + #[cfg(feature = "v3_2")] 1729 + #[cfg_attr(docsrs, doc(cfg(feature = "v3_2")))] 1730 + pub fn soup_server_message_pause(msg: *mut SoupServerMessage); 1731 + pub fn soup_server_message_set_http_version(msg: *mut SoupServerMessage, version: SoupHTTPVersion); 1732 + pub fn soup_server_message_set_redirect(msg: *mut SoupServerMessage, status_code: c_uint, redirect_uri: *const c_char); 1733 + pub fn soup_server_message_set_response(msg: *mut SoupServerMessage, content_type: *const c_char, resp_use: SoupMemoryUse, resp_body: *const u8, resp_length: size_t); 1734 + pub fn soup_server_message_set_status(msg: *mut SoupServerMessage, status_code: c_uint, reason_phrase: *const c_char); 1735 + pub fn soup_server_message_steal_connection(msg: *mut SoupServerMessage) -> *mut gio::GIOStream; 1736 + #[cfg(feature = "v3_2")] 1737 + #[cfg_attr(docsrs, doc(cfg(feature = "v3_2")))] 1738 + pub fn soup_server_message_unpause(msg: *mut SoupServerMessage); 1739 + 1740 + //========================================================================= 1741 + // SoupSession 1742 + //========================================================================= 1743 + pub fn soup_session_get_type() -> GType; 1744 + pub fn soup_session_new() -> *mut SoupSession; 1745 + pub fn soup_session_new_with_options(optname1: *const c_char, ...) -> *mut SoupSession; 1746 + pub fn soup_session_abort(session: *mut SoupSession); 1747 + pub fn soup_session_add_feature(session: *mut SoupSession, feature: *mut SoupSessionFeature); 1748 + pub fn soup_session_add_feature_by_type(session: *mut SoupSession, feature_type: GType); 1749 + pub fn soup_session_get_accept_language(session: *mut SoupSession) -> *const c_char; 1750 + pub fn soup_session_get_accept_language_auto(session: *mut SoupSession) -> gboolean; 1751 + pub fn soup_session_get_async_result_message(session: *mut SoupSession, result: *mut gio::GAsyncResult) -> *mut SoupMessage; 1752 + pub fn soup_session_get_feature(session: *mut SoupSession, feature_type: GType) -> *mut SoupSessionFeature; 1753 + pub fn soup_session_get_feature_for_message(session: *mut SoupSession, feature_type: GType, msg: *mut SoupMessage) -> *mut SoupSessionFeature; 1754 + pub fn soup_session_get_idle_timeout(session: *mut SoupSession) -> c_uint; 1755 + pub fn soup_session_get_local_address(session: *mut SoupSession) -> *mut gio::GInetSocketAddress; 1756 + pub fn soup_session_get_max_conns(session: *mut SoupSession) -> c_uint; 1757 + pub fn soup_session_get_max_conns_per_host(session: *mut SoupSession) -> c_uint; 1758 + pub fn soup_session_get_proxy_resolver(session: *mut SoupSession) -> *mut gio::GProxyResolver; 1759 + pub fn soup_session_get_remote_connectable(session: *mut SoupSession) -> *mut gio::GSocketConnectable; 1760 + pub fn soup_session_get_timeout(session: *mut SoupSession) -> c_uint; 1761 + pub fn soup_session_get_tls_database(session: *mut SoupSession) -> *mut gio::GTlsDatabase; 1762 + pub fn soup_session_get_tls_interaction(session: *mut SoupSession) -> *mut gio::GTlsInteraction; 1763 + pub fn soup_session_get_user_agent(session: *mut SoupSession) -> *const c_char; 1764 + pub fn soup_session_has_feature(session: *mut SoupSession, feature_type: GType) -> gboolean; 1765 + pub fn soup_session_preconnect_async(session: *mut SoupSession, msg: *mut SoupMessage, io_priority: c_int, cancellable: *mut gio::GCancellable, callback: gio::GAsyncReadyCallback, user_data: gpointer); 1766 + pub fn soup_session_preconnect_finish(session: *mut SoupSession, result: *mut gio::GAsyncResult, error: *mut *mut glib::GError) -> gboolean; 1767 + pub fn soup_session_remove_feature(session: *mut SoupSession, feature: *mut SoupSessionFeature); 1768 + pub fn soup_session_remove_feature_by_type(session: *mut SoupSession, feature_type: GType); 1769 + pub fn soup_session_send(session: *mut SoupSession, msg: *mut SoupMessage, cancellable: *mut gio::GCancellable, error: *mut *mut glib::GError) -> *mut gio::GInputStream; 1770 + pub fn soup_session_send_and_read(session: *mut SoupSession, msg: *mut SoupMessage, cancellable: *mut gio::GCancellable, error: *mut *mut glib::GError) -> *mut glib::GBytes; 1771 + pub fn soup_session_send_and_read_async(session: *mut SoupSession, msg: *mut SoupMessage, io_priority: c_int, cancellable: *mut gio::GCancellable, callback: gio::GAsyncReadyCallback, user_data: gpointer); 1772 + pub fn soup_session_send_and_read_finish(session: *mut SoupSession, result: *mut gio::GAsyncResult, error: *mut *mut glib::GError) -> *mut glib::GBytes; 1773 + #[cfg(feature = "v3_4")] 1774 + #[cfg_attr(docsrs, doc(cfg(feature = "v3_4")))] 1775 + pub fn soup_session_send_and_splice(session: *mut SoupSession, msg: *mut SoupMessage, out_stream: *mut gio::GOutputStream, flags: gio::GOutputStreamSpliceFlags, cancellable: *mut gio::GCancellable, error: *mut *mut glib::GError) -> ssize_t; 1776 + #[cfg(feature = "v3_4")] 1777 + #[cfg_attr(docsrs, doc(cfg(feature = "v3_4")))] 1778 + pub fn soup_session_send_and_splice_async(session: *mut SoupSession, msg: *mut SoupMessage, out_stream: *mut gio::GOutputStream, flags: gio::GOutputStreamSpliceFlags, io_priority: c_int, cancellable: *mut gio::GCancellable, callback: gio::GAsyncReadyCallback, user_data: gpointer); 1779 + #[cfg(feature = "v3_4")] 1780 + #[cfg_attr(docsrs, doc(cfg(feature = "v3_4")))] 1781 + pub fn soup_session_send_and_splice_finish(session: *mut SoupSession, result: *mut gio::GAsyncResult, error: *mut *mut glib::GError) -> ssize_t; 1782 + pub fn soup_session_send_async(session: *mut SoupSession, msg: *mut SoupMessage, io_priority: c_int, cancellable: *mut gio::GCancellable, callback: gio::GAsyncReadyCallback, user_data: gpointer); 1783 + pub fn soup_session_send_finish(session: *mut SoupSession, result: *mut gio::GAsyncResult, error: *mut *mut glib::GError) -> *mut gio::GInputStream; 1784 + pub fn soup_session_set_accept_language(session: *mut SoupSession, accept_language: *const c_char); 1785 + pub fn soup_session_set_accept_language_auto(session: *mut SoupSession, accept_language_auto: gboolean); 1786 + pub fn soup_session_set_idle_timeout(session: *mut SoupSession, timeout: c_uint); 1787 + pub fn soup_session_set_proxy_resolver(session: *mut SoupSession, proxy_resolver: *mut gio::GProxyResolver); 1788 + pub fn soup_session_set_timeout(session: *mut SoupSession, timeout: c_uint); 1789 + pub fn soup_session_set_tls_database(session: *mut SoupSession, tls_database: *mut gio::GTlsDatabase); 1790 + pub fn soup_session_set_tls_interaction(session: *mut SoupSession, tls_interaction: *mut gio::GTlsInteraction); 1791 + pub fn soup_session_set_user_agent(session: *mut SoupSession, user_agent: *const c_char); 1792 + pub fn soup_session_websocket_connect_async(session: *mut SoupSession, msg: *mut SoupMessage, origin: *const c_char, protocols: *mut *mut c_char, io_priority: c_int, cancellable: *mut gio::GCancellable, callback: gio::GAsyncReadyCallback, user_data: gpointer); 1793 + pub fn soup_session_websocket_connect_finish(session: *mut SoupSession, result: *mut gio::GAsyncResult, error: *mut *mut glib::GError) -> *mut SoupWebsocketConnection; 1794 + 1795 + //========================================================================= 1796 + // SoupWebsocketConnection 1797 + //========================================================================= 1798 + pub fn soup_websocket_connection_get_type() -> GType; 1799 + pub fn soup_websocket_connection_new(stream: *mut gio::GIOStream, uri: *mut glib::GUri, type_: SoupWebsocketConnectionType, origin: *const c_char, protocol: *const c_char, extensions: *mut glib::GList) -> *mut SoupWebsocketConnection; 1800 + pub fn soup_websocket_connection_close(self_: *mut SoupWebsocketConnection, code: c_ushort, data: *const c_char); 1801 + pub fn soup_websocket_connection_get_close_code(self_: *mut SoupWebsocketConnection) -> c_ushort; 1802 + pub fn soup_websocket_connection_get_close_data(self_: *mut SoupWebsocketConnection) -> *const c_char; 1803 + pub fn soup_websocket_connection_get_connection_type(self_: *mut SoupWebsocketConnection) -> SoupWebsocketConnectionType; 1804 + pub fn soup_websocket_connection_get_extensions(self_: *mut SoupWebsocketConnection) -> *mut glib::GList; 1805 + pub fn soup_websocket_connection_get_io_stream(self_: *mut SoupWebsocketConnection) -> *mut gio::GIOStream; 1806 + pub fn soup_websocket_connection_get_keepalive_interval(self_: *mut SoupWebsocketConnection) -> c_uint; 1807 + pub fn soup_websocket_connection_get_max_incoming_payload_size(self_: *mut SoupWebsocketConnection) -> u64; 1808 + pub fn soup_websocket_connection_get_origin(self_: *mut SoupWebsocketConnection) -> *const c_char; 1809 + pub fn soup_websocket_connection_get_protocol(self_: *mut SoupWebsocketConnection) -> *const c_char; 1810 + pub fn soup_websocket_connection_get_state(self_: *mut SoupWebsocketConnection) -> SoupWebsocketState; 1811 + pub fn soup_websocket_connection_get_uri(self_: *mut SoupWebsocketConnection) -> *mut glib::GUri; 1812 + pub fn soup_websocket_connection_send_binary(self_: *mut SoupWebsocketConnection, data: gconstpointer, length: size_t); 1813 + pub fn soup_websocket_connection_send_message(self_: *mut SoupWebsocketConnection, type_: SoupWebsocketDataType, message: *mut glib::GBytes); 1814 + pub fn soup_websocket_connection_send_text(self_: *mut SoupWebsocketConnection, text: *const c_char); 1815 + pub fn soup_websocket_connection_set_keepalive_interval(self_: *mut SoupWebsocketConnection, interval: c_uint); 1816 + pub fn soup_websocket_connection_set_max_incoming_payload_size(self_: *mut SoupWebsocketConnection, max_incoming_payload_size: u64); 1817 + 1818 + //========================================================================= 1819 + // SoupWebsocketExtension 1820 + //========================================================================= 1821 + pub fn soup_websocket_extension_get_type() -> GType; 1822 + pub fn soup_websocket_extension_configure(extension: *mut SoupWebsocketExtension, connection_type: SoupWebsocketConnectionType, params: *mut glib::GHashTable, error: *mut *mut glib::GError) -> gboolean; 1823 + pub fn soup_websocket_extension_get_request_params(extension: *mut SoupWebsocketExtension) -> *mut c_char; 1824 + pub fn soup_websocket_extension_get_response_params(extension: *mut SoupWebsocketExtension) -> *mut c_char; 1825 + pub fn soup_websocket_extension_process_incoming_message(extension: *mut SoupWebsocketExtension, header: *mut u8, payload: *mut glib::GBytes, error: *mut *mut glib::GError) -> *mut glib::GBytes; 1826 + pub fn soup_websocket_extension_process_outgoing_message(extension: *mut SoupWebsocketExtension, header: *mut u8, payload: *mut glib::GBytes, error: *mut *mut glib::GError) -> *mut glib::GBytes; 1827 + 1828 + //========================================================================= 1829 + // SoupWebsocketExtensionDeflate 1830 + //========================================================================= 1831 + pub fn soup_websocket_extension_deflate_get_type() -> GType; 1832 + 1833 + //========================================================================= 1834 + // SoupWebsocketExtensionManager 1835 + //========================================================================= 1836 + pub fn soup_websocket_extension_manager_get_type() -> GType; 1837 + 1838 + //========================================================================= 1839 + // SoupSessionFeature 1840 + //========================================================================= 1841 + pub fn soup_session_feature_get_type() -> GType; 1842 + 1843 + //========================================================================= 1844 + // Other functions 1845 + //========================================================================= 1846 + pub fn soup_check_version(major: c_uint, minor: c_uint, micro: c_uint) -> gboolean; 1847 + pub fn soup_cookies_free(cookies: *mut glib::GSList); 1848 + pub fn soup_cookies_from_request(msg: *mut SoupMessage) -> *mut glib::GSList; 1849 + pub fn soup_cookies_from_response(msg: *mut SoupMessage) -> *mut glib::GSList; 1850 + pub fn soup_cookies_to_cookie_header(cookies: *mut glib::GSList) -> *mut c_char; 1851 + pub fn soup_cookies_to_request(cookies: *mut glib::GSList, msg: *mut SoupMessage); 1852 + pub fn soup_cookies_to_response(cookies: *mut glib::GSList, msg: *mut SoupMessage); 1853 + pub fn soup_date_time_new_from_http_string(date_string: *const c_char) -> *mut glib::GDateTime; 1854 + pub fn soup_date_time_to_string(date: *mut glib::GDateTime, format: SoupDateFormat) -> *mut c_char; 1855 + pub fn soup_form_decode(encoded_form: *const c_char) -> *mut glib::GHashTable; 1856 + pub fn soup_form_decode_multipart(multipart: *mut SoupMultipart, file_control_name: *const c_char, filename: *mut *mut c_char, content_type: *mut *mut c_char, file: *mut *mut glib::GBytes) -> *mut glib::GHashTable; 1857 + pub fn soup_form_encode(first_field: *const c_char, ...) -> *mut c_char; 1858 + pub fn soup_form_encode_datalist(form_data_set: *mut *mut glib::GData) -> *mut c_char; 1859 + pub fn soup_form_encode_hash(form_data_set: *mut glib::GHashTable) -> *mut c_char; 1860 + //pub fn soup_form_encode_valist(first_field: *const c_char, args: /*Unimplemented*/va_list) -> *mut c_char; 1861 + pub fn soup_get_major_version() -> c_uint; 1862 + pub fn soup_get_micro_version() -> c_uint; 1863 + pub fn soup_get_minor_version() -> c_uint; 1864 + pub fn soup_header_contains(header: *const c_char, token: *const c_char) -> gboolean; 1865 + pub fn soup_header_free_list(list: *mut glib::GSList); 1866 + pub fn soup_header_free_param_list(param_list: *mut glib::GHashTable); 1867 + pub fn soup_header_g_string_append_param(string: *mut glib::GString, name: *const c_char, value: *const c_char); 1868 + pub fn soup_header_g_string_append_param_quoted(string: *mut glib::GString, name: *const c_char, value: *const c_char); 1869 + pub fn soup_header_parse_list(header: *const c_char) -> *mut glib::GSList; 1870 + pub fn soup_header_parse_param_list(header: *const c_char) -> *mut glib::GHashTable; 1871 + pub fn soup_header_parse_param_list_strict(header: *const c_char) -> *mut glib::GHashTable; 1872 + pub fn soup_header_parse_quality_list(header: *const c_char, unacceptable: *mut *mut glib::GSList) -> *mut glib::GSList; 1873 + pub fn soup_header_parse_semi_param_list(header: *const c_char) -> *mut glib::GHashTable; 1874 + pub fn soup_header_parse_semi_param_list_strict(header: *const c_char) -> *mut glib::GHashTable; 1875 + pub fn soup_headers_parse(str: *const c_char, len: c_int, dest: *mut SoupMessageHeaders) -> gboolean; 1876 + pub fn soup_headers_parse_request(str: *const c_char, len: c_int, req_headers: *mut SoupMessageHeaders, req_method: *mut *mut c_char, req_path: *mut *mut c_char, ver: *mut SoupHTTPVersion) -> c_uint; 1877 + pub fn soup_headers_parse_response(str: *const c_char, len: c_int, headers: *mut SoupMessageHeaders, ver: *mut SoupHTTPVersion, status_code: *mut c_uint, reason_phrase: *mut *mut c_char) -> gboolean; 1878 + pub fn soup_headers_parse_status_line(status_line: *const c_char, ver: *mut SoupHTTPVersion, status_code: *mut c_uint, reason_phrase: *mut *mut c_char) -> gboolean; 1879 + pub fn soup_tld_domain_is_public_suffix(domain: *const c_char) -> gboolean; 1880 + pub fn soup_tld_get_base_domain(hostname: *const c_char, error: *mut *mut glib::GError) -> *const c_char; 1881 + pub fn soup_uri_copy(uri: *mut glib::GUri, first_component: SoupURIComponent, ...) -> *mut glib::GUri; 1882 + pub fn soup_uri_decode_data_uri(uri: *const c_char, content_type: *mut *mut c_char) -> *mut glib::GBytes; 1883 + pub fn soup_uri_equal(uri1: *mut glib::GUri, uri2: *mut glib::GUri) -> gboolean; 1884 + pub fn soup_websocket_client_prepare_handshake(msg: *mut SoupMessage, origin: *const c_char, protocols: *mut *mut c_char, supported_extensions: *mut glib::GPtrArray); 1885 + pub fn soup_websocket_client_verify_handshake(msg: *mut SoupMessage, supported_extensions: *mut glib::GPtrArray, accepted_extensions: *mut *mut glib::GList, error: *mut *mut glib::GError) -> gboolean; 1886 + pub fn soup_websocket_server_check_handshake(msg: *mut SoupServerMessage, origin: *const c_char, protocols: *mut *mut c_char, supported_extensions: *mut glib::GPtrArray, error: *mut *mut glib::GError) -> gboolean; 1887 + pub fn soup_websocket_server_process_handshake(msg: *mut SoupServerMessage, expected_origin: *const c_char, protocols: *mut *mut c_char, supported_extensions: *mut glib::GPtrArray, accepted_extensions: *mut *mut glib::GList) -> gboolean; 1888 + 1889 + }
+433
soup/sys/tests/abi.rs
··· 1 + // This file was generated by gir (https://github.com/gtk-rs/gir) 2 + // from ../../gir-files 3 + // from ../gir-files 4 + // DO NOT EDIT 5 + 6 + #![cfg(unix)] 7 + 8 + use soup_sys::*; 9 + use std::mem::{align_of, size_of}; 10 + use std::env; 11 + use std::error::Error; 12 + use std::ffi::OsString; 13 + use std::path::Path; 14 + use std::process::{Command, Stdio}; 15 + use std::str; 16 + use tempfile::Builder; 17 + 18 + static PACKAGES: &[&str] = &["libsoup-3.0"]; 19 + 20 + #[derive(Clone, Debug)] 21 + struct Compiler { 22 + pub args: Vec<String>, 23 + } 24 + 25 + impl Compiler { 26 + pub fn new() -> Result<Self, Box<dyn Error>> { 27 + let mut args = get_var("CC", "cc")?; 28 + args.push("-Wno-deprecated-declarations".to_owned()); 29 + // For _Generic 30 + args.push("-std=c11".to_owned()); 31 + // For %z support in printf when using MinGW. 32 + args.push("-D__USE_MINGW_ANSI_STDIO".to_owned()); 33 + args.extend(get_var("CFLAGS", "")?); 34 + args.extend(get_var("CPPFLAGS", "")?); 35 + args.extend(pkg_config_cflags(PACKAGES)?); 36 + Ok(Self { args }) 37 + } 38 + 39 + pub fn compile(&self, src: &Path, out: &Path) -> Result<(), Box<dyn Error>> { 40 + let mut cmd = self.to_command(); 41 + cmd.arg(src); 42 + cmd.arg("-o"); 43 + cmd.arg(out); 44 + let status = cmd.spawn()?.wait()?; 45 + if !status.success() { 46 + return Err(format!("compilation command {cmd:?} failed, {status}").into()); 47 + } 48 + Ok(()) 49 + } 50 + 51 + fn to_command(&self) -> Command { 52 + let mut cmd = Command::new(&self.args[0]); 53 + cmd.args(&self.args[1..]); 54 + cmd 55 + } 56 + } 57 + 58 + fn get_var(name: &str, default: &str) -> Result<Vec<String>, Box<dyn Error>> { 59 + match env::var(name) { 60 + Ok(value) => Ok(shell_words::split(&value)?), 61 + Err(env::VarError::NotPresent) => Ok(shell_words::split(default)?), 62 + Err(err) => Err(format!("{name} {err}").into()), 63 + } 64 + } 65 + 66 + fn pkg_config_cflags(packages: &[&str]) -> Result<Vec<String>, Box<dyn Error>> { 67 + if packages.is_empty() { 68 + return Ok(Vec::new()); 69 + } 70 + let pkg_config = env::var_os("PKG_CONFIG") 71 + .unwrap_or_else(|| OsString::from("pkg-config")); 72 + let mut cmd = Command::new(pkg_config); 73 + cmd.arg("--cflags"); 74 + cmd.args(packages); 75 + cmd.stderr(Stdio::inherit()); 76 + let out = cmd.output()?; 77 + if !out.status.success() { 78 + let (status, stdout) = (out.status, String::from_utf8_lossy(&out.stdout)); 79 + return Err(format!("command {cmd:?} failed, {status:?}\nstdout: {stdout}").into()); 80 + } 81 + let stdout = str::from_utf8(&out.stdout)?; 82 + Ok(shell_words::split(stdout.trim())?) 83 + } 84 + 85 + 86 + #[derive(Copy, Clone, Debug, Eq, PartialEq)] 87 + struct Layout { 88 + size: usize, 89 + alignment: usize, 90 + } 91 + 92 + #[derive(Copy, Clone, Debug, Default, Eq, PartialEq)] 93 + struct Results { 94 + /// Number of successfully completed tests. 95 + passed: usize, 96 + /// Total number of failed tests (including those that failed to compile). 97 + failed: usize, 98 + } 99 + 100 + impl Results { 101 + fn record_passed(&mut self) { 102 + self.passed += 1; 103 + } 104 + fn record_failed(&mut self) { 105 + self.failed += 1; 106 + } 107 + fn summary(&self) -> String { 108 + format!("{} passed; {} failed", self.passed, self.failed) 109 + } 110 + fn expect_total_success(&self) { 111 + if self.failed == 0 { 112 + println!("OK: {}", self.summary()); 113 + } else { 114 + panic!("FAILED: {}", self.summary()); 115 + }; 116 + } 117 + } 118 + 119 + #[test] 120 + fn cross_validate_constants_with_c() { 121 + let mut c_constants: Vec<(String, String)> = Vec::new(); 122 + 123 + for l in get_c_output("constant").unwrap().lines() { 124 + let (name, value) = l.split_once(';').expect("Missing ';' separator"); 125 + c_constants.push((name.to_owned(), value.to_owned())); 126 + } 127 + 128 + let mut results = Results::default(); 129 + 130 + for ((rust_name, rust_value), (c_name, c_value)) in 131 + RUST_CONSTANTS.iter().zip(c_constants.iter()) 132 + { 133 + if rust_name != c_name { 134 + results.record_failed(); 135 + eprintln!("Name mismatch:\nRust: {rust_name:?}\nC: {c_name:?}"); 136 + continue; 137 + } 138 + 139 + if rust_value != c_value { 140 + results.record_failed(); 141 + eprintln!( 142 + "Constant value mismatch for {rust_name}\nRust: {rust_value:?}\nC: {c_value:?}", 143 + ); 144 + continue; 145 + } 146 + 147 + results.record_passed(); 148 + } 149 + 150 + results.expect_total_success(); 151 + } 152 + 153 + #[test] 154 + fn cross_validate_layout_with_c() { 155 + let mut c_layouts = Vec::new(); 156 + 157 + for l in get_c_output("layout").unwrap().lines() { 158 + let (name, value) = l.split_once(';').expect("Missing first ';' separator"); 159 + let (size, alignment) = value.split_once(';').expect("Missing second ';' separator"); 160 + let size = size.parse().expect("Failed to parse size"); 161 + let alignment = alignment.parse().expect("Failed to parse alignment"); 162 + c_layouts.push((name.to_owned(), Layout { size, alignment })); 163 + } 164 + 165 + let mut results = Results::default(); 166 + 167 + for ((rust_name, rust_layout), (c_name, c_layout)) in 168 + RUST_LAYOUTS.iter().zip(c_layouts.iter()) 169 + { 170 + if rust_name != c_name { 171 + results.record_failed(); 172 + eprintln!("Name mismatch:\nRust: {rust_name:?}\nC: {c_name:?}"); 173 + continue; 174 + } 175 + 176 + if rust_layout != c_layout { 177 + results.record_failed(); 178 + eprintln!( 179 + "Layout mismatch for {rust_name}\nRust: {rust_layout:?}\nC: {c_layout:?}", 180 + ); 181 + continue; 182 + } 183 + 184 + results.record_passed(); 185 + } 186 + 187 + results.expect_total_success(); 188 + } 189 + 190 + fn get_c_output(name: &str) -> Result<String, Box<dyn Error>> { 191 + let tmpdir = Builder::new().prefix("abi").tempdir()?; 192 + let exe = tmpdir.path().join(name); 193 + let c_file = Path::new("tests").join(name).with_extension("c"); 194 + 195 + let cc = Compiler::new().expect("configured compiler"); 196 + cc.compile(&c_file, &exe)?; 197 + 198 + let mut cmd = Command::new(exe); 199 + cmd.stderr(Stdio::inherit()); 200 + let out = cmd.output()?; 201 + if !out.status.success() { 202 + let (status, stdout) = (out.status, String::from_utf8_lossy(&out.stdout)); 203 + return Err(format!("command {cmd:?} failed, {status:?}\nstdout: {stdout}").into()); 204 + } 205 + 206 + Ok(String::from_utf8(out.stdout)?) 207 + } 208 + 209 + const RUST_LAYOUTS: &[(&str, Layout)] = &[ 210 + ("SoupAuth", Layout {size: size_of::<SoupAuth>(), alignment: align_of::<SoupAuth>()}), 211 + ("SoupAuthClass", Layout {size: size_of::<SoupAuthClass>(), alignment: align_of::<SoupAuthClass>()}), 212 + ("SoupAuthDomain", Layout {size: size_of::<SoupAuthDomain>(), alignment: align_of::<SoupAuthDomain>()}), 213 + ("SoupAuthDomainBasicClass", Layout {size: size_of::<SoupAuthDomainBasicClass>(), alignment: align_of::<SoupAuthDomainBasicClass>()}), 214 + ("SoupAuthDomainClass", Layout {size: size_of::<SoupAuthDomainClass>(), alignment: align_of::<SoupAuthDomainClass>()}), 215 + ("SoupAuthDomainDigestClass", Layout {size: size_of::<SoupAuthDomainDigestClass>(), alignment: align_of::<SoupAuthDomainDigestClass>()}), 216 + ("SoupAuthManagerClass", Layout {size: size_of::<SoupAuthManagerClass>(), alignment: align_of::<SoupAuthManagerClass>()}), 217 + ("SoupCache", Layout {size: size_of::<SoupCache>(), alignment: align_of::<SoupCache>()}), 218 + ("SoupCacheClass", Layout {size: size_of::<SoupCacheClass>(), alignment: align_of::<SoupCacheClass>()}), 219 + ("SoupCacheType", Layout {size: size_of::<SoupCacheType>(), alignment: align_of::<SoupCacheType>()}), 220 + ("SoupCacheability", Layout {size: size_of::<SoupCacheability>(), alignment: align_of::<SoupCacheability>()}), 221 + ("SoupContentDecoderClass", Layout {size: size_of::<SoupContentDecoderClass>(), alignment: align_of::<SoupContentDecoderClass>()}), 222 + ("SoupContentSnifferClass", Layout {size: size_of::<SoupContentSnifferClass>(), alignment: align_of::<SoupContentSnifferClass>()}), 223 + ("SoupCookieJar", Layout {size: size_of::<SoupCookieJar>(), alignment: align_of::<SoupCookieJar>()}), 224 + ("SoupCookieJarAcceptPolicy", Layout {size: size_of::<SoupCookieJarAcceptPolicy>(), alignment: align_of::<SoupCookieJarAcceptPolicy>()}), 225 + ("SoupCookieJarClass", Layout {size: size_of::<SoupCookieJarClass>(), alignment: align_of::<SoupCookieJarClass>()}), 226 + ("SoupCookieJarDBClass", Layout {size: size_of::<SoupCookieJarDBClass>(), alignment: align_of::<SoupCookieJarDBClass>()}), 227 + ("SoupCookieJarTextClass", Layout {size: size_of::<SoupCookieJarTextClass>(), alignment: align_of::<SoupCookieJarTextClass>()}), 228 + ("SoupDateFormat", Layout {size: size_of::<SoupDateFormat>(), alignment: align_of::<SoupDateFormat>()}), 229 + ("SoupEncoding", Layout {size: size_of::<SoupEncoding>(), alignment: align_of::<SoupEncoding>()}), 230 + ("SoupExpectation", Layout {size: size_of::<SoupExpectation>(), alignment: align_of::<SoupExpectation>()}), 231 + ("SoupHSTSEnforcer", Layout {size: size_of::<SoupHSTSEnforcer>(), alignment: align_of::<SoupHSTSEnforcer>()}), 232 + ("SoupHSTSEnforcerClass", Layout {size: size_of::<SoupHSTSEnforcerClass>(), alignment: align_of::<SoupHSTSEnforcerClass>()}), 233 + ("SoupHSTSEnforcerDBClass", Layout {size: size_of::<SoupHSTSEnforcerDBClass>(), alignment: align_of::<SoupHSTSEnforcerDBClass>()}), 234 + ("SoupHTTPVersion", Layout {size: size_of::<SoupHTTPVersion>(), alignment: align_of::<SoupHTTPVersion>()}), 235 + ("SoupLoggerClass", Layout {size: size_of::<SoupLoggerClass>(), alignment: align_of::<SoupLoggerClass>()}), 236 + ("SoupLoggerLogLevel", Layout {size: size_of::<SoupLoggerLogLevel>(), alignment: align_of::<SoupLoggerLogLevel>()}), 237 + ("SoupMemoryUse", Layout {size: size_of::<SoupMemoryUse>(), alignment: align_of::<SoupMemoryUse>()}), 238 + ("SoupMessageBody", Layout {size: size_of::<SoupMessageBody>(), alignment: align_of::<SoupMessageBody>()}), 239 + ("SoupMessageClass", Layout {size: size_of::<SoupMessageClass>(), alignment: align_of::<SoupMessageClass>()}), 240 + ("SoupMessageFlags", Layout {size: size_of::<SoupMessageFlags>(), alignment: align_of::<SoupMessageFlags>()}), 241 + ("SoupMessageHeadersIter", Layout {size: size_of::<SoupMessageHeadersIter>(), alignment: align_of::<SoupMessageHeadersIter>()}), 242 + ("SoupMessageHeadersType", Layout {size: size_of::<SoupMessageHeadersType>(), alignment: align_of::<SoupMessageHeadersType>()}), 243 + ("SoupMessagePriority", Layout {size: size_of::<SoupMessagePriority>(), alignment: align_of::<SoupMessagePriority>()}), 244 + ("SoupMultipartInputStreamClass", Layout {size: size_of::<SoupMultipartInputStreamClass>(), alignment: align_of::<SoupMultipartInputStreamClass>()}), 245 + ("SoupRange", Layout {size: size_of::<SoupRange>(), alignment: align_of::<SoupRange>()}), 246 + ("SoupSameSitePolicy", Layout {size: size_of::<SoupSameSitePolicy>(), alignment: align_of::<SoupSameSitePolicy>()}), 247 + ("SoupServer", Layout {size: size_of::<SoupServer>(), alignment: align_of::<SoupServer>()}), 248 + ("SoupServerClass", Layout {size: size_of::<SoupServerClass>(), alignment: align_of::<SoupServerClass>()}), 249 + ("SoupServerListenOptions", Layout {size: size_of::<SoupServerListenOptions>(), alignment: align_of::<SoupServerListenOptions>()}), 250 + ("SoupServerMessageClass", Layout {size: size_of::<SoupServerMessageClass>(), alignment: align_of::<SoupServerMessageClass>()}), 251 + ("SoupSession", Layout {size: size_of::<SoupSession>(), alignment: align_of::<SoupSession>()}), 252 + ("SoupSessionClass", Layout {size: size_of::<SoupSessionClass>(), alignment: align_of::<SoupSessionClass>()}), 253 + ("SoupSessionError", Layout {size: size_of::<SoupSessionError>(), alignment: align_of::<SoupSessionError>()}), 254 + ("SoupStatus", Layout {size: size_of::<SoupStatus>(), alignment: align_of::<SoupStatus>()}), 255 + ("SoupTLDError", Layout {size: size_of::<SoupTLDError>(), alignment: align_of::<SoupTLDError>()}), 256 + ("SoupURIComponent", Layout {size: size_of::<SoupURIComponent>(), alignment: align_of::<SoupURIComponent>()}), 257 + ("SoupWebsocketCloseCode", Layout {size: size_of::<SoupWebsocketCloseCode>(), alignment: align_of::<SoupWebsocketCloseCode>()}), 258 + ("SoupWebsocketConnectionClass", Layout {size: size_of::<SoupWebsocketConnectionClass>(), alignment: align_of::<SoupWebsocketConnectionClass>()}), 259 + ("SoupWebsocketConnectionType", Layout {size: size_of::<SoupWebsocketConnectionType>(), alignment: align_of::<SoupWebsocketConnectionType>()}), 260 + ("SoupWebsocketDataType", Layout {size: size_of::<SoupWebsocketDataType>(), alignment: align_of::<SoupWebsocketDataType>()}), 261 + ("SoupWebsocketError", Layout {size: size_of::<SoupWebsocketError>(), alignment: align_of::<SoupWebsocketError>()}), 262 + ("SoupWebsocketExtension", Layout {size: size_of::<SoupWebsocketExtension>(), alignment: align_of::<SoupWebsocketExtension>()}), 263 + ("SoupWebsocketExtensionClass", Layout {size: size_of::<SoupWebsocketExtensionClass>(), alignment: align_of::<SoupWebsocketExtensionClass>()}), 264 + ("SoupWebsocketExtensionDeflateClass", Layout {size: size_of::<SoupWebsocketExtensionDeflateClass>(), alignment: align_of::<SoupWebsocketExtensionDeflateClass>()}), 265 + ("SoupWebsocketExtensionManagerClass", Layout {size: size_of::<SoupWebsocketExtensionManagerClass>(), alignment: align_of::<SoupWebsocketExtensionManagerClass>()}), 266 + ("SoupWebsocketState", Layout {size: size_of::<SoupWebsocketState>(), alignment: align_of::<SoupWebsocketState>()}), 267 + ]; 268 + 269 + const RUST_CONSTANTS: &[(&str, &str)] = &[ 270 + ("(guint) SOUP_CACHE_CACHEABLE", "1"), 271 + ("(guint) SOUP_CACHE_INVALIDATES", "4"), 272 + ("(gint) SOUP_CACHE_SHARED", "1"), 273 + ("(gint) SOUP_CACHE_SINGLE_USER", "0"), 274 + ("(guint) SOUP_CACHE_UNCACHEABLE", "2"), 275 + ("(guint) SOUP_CACHE_VALIDATES", "8"), 276 + ("(gint) SOUP_COOKIE_JAR_ACCEPT_ALWAYS", "0"), 277 + ("(gint) SOUP_COOKIE_JAR_ACCEPT_GRANDFATHERED_THIRD_PARTY", "3"), 278 + ("(gint) SOUP_COOKIE_JAR_ACCEPT_NEVER", "1"), 279 + ("(gint) SOUP_COOKIE_JAR_ACCEPT_NO_THIRD_PARTY", "2"), 280 + ("SOUP_COOKIE_MAX_AGE_ONE_DAY", "86400"), 281 + ("SOUP_COOKIE_MAX_AGE_ONE_HOUR", "3600"), 282 + ("SOUP_COOKIE_MAX_AGE_ONE_WEEK", "604800"), 283 + ("SOUP_COOKIE_MAX_AGE_ONE_YEAR", "31556926.080000"), 284 + ("(gint) SOUP_DATE_COOKIE", "2"), 285 + ("(gint) SOUP_DATE_HTTP", "1"), 286 + ("(gint) SOUP_ENCODING_BYTERANGES", "5"), 287 + ("(gint) SOUP_ENCODING_CHUNKED", "4"), 288 + ("(gint) SOUP_ENCODING_CONTENT_LENGTH", "2"), 289 + ("(gint) SOUP_ENCODING_EOF", "3"), 290 + ("(gint) SOUP_ENCODING_NONE", "1"), 291 + ("(gint) SOUP_ENCODING_UNRECOGNIZED", "0"), 292 + ("(guint) SOUP_EXPECTATION_CONTINUE", "2"), 293 + ("(guint) SOUP_EXPECTATION_UNRECOGNIZED", "1"), 294 + ("SOUP_FORM_MIME_TYPE_MULTIPART", "multipart/form-data"), 295 + ("SOUP_FORM_MIME_TYPE_URLENCODED", "application/x-www-form-urlencoded"), 296 + ("SOUP_HSTS_POLICY_MAX_AGE_PAST", "0"), 297 + ("(gint) SOUP_HTTP_1_0", "0"), 298 + ("(gint) SOUP_HTTP_1_1", "1"), 299 + ("(gint) SOUP_HTTP_2_0", "2"), 300 + ("SOUP_HTTP_URI_FLAGS", "482"), 301 + ("(gint) SOUP_LOGGER_LOG_BODY", "3"), 302 + ("(gint) SOUP_LOGGER_LOG_HEADERS", "2"), 303 + ("(gint) SOUP_LOGGER_LOG_MINIMAL", "1"), 304 + ("(gint) SOUP_LOGGER_LOG_NONE", "0"), 305 + ("SOUP_MAJOR_VERSION", "3"), 306 + ("(gint) SOUP_MEMORY_COPY", "2"), 307 + ("(gint) SOUP_MEMORY_STATIC", "0"), 308 + ("(gint) SOUP_MEMORY_TAKE", "1"), 309 + ("(guint) SOUP_MESSAGE_COLLECT_METRICS", "32"), 310 + ("(guint) SOUP_MESSAGE_DO_NOT_USE_AUTH_CACHE", "16"), 311 + ("(gint) SOUP_MESSAGE_HEADERS_MULTIPART", "2"), 312 + ("(gint) SOUP_MESSAGE_HEADERS_REQUEST", "0"), 313 + ("(gint) SOUP_MESSAGE_HEADERS_RESPONSE", "1"), 314 + ("(guint) SOUP_MESSAGE_IDEMPOTENT", "8"), 315 + ("(guint) SOUP_MESSAGE_NEW_CONNECTION", "4"), 316 + ("(guint) SOUP_MESSAGE_NO_REDIRECT", "2"), 317 + ("(gint) SOUP_MESSAGE_PRIORITY_HIGH", "3"), 318 + ("(gint) SOUP_MESSAGE_PRIORITY_LOW", "1"), 319 + ("(gint) SOUP_MESSAGE_PRIORITY_NORMAL", "2"), 320 + ("(gint) SOUP_MESSAGE_PRIORITY_VERY_HIGH", "4"), 321 + ("(gint) SOUP_MESSAGE_PRIORITY_VERY_LOW", "0"), 322 + ("SOUP_MICRO_VERSION", "4"), 323 + ("SOUP_MINOR_VERSION", "4"), 324 + ("(gint) SOUP_SAME_SITE_POLICY_LAX", "1"), 325 + ("(gint) SOUP_SAME_SITE_POLICY_NONE", "0"), 326 + ("(gint) SOUP_SAME_SITE_POLICY_STRICT", "2"), 327 + ("(guint) SOUP_SERVER_LISTEN_HTTPS", "1"), 328 + ("(guint) SOUP_SERVER_LISTEN_IPV4_ONLY", "2"), 329 + ("(guint) SOUP_SERVER_LISTEN_IPV6_ONLY", "4"), 330 + ("(gint) SOUP_SESSION_ERROR_ENCODING", "1"), 331 + ("(gint) SOUP_SESSION_ERROR_MESSAGE_ALREADY_IN_QUEUE", "6"), 332 + ("(gint) SOUP_SESSION_ERROR_PARSING", "0"), 333 + ("(gint) SOUP_SESSION_ERROR_REDIRECT_BAD_URI", "5"), 334 + ("(gint) SOUP_SESSION_ERROR_REDIRECT_NO_LOCATION", "4"), 335 + ("(gint) SOUP_SESSION_ERROR_TOO_MANY_REDIRECTS", "2"), 336 + ("(gint) SOUP_SESSION_ERROR_TOO_MANY_RESTARTS", "3"), 337 + ("(gint) SOUP_STATUS_ACCEPTED", "202"), 338 + ("(gint) SOUP_STATUS_BAD_GATEWAY", "502"), 339 + ("(gint) SOUP_STATUS_BAD_REQUEST", "400"), 340 + ("(gint) SOUP_STATUS_CONFLICT", "409"), 341 + ("(gint) SOUP_STATUS_CONTINUE", "100"), 342 + ("(gint) SOUP_STATUS_CREATED", "201"), 343 + ("(gint) SOUP_STATUS_EXPECTATION_FAILED", "417"), 344 + ("(gint) SOUP_STATUS_FAILED_DEPENDENCY", "424"), 345 + ("(gint) SOUP_STATUS_FORBIDDEN", "403"), 346 + ("(gint) SOUP_STATUS_FOUND", "302"), 347 + ("(gint) SOUP_STATUS_GATEWAY_TIMEOUT", "504"), 348 + ("(gint) SOUP_STATUS_GONE", "410"), 349 + ("(gint) SOUP_STATUS_HTTP_VERSION_NOT_SUPPORTED", "505"), 350 + ("(gint) SOUP_STATUS_INSUFFICIENT_STORAGE", "507"), 351 + ("(gint) SOUP_STATUS_INTERNAL_SERVER_ERROR", "500"), 352 + ("(gint) SOUP_STATUS_INVALID_RANGE", "416"), 353 + ("(gint) SOUP_STATUS_LENGTH_REQUIRED", "411"), 354 + ("(gint) SOUP_STATUS_LOCKED", "423"), 355 + ("(gint) SOUP_STATUS_METHOD_NOT_ALLOWED", "405"), 356 + ("(gint) SOUP_STATUS_MISDIRECTED_REQUEST", "421"), 357 + ("(gint) SOUP_STATUS_MOVED_PERMANENTLY", "301"), 358 + ("(gint) SOUP_STATUS_MOVED_TEMPORARILY", "302"), 359 + ("(gint) SOUP_STATUS_MULTIPLE_CHOICES", "300"), 360 + ("(gint) SOUP_STATUS_MULTI_STATUS", "207"), 361 + ("(gint) SOUP_STATUS_NONE", "0"), 362 + ("(gint) SOUP_STATUS_NON_AUTHORITATIVE", "203"), 363 + ("(gint) SOUP_STATUS_NOT_ACCEPTABLE", "406"), 364 + ("(gint) SOUP_STATUS_NOT_APPEARING_IN_THIS_PROTOCOL", "306"), 365 + ("(gint) SOUP_STATUS_NOT_EXTENDED", "510"), 366 + ("(gint) SOUP_STATUS_NOT_FOUND", "404"), 367 + ("(gint) SOUP_STATUS_NOT_IMPLEMENTED", "501"), 368 + ("(gint) SOUP_STATUS_NOT_MODIFIED", "304"), 369 + ("(gint) SOUP_STATUS_NO_CONTENT", "204"), 370 + ("(gint) SOUP_STATUS_OK", "200"), 371 + ("(gint) SOUP_STATUS_PARTIAL_CONTENT", "206"), 372 + ("(gint) SOUP_STATUS_PAYMENT_REQUIRED", "402"), 373 + ("(gint) SOUP_STATUS_PERMANENT_REDIRECT", "308"), 374 + ("(gint) SOUP_STATUS_PRECONDITION_FAILED", "412"), 375 + ("(gint) SOUP_STATUS_PROCESSING", "102"), 376 + ("(gint) SOUP_STATUS_PROXY_AUTHENTICATION_REQUIRED", "407"), 377 + ("(gint) SOUP_STATUS_PROXY_UNAUTHORIZED", "407"), 378 + ("(gint) SOUP_STATUS_REQUESTED_RANGE_NOT_SATISFIABLE", "416"), 379 + ("(gint) SOUP_STATUS_REQUEST_ENTITY_TOO_LARGE", "413"), 380 + ("(gint) SOUP_STATUS_REQUEST_TIMEOUT", "408"), 381 + ("(gint) SOUP_STATUS_REQUEST_URI_TOO_LONG", "414"), 382 + ("(gint) SOUP_STATUS_RESET_CONTENT", "205"), 383 + ("(gint) SOUP_STATUS_SEE_OTHER", "303"), 384 + ("(gint) SOUP_STATUS_SERVICE_UNAVAILABLE", "503"), 385 + ("(gint) SOUP_STATUS_SWITCHING_PROTOCOLS", "101"), 386 + ("(gint) SOUP_STATUS_TEMPORARY_REDIRECT", "307"), 387 + ("(gint) SOUP_STATUS_UNAUTHORIZED", "401"), 388 + ("(gint) SOUP_STATUS_UNPROCESSABLE_ENTITY", "422"), 389 + ("(gint) SOUP_STATUS_UNSUPPORTED_MEDIA_TYPE", "415"), 390 + ("(gint) SOUP_STATUS_USE_PROXY", "305"), 391 + ("(gint) SOUP_TLD_ERROR_INVALID_HOSTNAME", "0"), 392 + ("(gint) SOUP_TLD_ERROR_IS_IP_ADDRESS", "1"), 393 + ("(gint) SOUP_TLD_ERROR_NOT_ENOUGH_DOMAINS", "2"), 394 + ("(gint) SOUP_TLD_ERROR_NO_BASE_DOMAIN", "3"), 395 + ("(gint) SOUP_TLD_ERROR_NO_PSL_DATA", "4"), 396 + ("(gint) SOUP_URI_AUTH_PARAMS", "4"), 397 + ("(gint) SOUP_URI_FRAGMENT", "9"), 398 + ("(gint) SOUP_URI_HOST", "5"), 399 + ("(gint) SOUP_URI_NONE", "0"), 400 + ("(gint) SOUP_URI_PASSWORD", "3"), 401 + ("(gint) SOUP_URI_PATH", "7"), 402 + ("(gint) SOUP_URI_PORT", "6"), 403 + ("(gint) SOUP_URI_QUERY", "8"), 404 + ("(gint) SOUP_URI_SCHEME", "1"), 405 + ("(gint) SOUP_URI_USER", "2"), 406 + ("SOUP_VERSION_MIN_REQUIRED", "197632"), 407 + ("(gint) SOUP_WEBSOCKET_CLOSE_ABNORMAL", "1006"), 408 + ("(gint) SOUP_WEBSOCKET_CLOSE_BAD_DATA", "1007"), 409 + ("(gint) SOUP_WEBSOCKET_CLOSE_GOING_AWAY", "1001"), 410 + ("(gint) SOUP_WEBSOCKET_CLOSE_NORMAL", "1000"), 411 + ("(gint) SOUP_WEBSOCKET_CLOSE_NO_EXTENSION", "1010"), 412 + ("(gint) SOUP_WEBSOCKET_CLOSE_NO_STATUS", "1005"), 413 + ("(gint) SOUP_WEBSOCKET_CLOSE_POLICY_VIOLATION", "1008"), 414 + ("(gint) SOUP_WEBSOCKET_CLOSE_PROTOCOL_ERROR", "1002"), 415 + ("(gint) SOUP_WEBSOCKET_CLOSE_SERVER_ERROR", "1011"), 416 + ("(gint) SOUP_WEBSOCKET_CLOSE_TLS_HANDSHAKE", "1015"), 417 + ("(gint) SOUP_WEBSOCKET_CLOSE_TOO_BIG", "1009"), 418 + ("(gint) SOUP_WEBSOCKET_CLOSE_UNSUPPORTED_DATA", "1003"), 419 + ("(gint) SOUP_WEBSOCKET_CONNECTION_CLIENT", "1"), 420 + ("(gint) SOUP_WEBSOCKET_CONNECTION_SERVER", "2"), 421 + ("(gint) SOUP_WEBSOCKET_CONNECTION_UNKNOWN", "0"), 422 + ("(gint) SOUP_WEBSOCKET_DATA_BINARY", "2"), 423 + ("(gint) SOUP_WEBSOCKET_DATA_TEXT", "1"), 424 + ("(gint) SOUP_WEBSOCKET_ERROR_BAD_HANDSHAKE", "2"), 425 + ("(gint) SOUP_WEBSOCKET_ERROR_BAD_ORIGIN", "3"), 426 + ("(gint) SOUP_WEBSOCKET_ERROR_FAILED", "0"), 427 + ("(gint) SOUP_WEBSOCKET_ERROR_NOT_WEBSOCKET", "1"), 428 + ("(gint) SOUP_WEBSOCKET_STATE_CLOSED", "3"), 429 + ("(gint) SOUP_WEBSOCKET_STATE_CLOSING", "2"), 430 + ("(gint) SOUP_WEBSOCKET_STATE_OPEN", "1"), 431 + ]; 432 + 433 +
+194
soup/sys/tests/constant.c
··· 1 + // This file was generated by gir (https://github.com/gtk-rs/gir) 2 + // from ../../gir-files 3 + // from ../gir-files 4 + // DO NOT EDIT 5 + 6 + #include "manual.h" 7 + #include <stdio.h> 8 + 9 + #define PRINT_CONSTANT(CONSTANT_NAME) \ 10 + printf("%s;", #CONSTANT_NAME); \ 11 + printf(_Generic((CONSTANT_NAME), \ 12 + char *: "%s", \ 13 + const char *: "%s", \ 14 + char: "%c", \ 15 + signed char: "%hhd", \ 16 + unsigned char: "%hhu", \ 17 + short int: "%hd", \ 18 + unsigned short int: "%hu", \ 19 + int: "%d", \ 20 + unsigned int: "%u", \ 21 + long: "%ld", \ 22 + unsigned long: "%lu", \ 23 + long long: "%lld", \ 24 + unsigned long long: "%llu", \ 25 + float: "%f", \ 26 + double: "%f", \ 27 + long double: "%ld"), \ 28 + CONSTANT_NAME); \ 29 + printf("\n"); 30 + 31 + int main() { 32 + PRINT_CONSTANT((guint) SOUP_CACHE_CACHEABLE); 33 + PRINT_CONSTANT((guint) SOUP_CACHE_INVALIDATES); 34 + PRINT_CONSTANT((gint) SOUP_CACHE_SHARED); 35 + PRINT_CONSTANT((gint) SOUP_CACHE_SINGLE_USER); 36 + PRINT_CONSTANT((guint) SOUP_CACHE_UNCACHEABLE); 37 + PRINT_CONSTANT((guint) SOUP_CACHE_VALIDATES); 38 + PRINT_CONSTANT((gint) SOUP_COOKIE_JAR_ACCEPT_ALWAYS); 39 + PRINT_CONSTANT((gint) SOUP_COOKIE_JAR_ACCEPT_GRANDFATHERED_THIRD_PARTY); 40 + PRINT_CONSTANT((gint) SOUP_COOKIE_JAR_ACCEPT_NEVER); 41 + PRINT_CONSTANT((gint) SOUP_COOKIE_JAR_ACCEPT_NO_THIRD_PARTY); 42 + PRINT_CONSTANT(SOUP_COOKIE_MAX_AGE_ONE_DAY); 43 + PRINT_CONSTANT(SOUP_COOKIE_MAX_AGE_ONE_HOUR); 44 + PRINT_CONSTANT(SOUP_COOKIE_MAX_AGE_ONE_WEEK); 45 + PRINT_CONSTANT(SOUP_COOKIE_MAX_AGE_ONE_YEAR); 46 + PRINT_CONSTANT((gint) SOUP_DATE_COOKIE); 47 + PRINT_CONSTANT((gint) SOUP_DATE_HTTP); 48 + PRINT_CONSTANT((gint) SOUP_ENCODING_BYTERANGES); 49 + PRINT_CONSTANT((gint) SOUP_ENCODING_CHUNKED); 50 + PRINT_CONSTANT((gint) SOUP_ENCODING_CONTENT_LENGTH); 51 + PRINT_CONSTANT((gint) SOUP_ENCODING_EOF); 52 + PRINT_CONSTANT((gint) SOUP_ENCODING_NONE); 53 + PRINT_CONSTANT((gint) SOUP_ENCODING_UNRECOGNIZED); 54 + PRINT_CONSTANT((guint) SOUP_EXPECTATION_CONTINUE); 55 + PRINT_CONSTANT((guint) SOUP_EXPECTATION_UNRECOGNIZED); 56 + PRINT_CONSTANT(SOUP_FORM_MIME_TYPE_MULTIPART); 57 + PRINT_CONSTANT(SOUP_FORM_MIME_TYPE_URLENCODED); 58 + PRINT_CONSTANT(SOUP_HSTS_POLICY_MAX_AGE_PAST); 59 + PRINT_CONSTANT((gint) SOUP_HTTP_1_0); 60 + PRINT_CONSTANT((gint) SOUP_HTTP_1_1); 61 + PRINT_CONSTANT((gint) SOUP_HTTP_2_0); 62 + PRINT_CONSTANT(SOUP_HTTP_URI_FLAGS); 63 + PRINT_CONSTANT((gint) SOUP_LOGGER_LOG_BODY); 64 + PRINT_CONSTANT((gint) SOUP_LOGGER_LOG_HEADERS); 65 + PRINT_CONSTANT((gint) SOUP_LOGGER_LOG_MINIMAL); 66 + PRINT_CONSTANT((gint) SOUP_LOGGER_LOG_NONE); 67 + PRINT_CONSTANT(SOUP_MAJOR_VERSION); 68 + PRINT_CONSTANT((gint) SOUP_MEMORY_COPY); 69 + PRINT_CONSTANT((gint) SOUP_MEMORY_STATIC); 70 + PRINT_CONSTANT((gint) SOUP_MEMORY_TAKE); 71 + PRINT_CONSTANT((guint) SOUP_MESSAGE_COLLECT_METRICS); 72 + PRINT_CONSTANT((guint) SOUP_MESSAGE_DO_NOT_USE_AUTH_CACHE); 73 + PRINT_CONSTANT((gint) SOUP_MESSAGE_HEADERS_MULTIPART); 74 + PRINT_CONSTANT((gint) SOUP_MESSAGE_HEADERS_REQUEST); 75 + PRINT_CONSTANT((gint) SOUP_MESSAGE_HEADERS_RESPONSE); 76 + PRINT_CONSTANT((guint) SOUP_MESSAGE_IDEMPOTENT); 77 + PRINT_CONSTANT((guint) SOUP_MESSAGE_NEW_CONNECTION); 78 + PRINT_CONSTANT((guint) SOUP_MESSAGE_NO_REDIRECT); 79 + PRINT_CONSTANT((gint) SOUP_MESSAGE_PRIORITY_HIGH); 80 + PRINT_CONSTANT((gint) SOUP_MESSAGE_PRIORITY_LOW); 81 + PRINT_CONSTANT((gint) SOUP_MESSAGE_PRIORITY_NORMAL); 82 + PRINT_CONSTANT((gint) SOUP_MESSAGE_PRIORITY_VERY_HIGH); 83 + PRINT_CONSTANT((gint) SOUP_MESSAGE_PRIORITY_VERY_LOW); 84 + PRINT_CONSTANT(SOUP_MICRO_VERSION); 85 + PRINT_CONSTANT(SOUP_MINOR_VERSION); 86 + PRINT_CONSTANT((gint) SOUP_SAME_SITE_POLICY_LAX); 87 + PRINT_CONSTANT((gint) SOUP_SAME_SITE_POLICY_NONE); 88 + PRINT_CONSTANT((gint) SOUP_SAME_SITE_POLICY_STRICT); 89 + PRINT_CONSTANT((guint) SOUP_SERVER_LISTEN_HTTPS); 90 + PRINT_CONSTANT((guint) SOUP_SERVER_LISTEN_IPV4_ONLY); 91 + PRINT_CONSTANT((guint) SOUP_SERVER_LISTEN_IPV6_ONLY); 92 + PRINT_CONSTANT((gint) SOUP_SESSION_ERROR_ENCODING); 93 + PRINT_CONSTANT((gint) SOUP_SESSION_ERROR_MESSAGE_ALREADY_IN_QUEUE); 94 + PRINT_CONSTANT((gint) SOUP_SESSION_ERROR_PARSING); 95 + PRINT_CONSTANT((gint) SOUP_SESSION_ERROR_REDIRECT_BAD_URI); 96 + PRINT_CONSTANT((gint) SOUP_SESSION_ERROR_REDIRECT_NO_LOCATION); 97 + PRINT_CONSTANT((gint) SOUP_SESSION_ERROR_TOO_MANY_REDIRECTS); 98 + PRINT_CONSTANT((gint) SOUP_SESSION_ERROR_TOO_MANY_RESTARTS); 99 + PRINT_CONSTANT((gint) SOUP_STATUS_ACCEPTED); 100 + PRINT_CONSTANT((gint) SOUP_STATUS_BAD_GATEWAY); 101 + PRINT_CONSTANT((gint) SOUP_STATUS_BAD_REQUEST); 102 + PRINT_CONSTANT((gint) SOUP_STATUS_CONFLICT); 103 + PRINT_CONSTANT((gint) SOUP_STATUS_CONTINUE); 104 + PRINT_CONSTANT((gint) SOUP_STATUS_CREATED); 105 + PRINT_CONSTANT((gint) SOUP_STATUS_EXPECTATION_FAILED); 106 + PRINT_CONSTANT((gint) SOUP_STATUS_FAILED_DEPENDENCY); 107 + PRINT_CONSTANT((gint) SOUP_STATUS_FORBIDDEN); 108 + PRINT_CONSTANT((gint) SOUP_STATUS_FOUND); 109 + PRINT_CONSTANT((gint) SOUP_STATUS_GATEWAY_TIMEOUT); 110 + PRINT_CONSTANT((gint) SOUP_STATUS_GONE); 111 + PRINT_CONSTANT((gint) SOUP_STATUS_HTTP_VERSION_NOT_SUPPORTED); 112 + PRINT_CONSTANT((gint) SOUP_STATUS_INSUFFICIENT_STORAGE); 113 + PRINT_CONSTANT((gint) SOUP_STATUS_INTERNAL_SERVER_ERROR); 114 + PRINT_CONSTANT((gint) SOUP_STATUS_INVALID_RANGE); 115 + PRINT_CONSTANT((gint) SOUP_STATUS_LENGTH_REQUIRED); 116 + PRINT_CONSTANT((gint) SOUP_STATUS_LOCKED); 117 + PRINT_CONSTANT((gint) SOUP_STATUS_METHOD_NOT_ALLOWED); 118 + PRINT_CONSTANT((gint) SOUP_STATUS_MISDIRECTED_REQUEST); 119 + PRINT_CONSTANT((gint) SOUP_STATUS_MOVED_PERMANENTLY); 120 + PRINT_CONSTANT((gint) SOUP_STATUS_MOVED_TEMPORARILY); 121 + PRINT_CONSTANT((gint) SOUP_STATUS_MULTIPLE_CHOICES); 122 + PRINT_CONSTANT((gint) SOUP_STATUS_MULTI_STATUS); 123 + PRINT_CONSTANT((gint) SOUP_STATUS_NONE); 124 + PRINT_CONSTANT((gint) SOUP_STATUS_NON_AUTHORITATIVE); 125 + PRINT_CONSTANT((gint) SOUP_STATUS_NOT_ACCEPTABLE); 126 + PRINT_CONSTANT((gint) SOUP_STATUS_NOT_APPEARING_IN_THIS_PROTOCOL); 127 + PRINT_CONSTANT((gint) SOUP_STATUS_NOT_EXTENDED); 128 + PRINT_CONSTANT((gint) SOUP_STATUS_NOT_FOUND); 129 + PRINT_CONSTANT((gint) SOUP_STATUS_NOT_IMPLEMENTED); 130 + PRINT_CONSTANT((gint) SOUP_STATUS_NOT_MODIFIED); 131 + PRINT_CONSTANT((gint) SOUP_STATUS_NO_CONTENT); 132 + PRINT_CONSTANT((gint) SOUP_STATUS_OK); 133 + PRINT_CONSTANT((gint) SOUP_STATUS_PARTIAL_CONTENT); 134 + PRINT_CONSTANT((gint) SOUP_STATUS_PAYMENT_REQUIRED); 135 + PRINT_CONSTANT((gint) SOUP_STATUS_PERMANENT_REDIRECT); 136 + PRINT_CONSTANT((gint) SOUP_STATUS_PRECONDITION_FAILED); 137 + PRINT_CONSTANT((gint) SOUP_STATUS_PROCESSING); 138 + PRINT_CONSTANT((gint) SOUP_STATUS_PROXY_AUTHENTICATION_REQUIRED); 139 + PRINT_CONSTANT((gint) SOUP_STATUS_PROXY_UNAUTHORIZED); 140 + PRINT_CONSTANT((gint) SOUP_STATUS_REQUESTED_RANGE_NOT_SATISFIABLE); 141 + PRINT_CONSTANT((gint) SOUP_STATUS_REQUEST_ENTITY_TOO_LARGE); 142 + PRINT_CONSTANT((gint) SOUP_STATUS_REQUEST_TIMEOUT); 143 + PRINT_CONSTANT((gint) SOUP_STATUS_REQUEST_URI_TOO_LONG); 144 + PRINT_CONSTANT((gint) SOUP_STATUS_RESET_CONTENT); 145 + PRINT_CONSTANT((gint) SOUP_STATUS_SEE_OTHER); 146 + PRINT_CONSTANT((gint) SOUP_STATUS_SERVICE_UNAVAILABLE); 147 + PRINT_CONSTANT((gint) SOUP_STATUS_SWITCHING_PROTOCOLS); 148 + PRINT_CONSTANT((gint) SOUP_STATUS_TEMPORARY_REDIRECT); 149 + PRINT_CONSTANT((gint) SOUP_STATUS_UNAUTHORIZED); 150 + PRINT_CONSTANT((gint) SOUP_STATUS_UNPROCESSABLE_ENTITY); 151 + PRINT_CONSTANT((gint) SOUP_STATUS_UNSUPPORTED_MEDIA_TYPE); 152 + PRINT_CONSTANT((gint) SOUP_STATUS_USE_PROXY); 153 + PRINT_CONSTANT((gint) SOUP_TLD_ERROR_INVALID_HOSTNAME); 154 + PRINT_CONSTANT((gint) SOUP_TLD_ERROR_IS_IP_ADDRESS); 155 + PRINT_CONSTANT((gint) SOUP_TLD_ERROR_NOT_ENOUGH_DOMAINS); 156 + PRINT_CONSTANT((gint) SOUP_TLD_ERROR_NO_BASE_DOMAIN); 157 + PRINT_CONSTANT((gint) SOUP_TLD_ERROR_NO_PSL_DATA); 158 + PRINT_CONSTANT((gint) SOUP_URI_AUTH_PARAMS); 159 + PRINT_CONSTANT((gint) SOUP_URI_FRAGMENT); 160 + PRINT_CONSTANT((gint) SOUP_URI_HOST); 161 + PRINT_CONSTANT((gint) SOUP_URI_NONE); 162 + PRINT_CONSTANT((gint) SOUP_URI_PASSWORD); 163 + PRINT_CONSTANT((gint) SOUP_URI_PATH); 164 + PRINT_CONSTANT((gint) SOUP_URI_PORT); 165 + PRINT_CONSTANT((gint) SOUP_URI_QUERY); 166 + PRINT_CONSTANT((gint) SOUP_URI_SCHEME); 167 + PRINT_CONSTANT((gint) SOUP_URI_USER); 168 + PRINT_CONSTANT(SOUP_VERSION_MIN_REQUIRED); 169 + PRINT_CONSTANT((gint) SOUP_WEBSOCKET_CLOSE_ABNORMAL); 170 + PRINT_CONSTANT((gint) SOUP_WEBSOCKET_CLOSE_BAD_DATA); 171 + PRINT_CONSTANT((gint) SOUP_WEBSOCKET_CLOSE_GOING_AWAY); 172 + PRINT_CONSTANT((gint) SOUP_WEBSOCKET_CLOSE_NORMAL); 173 + PRINT_CONSTANT((gint) SOUP_WEBSOCKET_CLOSE_NO_EXTENSION); 174 + PRINT_CONSTANT((gint) SOUP_WEBSOCKET_CLOSE_NO_STATUS); 175 + PRINT_CONSTANT((gint) SOUP_WEBSOCKET_CLOSE_POLICY_VIOLATION); 176 + PRINT_CONSTANT((gint) SOUP_WEBSOCKET_CLOSE_PROTOCOL_ERROR); 177 + PRINT_CONSTANT((gint) SOUP_WEBSOCKET_CLOSE_SERVER_ERROR); 178 + PRINT_CONSTANT((gint) SOUP_WEBSOCKET_CLOSE_TLS_HANDSHAKE); 179 + PRINT_CONSTANT((gint) SOUP_WEBSOCKET_CLOSE_TOO_BIG); 180 + PRINT_CONSTANT((gint) SOUP_WEBSOCKET_CLOSE_UNSUPPORTED_DATA); 181 + PRINT_CONSTANT((gint) SOUP_WEBSOCKET_CONNECTION_CLIENT); 182 + PRINT_CONSTANT((gint) SOUP_WEBSOCKET_CONNECTION_SERVER); 183 + PRINT_CONSTANT((gint) SOUP_WEBSOCKET_CONNECTION_UNKNOWN); 184 + PRINT_CONSTANT((gint) SOUP_WEBSOCKET_DATA_BINARY); 185 + PRINT_CONSTANT((gint) SOUP_WEBSOCKET_DATA_TEXT); 186 + PRINT_CONSTANT((gint) SOUP_WEBSOCKET_ERROR_BAD_HANDSHAKE); 187 + PRINT_CONSTANT((gint) SOUP_WEBSOCKET_ERROR_BAD_ORIGIN); 188 + PRINT_CONSTANT((gint) SOUP_WEBSOCKET_ERROR_FAILED); 189 + PRINT_CONSTANT((gint) SOUP_WEBSOCKET_ERROR_NOT_WEBSOCKET); 190 + PRINT_CONSTANT((gint) SOUP_WEBSOCKET_STATE_CLOSED); 191 + PRINT_CONSTANT((gint) SOUP_WEBSOCKET_STATE_CLOSING); 192 + PRINT_CONSTANT((gint) SOUP_WEBSOCKET_STATE_OPEN); 193 + return 0; 194 + }
+69
soup/sys/tests/layout.c
··· 1 + // This file was generated by gir (https://github.com/gtk-rs/gir) 2 + // from ../../gir-files 3 + // from ../gir-files 4 + // DO NOT EDIT 5 + 6 + #include "manual.h" 7 + #include <stdalign.h> 8 + #include <stdio.h> 9 + 10 + int main() { 11 + printf("%s;%zu;%zu\n", "SoupAuth", sizeof(SoupAuth), alignof(SoupAuth)); 12 + printf("%s;%zu;%zu\n", "SoupAuthClass", sizeof(SoupAuthClass), alignof(SoupAuthClass)); 13 + printf("%s;%zu;%zu\n", "SoupAuthDomain", sizeof(SoupAuthDomain), alignof(SoupAuthDomain)); 14 + printf("%s;%zu;%zu\n", "SoupAuthDomainBasicClass", sizeof(SoupAuthDomainBasicClass), alignof(SoupAuthDomainBasicClass)); 15 + printf("%s;%zu;%zu\n", "SoupAuthDomainClass", sizeof(SoupAuthDomainClass), alignof(SoupAuthDomainClass)); 16 + printf("%s;%zu;%zu\n", "SoupAuthDomainDigestClass", sizeof(SoupAuthDomainDigestClass), alignof(SoupAuthDomainDigestClass)); 17 + printf("%s;%zu;%zu\n", "SoupAuthManagerClass", sizeof(SoupAuthManagerClass), alignof(SoupAuthManagerClass)); 18 + printf("%s;%zu;%zu\n", "SoupCache", sizeof(SoupCache), alignof(SoupCache)); 19 + printf("%s;%zu;%zu\n", "SoupCacheClass", sizeof(SoupCacheClass), alignof(SoupCacheClass)); 20 + printf("%s;%zu;%zu\n", "SoupCacheType", sizeof(SoupCacheType), alignof(SoupCacheType)); 21 + printf("%s;%zu;%zu\n", "SoupCacheability", sizeof(SoupCacheability), alignof(SoupCacheability)); 22 + printf("%s;%zu;%zu\n", "SoupContentDecoderClass", sizeof(SoupContentDecoderClass), alignof(SoupContentDecoderClass)); 23 + printf("%s;%zu;%zu\n", "SoupContentSnifferClass", sizeof(SoupContentSnifferClass), alignof(SoupContentSnifferClass)); 24 + printf("%s;%zu;%zu\n", "SoupCookieJar", sizeof(SoupCookieJar), alignof(SoupCookieJar)); 25 + printf("%s;%zu;%zu\n", "SoupCookieJarAcceptPolicy", sizeof(SoupCookieJarAcceptPolicy), alignof(SoupCookieJarAcceptPolicy)); 26 + printf("%s;%zu;%zu\n", "SoupCookieJarClass", sizeof(SoupCookieJarClass), alignof(SoupCookieJarClass)); 27 + printf("%s;%zu;%zu\n", "SoupCookieJarDBClass", sizeof(SoupCookieJarDBClass), alignof(SoupCookieJarDBClass)); 28 + printf("%s;%zu;%zu\n", "SoupCookieJarTextClass", sizeof(SoupCookieJarTextClass), alignof(SoupCookieJarTextClass)); 29 + printf("%s;%zu;%zu\n", "SoupDateFormat", sizeof(SoupDateFormat), alignof(SoupDateFormat)); 30 + printf("%s;%zu;%zu\n", "SoupEncoding", sizeof(SoupEncoding), alignof(SoupEncoding)); 31 + printf("%s;%zu;%zu\n", "SoupExpectation", sizeof(SoupExpectation), alignof(SoupExpectation)); 32 + printf("%s;%zu;%zu\n", "SoupHSTSEnforcer", sizeof(SoupHSTSEnforcer), alignof(SoupHSTSEnforcer)); 33 + printf("%s;%zu;%zu\n", "SoupHSTSEnforcerClass", sizeof(SoupHSTSEnforcerClass), alignof(SoupHSTSEnforcerClass)); 34 + printf("%s;%zu;%zu\n", "SoupHSTSEnforcerDBClass", sizeof(SoupHSTSEnforcerDBClass), alignof(SoupHSTSEnforcerDBClass)); 35 + printf("%s;%zu;%zu\n", "SoupHTTPVersion", sizeof(SoupHTTPVersion), alignof(SoupHTTPVersion)); 36 + printf("%s;%zu;%zu\n", "SoupLoggerClass", sizeof(SoupLoggerClass), alignof(SoupLoggerClass)); 37 + printf("%s;%zu;%zu\n", "SoupLoggerLogLevel", sizeof(SoupLoggerLogLevel), alignof(SoupLoggerLogLevel)); 38 + printf("%s;%zu;%zu\n", "SoupMemoryUse", sizeof(SoupMemoryUse), alignof(SoupMemoryUse)); 39 + printf("%s;%zu;%zu\n", "SoupMessageBody", sizeof(SoupMessageBody), alignof(SoupMessageBody)); 40 + printf("%s;%zu;%zu\n", "SoupMessageClass", sizeof(SoupMessageClass), alignof(SoupMessageClass)); 41 + printf("%s;%zu;%zu\n", "SoupMessageFlags", sizeof(SoupMessageFlags), alignof(SoupMessageFlags)); 42 + printf("%s;%zu;%zu\n", "SoupMessageHeadersIter", sizeof(SoupMessageHeadersIter), alignof(SoupMessageHeadersIter)); 43 + printf("%s;%zu;%zu\n", "SoupMessageHeadersType", sizeof(SoupMessageHeadersType), alignof(SoupMessageHeadersType)); 44 + printf("%s;%zu;%zu\n", "SoupMessagePriority", sizeof(SoupMessagePriority), alignof(SoupMessagePriority)); 45 + printf("%s;%zu;%zu\n", "SoupMultipartInputStreamClass", sizeof(SoupMultipartInputStreamClass), alignof(SoupMultipartInputStreamClass)); 46 + printf("%s;%zu;%zu\n", "SoupRange", sizeof(SoupRange), alignof(SoupRange)); 47 + printf("%s;%zu;%zu\n", "SoupSameSitePolicy", sizeof(SoupSameSitePolicy), alignof(SoupSameSitePolicy)); 48 + printf("%s;%zu;%zu\n", "SoupServer", sizeof(SoupServer), alignof(SoupServer)); 49 + printf("%s;%zu;%zu\n", "SoupServerClass", sizeof(SoupServerClass), alignof(SoupServerClass)); 50 + printf("%s;%zu;%zu\n", "SoupServerListenOptions", sizeof(SoupServerListenOptions), alignof(SoupServerListenOptions)); 51 + printf("%s;%zu;%zu\n", "SoupServerMessageClass", sizeof(SoupServerMessageClass), alignof(SoupServerMessageClass)); 52 + printf("%s;%zu;%zu\n", "SoupSession", sizeof(SoupSession), alignof(SoupSession)); 53 + printf("%s;%zu;%zu\n", "SoupSessionClass", sizeof(SoupSessionClass), alignof(SoupSessionClass)); 54 + printf("%s;%zu;%zu\n", "SoupSessionError", sizeof(SoupSessionError), alignof(SoupSessionError)); 55 + printf("%s;%zu;%zu\n", "SoupStatus", sizeof(SoupStatus), alignof(SoupStatus)); 56 + printf("%s;%zu;%zu\n", "SoupTLDError", sizeof(SoupTLDError), alignof(SoupTLDError)); 57 + printf("%s;%zu;%zu\n", "SoupURIComponent", sizeof(SoupURIComponent), alignof(SoupURIComponent)); 58 + printf("%s;%zu;%zu\n", "SoupWebsocketCloseCode", sizeof(SoupWebsocketCloseCode), alignof(SoupWebsocketCloseCode)); 59 + printf("%s;%zu;%zu\n", "SoupWebsocketConnectionClass", sizeof(SoupWebsocketConnectionClass), alignof(SoupWebsocketConnectionClass)); 60 + printf("%s;%zu;%zu\n", "SoupWebsocketConnectionType", sizeof(SoupWebsocketConnectionType), alignof(SoupWebsocketConnectionType)); 61 + printf("%s;%zu;%zu\n", "SoupWebsocketDataType", sizeof(SoupWebsocketDataType), alignof(SoupWebsocketDataType)); 62 + printf("%s;%zu;%zu\n", "SoupWebsocketError", sizeof(SoupWebsocketError), alignof(SoupWebsocketError)); 63 + printf("%s;%zu;%zu\n", "SoupWebsocketExtension", sizeof(SoupWebsocketExtension), alignof(SoupWebsocketExtension)); 64 + printf("%s;%zu;%zu\n", "SoupWebsocketExtensionClass", sizeof(SoupWebsocketExtensionClass), alignof(SoupWebsocketExtensionClass)); 65 + printf("%s;%zu;%zu\n", "SoupWebsocketExtensionDeflateClass", sizeof(SoupWebsocketExtensionDeflateClass), alignof(SoupWebsocketExtensionDeflateClass)); 66 + printf("%s;%zu;%zu\n", "SoupWebsocketExtensionManagerClass", sizeof(SoupWebsocketExtensionManagerClass), alignof(SoupWebsocketExtensionManagerClass)); 67 + printf("%s;%zu;%zu\n", "SoupWebsocketState", sizeof(SoupWebsocketState), alignof(SoupWebsocketState)); 68 + return 0; 69 + }
+3
soup/sys/tests/manual.h
··· 1 + // Feel free to edit this file, it won't be regenerated by gir generator unless removed. 2 + 3 + #include <libsoup/soup.h>