![]() |
![]() |
![]() |
libsoup Reference Manual | ![]() |
---|---|---|---|---|
#define SOUP_STATUS_IS_TRANSPORT_ERROR (status) #define SOUP_STATUS_IS_INFORMATIONAL (status) #define SOUP_STATUS_IS_SUCCESSFUL (status) #define SOUP_STATUS_IS_REDIRECTION (status) #define SOUP_STATUS_IS_CLIENT_ERROR (status) #define SOUP_STATUS_IS_SERVER_ERROR (status) enum SoupKnownStatusCode; const char* soup_status_get_phrase (guint status_code); guint soup_status_proxify (guint status_code); #define SOUP_HTTP_ERROR
#define SOUP_STATUS_IS_TRANSPORT_ERROR(status) ((status) > 0 && (status) < 100)
Tests if status
is a libsoup transport error.
status : |
a status code |
#define SOUP_STATUS_IS_INFORMATIONAL(status) ((status) >= 100 && (status) < 200)
Tests if status
is an Informational (1xx) response.
status : |
an HTTP status code |
#define SOUP_STATUS_IS_SUCCESSFUL(status) ((status) >= 200 && (status) < 300)
Tests if status
is a Successful (2xx) response.
status : |
an HTTP status code |
#define SOUP_STATUS_IS_REDIRECTION(status) ((status) >= 300 && (status) < 400)
Tests if status
is a Redirection (3xx) response.
status : |
an HTTP status code |
#define SOUP_STATUS_IS_CLIENT_ERROR(status) ((status) >= 400 && (status) < 500)
Tests if status
is a Client Error (4xx) response.
status : |
an HTTP status code |
#define SOUP_STATUS_IS_SERVER_ERROR(status) ((status) >= 500 && (status) < 600)
Tests if status
is a Server Error (5xx) response.
status : |
an HTTP status code |
typedef enum { SOUP_STATUS_NONE, /* Transport Errors */ SOUP_STATUS_CANCELLED = 1, SOUP_STATUS_CANT_RESOLVE, SOUP_STATUS_CANT_RESOLVE_PROXY, SOUP_STATUS_CANT_CONNECT, SOUP_STATUS_CANT_CONNECT_PROXY, SOUP_STATUS_SSL_FAILED, SOUP_STATUS_IO_ERROR, SOUP_STATUS_MALFORMED, SOUP_STATUS_TRY_AGAIN, /* HTTP Status Codes */ SOUP_STATUS_CONTINUE = 100, SOUP_STATUS_SWITCHING_PROTOCOLS = 101, SOUP_STATUS_PROCESSING = 102, /* WebDAV */ SOUP_STATUS_OK = 200, SOUP_STATUS_CREATED = 201, SOUP_STATUS_ACCEPTED = 202, SOUP_STATUS_NON_AUTHORITATIVE = 203, SOUP_STATUS_NO_CONTENT = 204, SOUP_STATUS_RESET_CONTENT = 205, SOUP_STATUS_PARTIAL_CONTENT = 206, SOUP_STATUS_MULTI_STATUS = 207, /* WebDAV */ SOUP_STATUS_MULTIPLE_CHOICES = 300, SOUP_STATUS_MOVED_PERMANENTLY = 301, SOUP_STATUS_FOUND = 302, SOUP_STATUS_MOVED_TEMPORARILY = 302, /* RFC 2068 */ SOUP_STATUS_SEE_OTHER = 303, SOUP_STATUS_NOT_MODIFIED = 304, SOUP_STATUS_USE_PROXY = 305, SOUP_STATUS_NOT_APPEARING_IN_THIS_PROTOCOL = 306, /* (reserved) */ SOUP_STATUS_TEMPORARY_REDIRECT = 307, SOUP_STATUS_BAD_REQUEST = 400, SOUP_STATUS_UNAUTHORIZED = 401, SOUP_STATUS_PAYMENT_REQUIRED = 402, /* (reserved) */ SOUP_STATUS_FORBIDDEN = 403, SOUP_STATUS_NOT_FOUND = 404, SOUP_STATUS_METHOD_NOT_ALLOWED = 405, SOUP_STATUS_NOT_ACCEPTABLE = 406, SOUP_STATUS_PROXY_AUTHENTICATION_REQUIRED = 407, SOUP_STATUS_PROXY_UNAUTHORIZED = SOUP_STATUS_PROXY_AUTHENTICATION_REQUIRED, SOUP_STATUS_REQUEST_TIMEOUT = 408, SOUP_STATUS_CONFLICT = 409, SOUP_STATUS_GONE = 410, SOUP_STATUS_LENGTH_REQUIRED = 411, SOUP_STATUS_PRECONDITION_FAILED = 412, SOUP_STATUS_REQUEST_ENTITY_TOO_LARGE = 413, SOUP_STATUS_REQUEST_URI_TOO_LONG = 414, SOUP_STATUS_UNSUPPORTED_MEDIA_TYPE = 415, SOUP_STATUS_REQUESTED_RANGE_NOT_SATISFIABLE = 416, SOUP_STATUS_INVALID_RANGE = SOUP_STATUS_REQUESTED_RANGE_NOT_SATISFIABLE, SOUP_STATUS_EXPECTATION_FAILED = 417, SOUP_STATUS_UNPROCESSABLE_ENTITY = 422, /* WebDAV */ SOUP_STATUS_LOCKED = 423, /* WebDAV */ SOUP_STATUS_FAILED_DEPENDENCY = 424, /* WebDAV */ SOUP_STATUS_INTERNAL_SERVER_ERROR = 500, SOUP_STATUS_NOT_IMPLEMENTED = 501, SOUP_STATUS_BAD_GATEWAY = 502, SOUP_STATUS_SERVICE_UNAVAILABLE = 503, SOUP_STATUS_GATEWAY_TIMEOUT = 504, SOUP_STATUS_HTTP_VERSION_NOT_SUPPORTED = 505, SOUP_STATUS_INSUFFICIENT_STORAGE = 507, /* WebDAV search */ SOUP_STATUS_NOT_EXTENDED = 510 /* RFC 2774 */ } SoupKnownStatusCode;
These represent the known HTTP status code values, plus various network and internal errors.
SOUP_STATUS_NONE
|
No status available. (Eg, the message has not been sent yet) |
SOUP_STATUS_CANCELLED
|
Message was cancelled locally |
SOUP_STATUS_CANT_RESOLVE
|
Unable to resolve destination host name |
SOUP_STATUS_CANT_RESOLVE_PROXY
|
Unable to resolve proxy host name |
SOUP_STATUS_CANT_CONNECT
|
Unable to connect to remote host |
SOUP_STATUS_CANT_CONNECT_PROXY
|
Unable to connect to proxy |
SOUP_STATUS_SSL_FAILED
|
SSL negotiation failed |
SOUP_STATUS_IO_ERROR
|
A network error occurred, or the other end closed the connection unexpectedly |
SOUP_STATUS_MALFORMED
|
Malformed data (usually a programmer error) |
SOUP_STATUS_TRY_AGAIN
|
Formerly used internally. Now unused. |
SOUP_STATUS_CONTINUE
|
100 Continue (HTTP) |
SOUP_STATUS_SWITCHING_PROTOCOLS
|
101 Switching Protocols (HTTP) |
SOUP_STATUS_PROCESSING
|
102 Processing (WebDAV) |
SOUP_STATUS_OK
|
200 Success (HTTP). Also used by many lower-level soup routines to indicate success. |
SOUP_STATUS_CREATED
|
201 Created (HTTP) |
SOUP_STATUS_ACCEPTED
|
202 Accepted (HTTP) |
SOUP_STATUS_NON_AUTHORITATIVE
|
203 Non-Authoritative Information (HTTP) |
SOUP_STATUS_NO_CONTENT
|
204 No Content (HTTP) |
SOUP_STATUS_RESET_CONTENT
|
205 Reset Content (HTTP) |
SOUP_STATUS_PARTIAL_CONTENT
|
206 Partial Content (HTTP) |
SOUP_STATUS_MULTI_STATUS
|
207 Multi-Status (WebDAV) |
SOUP_STATUS_MULTIPLE_CHOICES
|
300 Multiple Choices (HTTP) |
SOUP_STATUS_MOVED_PERMANENTLY
|
301 Moved Permanently (HTTP) |
SOUP_STATUS_FOUND
|
302 Found (HTTP) |
SOUP_STATUS_MOVED_TEMPORARILY
|
302 Moved Temporarily (old name, RFC 2068) |
SOUP_STATUS_SEE_OTHER
|
303 See Other (HTTP) |
SOUP_STATUS_NOT_MODIFIED
|
304 Not Modified (HTTP) |
SOUP_STATUS_USE_PROXY
|
305 Use Proxy (HTTP) |
SOUP_STATUS_NOT_APPEARING_IN_THIS_PROTOCOL
|
306 [Unused] (HTTP) |
SOUP_STATUS_TEMPORARY_REDIRECT
|
307 Temporary Redirect (HTTP) |
SOUP_STATUS_BAD_REQUEST
|
400 Bad Request (HTTP) |
SOUP_STATUS_UNAUTHORIZED
|
401 Unauthorized (HTTP) |
SOUP_STATUS_PAYMENT_REQUIRED
|
402 Payment Required (HTTP) |
SOUP_STATUS_FORBIDDEN
|
403 Forbidden (HTTP) |
SOUP_STATUS_NOT_FOUND
|
404 Not Found (HTTP) |
SOUP_STATUS_METHOD_NOT_ALLOWED
|
405 Method Not Allowed (HTTP) |
SOUP_STATUS_NOT_ACCEPTABLE
|
406 Not Acceptable (HTTP) |
SOUP_STATUS_PROXY_AUTHENTICATION_REQUIRED
|
407 Proxy Authentication Required (HTTP) |
SOUP_STATUS_PROXY_UNAUTHORIZED
|
shorter alias for
SOUP_STATUS_PROXY_AUTHENTICATION_REQUIRED
|
SOUP_STATUS_REQUEST_TIMEOUT
|
408 Request Timeout (HTTP) |
SOUP_STATUS_CONFLICT
|
409 Conflict (HTTP) |
SOUP_STATUS_GONE
|
410 Gone (HTTP) |
SOUP_STATUS_LENGTH_REQUIRED
|
411 Length Required (HTTP) |
SOUP_STATUS_PRECONDITION_FAILED
|
412 Precondition Failed (HTTP) |
SOUP_STATUS_REQUEST_ENTITY_TOO_LARGE
|
413 Request Entity Too Large (HTTP) |
SOUP_STATUS_REQUEST_URI_TOO_LONG
|
414 Request-URI Too Long (HTTP) |
SOUP_STATUS_UNSUPPORTED_MEDIA_TYPE
|
415 Unsupported Media Type (HTTP) |
SOUP_STATUS_REQUESTED_RANGE_NOT_SATISFIABLE
|
416 Requested Range Not Satisfiable (HTTP) |
SOUP_STATUS_INVALID_RANGE
|
shorter alias for
SOUP_STATUS_REQUESTED_RANGE_NOT_SATISFIABLE
|
SOUP_STATUS_EXPECTATION_FAILED
|
417 Expectation Failed (HTTP) |
SOUP_STATUS_UNPROCESSABLE_ENTITY
|
422 Unprocessable Entity (WebDAV) |
SOUP_STATUS_LOCKED
|
423 Locked (WebDAV) |
SOUP_STATUS_FAILED_DEPENDENCY
|
424 Failed Dependency (WebDAV) |
SOUP_STATUS_INTERNAL_SERVER_ERROR
|
500 Internal Server Error (HTTP) |
SOUP_STATUS_NOT_IMPLEMENTED
|
501 Not Implemented (HTTP) |
SOUP_STATUS_BAD_GATEWAY
|
502 Bad Gateway (HTTP) |
SOUP_STATUS_SERVICE_UNAVAILABLE
|
503 Service Unavailable (HTTP) |
SOUP_STATUS_GATEWAY_TIMEOUT
|
504 Gateway Timeout (HTTP) |
SOUP_STATUS_HTTP_VERSION_NOT_SUPPORTED
|
505 HTTP Version Not Supported (HTTP) |
SOUP_STATUS_INSUFFICIENT_STORAGE
|
507 Insufficient Storage (WebDAV) |
SOUP_STATUS_NOT_EXTENDED
|
510 Not Extended (RFC 2774) |
const char* soup_status_get_phrase (guint status_code);
Looks up the stock HTTP description of status_code
. This is used
by soup_message_set_status()
to get the correct text to go with a
given status code.
There is no reason for you to ever use this
function. If you wanted the textual description for the
status_code
of a given SoupMessage, you should just look at the
message's reason_phrase
. However, you should only do that for use
in debugging messages; HTTP reason phrases are not localized, and
are not generally very descriptive anyway, and so they should never
be presented to the user directly. Instead, you should create you
own error messages based on the status code, and on what you were
trying to do.
status_code : |
an HTTP status code |
Returns : | the (terse, English) description of status_code
|
guint soup_status_proxify (guint status_code);
Turns SOUP_STATUS_CANT_RESOLVE
into
SOUP_STATUS_CANT_RESOLVE_PROXY
and SOUP_STATUS_CANT_CONNECT
into
SOUP_STATUS_CANT_CONNECT_PROXY
. Other status codes are passed
through unchanged.
status_code : |
a status code |
Returns : | the "proxified" equivalent of status_code .
|
Since 2.26
#define SOUP_HTTP_ERROR soup_http_error_quark()
A GError domain representing an HTTP status. Use a
SoupKnownStatusCode for the code
value.