![]() | ![]() | ![]() | libsoup Reference Manual | ![]() |
---|
SoupMessage —
enum SoupMessageStatus; #define SOUP_MESSAGE_IS_STARTING (msg) enum SoupTransferEncoding; enum SoupOwnership; struct SoupDataBuffer; void (*SoupMessageCallbackFn) (SoupMessage *req, gpointer user_data); SoupMessage* soup_message_new (const char *method, const char *uri_string); SoupMessage* soup_message_new_from_uri (const char *method, const SoupUri *uri); void soup_message_set_request (SoupMessage *msg, const char *content_type, SoupOwnership req_owner, char *req_body, gulong req_length); void soup_message_set_response (SoupMessage *msg, const char *content_type, SoupOwnership resp_owner, char *resp_body, gulong resp_length); void soup_message_add_header (GHashTable *hash, const char *name, const char *value); const char* soup_message_get_header (GHashTable *hash, const char *name); const GSList* soup_message_get_header_list (GHashTable *hash, const char *name); void soup_message_foreach_header (GHashTable *hash, GHFunc func, gpointer user_data); void soup_message_remove_header (GHashTable *hash, const char *name); void soup_message_clear_headers (GHashTable *hash); enum SoupHttpVersion; void soup_message_set_http_version (SoupMessage *msg, SoupHttpVersion version); SoupHttpVersion soup_message_get_http_version (SoupMessage *msg); gboolean soup_message_is_keepalive (SoupMessage *msg); const SoupUri* soup_message_get_uri (SoupMessage *msg); void soup_message_set_uri (SoupMessage *msg, const SoupUri *uri); enum SoupMessageFlags; void soup_message_set_flags (SoupMessage *msg, guint flags); guint soup_message_get_flags (SoupMessage *msg); enum SoupHandlerPhase; void soup_message_add_handler (SoupMessage *msg, SoupHandlerPhase type, SoupMessageCallbackFn handler_cb, gpointer user_data); void soup_message_add_header_handler (SoupMessage *msg, const char *header, SoupHandlerPhase type, SoupMessageCallbackFn, gpointer user_data); void soup_message_add_status_code_handler (SoupMessage *msg, guint status_code, SoupHandlerPhase type, SoupMessageCallbackFn, gpointer user_data); void soup_message_add_status_class_handler (SoupMessage *msg, SoupStatusClass status_class, SoupHandlerPhase type, SoupMessageCallbackFn, gpointer user_data); void soup_message_remove_handler (SoupMessage *msg, SoupHandlerPhase type, SoupMessageCallbackFn, gpointer user_data); void soup_message_set_status (SoupMessage *msg, guint status_code); void soup_message_set_status_full (SoupMessage *msg, guint status_code, const char *reason_phrase); void soup_message_add_chunk (SoupMessage *msg, SoupOwnership owner, const char *body, guint length); void soup_message_add_final_chunk (SoupMessage *msg); SoupDataBuffer* soup_message_pop_chunk (SoupMessage *msg); void soup_message_send_request (SoupMessage *req, SoupSocket *sock, gboolean via_proxy); void soup_message_read_request (SoupMessage *req, SoupSocket *sock); void soup_message_io_pause (SoupMessage *msg); void soup_message_io_unpause (SoupMessage *msg); void soup_message_wrote_informational (SoupMessage *msg); void soup_message_wrote_headers (SoupMessage *msg); void soup_message_wrote_chunk (SoupMessage *msg); void soup_message_wrote_body (SoupMessage *msg); void soup_message_got_informational (SoupMessage *msg); void soup_message_got_headers (SoupMessage *msg); void soup_message_got_chunk (SoupMessage *msg); void soup_message_got_body (SoupMessage *msg); void soup_message_finished (SoupMessage *msg);
typedef enum { SOUP_MESSAGE_STATUS_IDLE, SOUP_MESSAGE_STATUS_QUEUED, SOUP_MESSAGE_STATUS_CONNECTING, SOUP_MESSAGE_STATUS_RUNNING, SOUP_MESSAGE_STATUS_FINISHED } SoupMessageStatus;
#define SOUP_MESSAGE_IS_STARTING(msg) (msg->status == SOUP_MESSAGE_STATUS_QUEUED || msg->status == SOUP_MESSAGE_STATUS_CONNECTING)
msg : |
typedef enum { SOUP_TRANSFER_UNKNOWN = 0, SOUP_TRANSFER_CHUNKED, SOUP_TRANSFER_CONTENT_LENGTH } SoupTransferEncoding;
typedef enum { SOUP_BUFFER_SYSTEM_OWNED = 0, SOUP_BUFFER_USER_OWNED, SOUP_BUFFER_STATIC } SoupOwnership;
void (*SoupMessageCallbackFn) (SoupMessage *req, gpointer user_data);
req : | |
user_data : |
SoupMessage* soup_message_new (const char *method, const char *uri_string);
Creates a new empty SoupMessage, which will connect to uri
method : | the HTTP method for the created request |
uri_string : | the destination endpoint (as a string) |
Returns : | the new SoupMessage (or NULL if uri could not be parsed). |
SoupMessage* soup_message_new_from_uri (const char *method, const SoupUri *uri);
Creates a new empty SoupMessage, which will connect to uri
method : | the HTTP method for the created request |
uri : | the destination endpoint (as a SoupUri) |
Returns : | the new SoupMessage |
void soup_message_set_request (SoupMessage *msg, const char *content_type, SoupOwnership req_owner, char *req_body, gulong req_length);
Convenience function to set the request body of a SoupMessage
msg : | the message |
content_type : | MIME Content-Type of the body |
req_owner : | the SoupOwnership of the passed data buffer. |
req_body : | a data buffer containing the body of the message request. |
req_length : | the byte length of req_body. |
void soup_message_set_response (SoupMessage *msg, const char *content_type, SoupOwnership resp_owner, char *resp_body, gulong resp_length);
Convenience function to set the response body of a SoupMessage
msg : | the message |
content_type : | MIME Content-Type of the body |
resp_owner : | the SoupOwnership of the passed data buffer. |
resp_body : | a data buffer containing the body of the message response. |
resp_length : | the byte length of resp_body. |
void soup_message_add_header (GHashTable *hash, const char *name, const char *value);
hash : | |
name : | |
value : |
const char* soup_message_get_header (GHashTable *hash, const char *name);
Lookup the first transport header in hash with a key equal to name.
hash : | a header hash table |
name : | header name. |
Returns : | the header's value or NULL if not found. |
const GSList* soup_message_get_header_list (GHashTable *hash, const char *name);
Lookup the all transport request headers in hash with a key equal to name.
hash : | a header hash table |
name : | header name. |
Returns : | a const pointer to a GSList of header values or NULL if not found. |
void soup_message_foreach_header (GHashTable *hash, GHFunc func, gpointer user_data);
hash : | |
func : | |
user_data : |
void soup_message_remove_header (GHashTable *hash, const char *name);
hash : | |
name : |
void soup_message_set_http_version (SoupMessage *msg, SoupHttpVersion version);
msg : | |
version : |
SoupHttpVersion soup_message_get_http_version (SoupMessage *msg);
msg : | |
Returns : |
void soup_message_set_uri (SoupMessage *msg, const SoupUri *uri);
msg : | |
uri : |
typedef enum { /* * SOUP_MESSAGE_NO_PIPELINE: * Use a currently unused connection or establish a new * connection when issuing this request. */ SOUP_MESSAGE_NO_PIPELINE = (1 << 0), /* * SOUP_MESSAGE_NO_REDIRECT: * Do not follow redirection responses. */ SOUP_MESSAGE_NO_REDIRECT = (1 << 1), /* * SOUP_MESSAGE_NO_COOKIE: * Do not send cookie information with request, and do not * store cookie information from the response. */ SOUP_MESSAGE_NO_COOKIE = (1 << 2), /* * SOUP_MESSAGE_OVERWRITE_CHUNKS: * Downloaded data chunks should not be stored in the response * data buffer. Instead only send data to SOUP_HANDLER_BODY_CHUNK * handlers, then truncate the data buffer. * * Useful when the response is expected to be very large, and * storage in memory is not desired. */ SOUP_MESSAGE_OVERWRITE_CHUNKS = (1 << 3), /* * SOUP_MESSAGE_EXPECT_CONTINUE: The message includes an * "Expect: 100-continue" header, and we should not send the * body until the Continue response has been received. (This * is automatically set if there is an "Expect: 100-continue" * header.) */ SOUP_MESSAGE_EXPECT_CONTINUE = (1 << 4) } SoupMessageFlags;
typedef enum { SOUP_HANDLER_POST_REQUEST = 1, SOUP_HANDLER_PRE_BODY, SOUP_HANDLER_BODY_CHUNK, SOUP_HANDLER_POST_BODY } SoupHandlerPhase;
void soup_message_add_handler (SoupMessage *msg, SoupHandlerPhase type, SoupMessageCallbackFn handler_cb, gpointer user_data);
msg : | |
type : | |
handler_cb : | |
user_data : |
void soup_message_add_header_handler (SoupMessage *msg, const char *header, SoupHandlerPhase type, SoupMessageCallbackFn, gpointer user_data);
msg : | |
header : | |
type : | |
Param4 : | |
user_data : |
void soup_message_add_status_code_handler (SoupMessage *msg, guint status_code, SoupHandlerPhase type, SoupMessageCallbackFn, gpointer user_data);
msg : | |
status_code : | |
type : | |
Param4 : | |
user_data : |
void soup_message_add_status_class_handler (SoupMessage *msg, SoupStatusClass status_class, SoupHandlerPhase type, SoupMessageCallbackFn, gpointer user_data);
msg : | |
status_class : | |
type : | |
Param4 : | |
user_data : |
void soup_message_remove_handler (SoupMessage *msg, SoupHandlerPhase type, SoupMessageCallbackFn, gpointer user_data);
msg : | |
type : | |
Param3 : | |
user_data : |
void soup_message_set_status (SoupMessage *msg, guint status_code);
msg : | |
status_code : |
void soup_message_set_status_full (SoupMessage *msg, guint status_code, const char *reason_phrase);
msg : | |
status_code : | |
reason_phrase : |
void soup_message_add_chunk (SoupMessage *msg, SoupOwnership owner, const char *body, guint length);
msg : | |
owner : | |
body : | |
length : |
void soup_message_send_request (SoupMessage *req, SoupSocket *sock, gboolean via_proxy);
req : | |
sock : | |
via_proxy : |
void soup_message_read_request (SoupMessage *req, SoupSocket *sock);
req : | |
sock : |
<< soup-message-queue | soup-method >> |