Creates a #SoupSession with the default options.
Cancels all pending requests in session and closes all idle persistent connections.
Adds feature's functionality to session. You cannot add multiple features of the same aliasGLib.Type to a session.
If feature_type is the type of a class that implements ifaceSessionFeature, this creates a new feature of that type and adds it to session as with soup.session.Session.addFeature. You can use this when you don't need to customize the new feature in any way. Adding multiple features of the same feature_type is not allowed.
Connect to RequestQueued signal.
Connect to RequestUnqueued signal.
Get the value used by session for the "Accept-Language" header on new requests.
Gets whether session automatically sets the "Accept-Language" header on new requests.
Gets the classMessage of the result asynchronous operation This is useful to get the classMessage of an asynchronous operation started by session from its gio.types.AsyncReadyCallback.
Gets the feature in session of type feature_type.
Gets the feature in session of type feature_type, provided that it is not disabled for msg.
Get the timeout in seconds for idle connection lifetime currently used by session.
Get the gio.inet_socket_address.InetSocketAddress to use for the client side of connections in session.
Get the maximum number of connections that session can open at once.
Get the maximum number of connections that session can open at once to a given host.
Get the gio.proxy_resolver.ProxyResolver currently used by session.
Gets the remote connectable if one set.
Get the timeout in seconds for socket I/O operations currently used by session.
Get the gio.tls_database.TlsDatabase currently used by session.
Get the gio.tls_interaction.TlsInteraction currently used by session.
Get the value used by session for the "User-Agent" header on new requests.
Tests if session has at a feature of type feature_type (which can be the type of either a ifaceSessionFeature, or else a subtype of some class managed by another feature, such as classAuth).
Start a preconnection to msg.
Complete a preconnect async operation started with soup.session.Session.preconnectAsync.
Removes feature's functionality from session.
Removes all features of type feature_type (or any subclass of feature_type) from session.
Synchronously sends msg and waits for the beginning of a response.
Synchronously sends msg and reads the response body.
Asynchronously sends msg and reads the response body.
Gets the response to a soup.session.Session.sendAndReadAsync.
Synchronously sends msg and splices the response body stream into out_stream.
Asynchronously sends msg and splices the response body stream into out_stream. When callback is called, then either msg has been sent and its response body spliced, or else an error has occurred.
Gets the response to a soup.session.Session.sendAndSpliceAsync.
Asynchronously sends msg and waits for the beginning of a response.
Gets the response to a soup.session.Session.sendAsync call.
Set the value to use for the "Accept-Language" header on classMessages sent from session.
Set whether session will automatically set the "Accept-Language" header on requests using a value generated from system languages based on funcGLib.get_language_names.
Set a timeout in seconds for idle connection lifetime to be used by session on new connections.
Set a gio.proxy_resolver.ProxyResolver to be used by session on new connections.
Set a timeout in seconds for socket I/O operations to be used by session on new connections.
Set a classGIo.TlsDatabase to be used by session on new connections.
Set a gio.tls_interaction.TlsInteraction to be used by session on new connections.
Set the value to use for the "User-Agent" header on classMessages sent from session.
Asynchronously creates a classWebsocketConnection to communicate with a remote server.
Gets the classWebsocketConnection response to a soup.session.Session.websocketConnectAsync call.
Set the GObject of a D ObjectG wrapper.
Get a pointer to the underlying C object.
Calls g_object_ref() on a GObject.
Calls g_object_unref() on a GObject.
Get the GType of an object.
GObject GType property.
Convenience method to return this cast to a type. For use in D with statements.
Template to get the D object from a C GObject and cast it to the given D object type.
Connect a D closure to an object signal.
Template for setting a GObject property.
Template for getting a GObject property.
Creates a binding between source_property on source and target_property on target.
Creates a binding between source_property on source and target_property on target, allowing you to set the transformation functions to be used by the binding.
This function is intended for #GObject implementations to re-enforce a floating[floating-ref] object reference. Doing this is seldom required: all #GInitiallyUnowneds are created with a floating reference which usually just needs to be sunken by calling gobject.object.ObjectG.refSink.
Increases the freeze count on object. If the freeze count is non-zero, the emission of "notify" signals on object is stopped. The signals are queued until the freeze count is decreased to zero. Duplicate notifications are squashed so that at most one #GObject::notify signal is emitted for each property modified while the object is frozen.
Gets a named field from the objects table of associations (see gobject.object.ObjectG.setData).
Gets a property of an object.
This function gets back user data pointers stored via gobject.object.ObjectG.setQdata.
Gets n_properties properties for an object. Obtained properties will be set to values. All properties must be valid. Warnings will be emitted and undefined behaviour may result if invalid properties are passed in.
Checks whether object has a floating[floating-ref] reference.
Emits a "notify" signal for the property property_name on object.
Emits a "notify" signal for the property specified by pspec on object.
Increase the reference count of object, and possibly remove the floating[floating-ref] reference, if object has a floating reference.
Releases all references to other objects. This can be used to break reference cycles.
Each object carries around a table of associations from strings to pointers. This function lets you set an association.
Sets a property on an object.
Remove a specified datum from the object's data associations, without invoking the association's destroy handler.
This function gets back user data pointers stored via gobject.object.ObjectG.setQdata and removes the data from object without invoking its destroy() function (if any was set). Usually, calling this function is only required to update user data pointers with a destroy notifier, for example:
Reverts the effect of a previous call to gobject.object.ObjectG.freezeNotify. The freeze count is decreased on object and when it reaches zero, queued "notify" signals are emitted.
This function essentially limits the life time of the closure to the life time of the object. That is, when the object is finalized, the closure is invalidated by calling gobject.closure.Closure.invalidate on it, in order to prevent invocations of the closure with a finalized (nonexisting) object. Also, gobject.object.ObjectG.ref_ and gobject.object.ObjectG.unref are added as marshal guards to the closure, to ensure that an extra reference count is held on object during invocation of the closure. Usually, this function will be called on closures that use this object as closure data.
Connect to Notify signal.
Soup session state object.
#SoupSession is the object that controls client-side HTTP. A #SoupSession encapsulates all of the state that libsoup is keeping on behalf of your program; cached HTTP connections, authentication information, etc. It also keeps track of various global options and features that you are using.
Most applications will only need a single #SoupSession; the primary reason you might need multiple sessions is if you need to have multiple independent authentication contexts. (Eg, you are connecting to a server and authenticating as two different users at different times; the easiest way to ensure that each class@Message is sent with the authentication information you intended is to use one session for the first user, and a second session for the other user.)
Additional #SoupSession functionality is provided by iface@SessionFeature objects, which can be added to a session with soup.session.Session.addFeature or soup.session.Session.addFeatureByType For example, class@Logger provides support for logging HTTP traffic, class@ContentDecoder provides support for compressed response handling, and class@ContentSniffer provides support for HTML5-style response body content sniffing. Additionally, subtypes of class@Auth can be added as features, to add support for additional authentication types.
All soup.session.Sessions are created with a class@AuthManager, and support for SOUP_TYPE_AUTH_BASIC and SOUP_TYPE_AUTH_DIGEST. Additionally, sessions using the plain #SoupSession class (rather than one of its deprecated subtypes) have a class@ContentDecoder by default.
Note that all async methods will invoke their callbacks on the thread-default context at the time of the function call.