## SoupStatus

SoupStatus — HTTP (and libsoup) status codes

## Functions

#define | SOUP_STATUS_IS_INFORMATIONAL()
#define | SOUP_STATUS_IS_SUCCESSFUL()
#define | SOUP_STATUS_IS_REDIRECTION()
#define | SOUP_STATUS_IS_CLIENT_ERROR()
#define | SOUP_STATUS_IS_SERVER_ERROR()
const char * | soup_status_get_phrase ()

## Types and Values

enum | SoupStatus

## Includes

    #include <libsoup/soup.h>

## Description

HTTP (and libsoup) status codes.

## Functions

### SOUP_STATUS_IS_INFORMATIONAL()

    #define SOUP_STATUS_IS_INFORMATIONAL(status)   ((status) >= 100 && (status) < 200)

Tests if `status` is an Informational (1xx) response.

#### Parameters

status | an HTTP status code |

#### Returns

`TRUE` or `FALSE`

### SOUP_STATUS_IS_SUCCESSFUL()

    #define SOUP_STATUS_IS_SUCCESSFUL(status)      ((status) >= 200 && (status) < 300)

Tests if `status` is a Successful (2xx) response.

#### Parameters

status | an HTTP status code |

#### Returns

`TRUE` or `FALSE`

### SOUP_STATUS_IS_REDIRECTION()

    #define SOUP_STATUS_IS_REDIRECTION(status)     ((status) >= 300 && (status) < 400)

Tests if `status` is a Redirection (3xx) response.

#### Parameters

status | an HTTP status code |

#### Returns

`TRUE` or `FALSE`

### SOUP_STATUS_IS_CLIENT_ERROR()

    #define SOUP_STATUS_IS_CLIENT_ERROR(status)    ((status) >= 400 && (status) < 500)

Tests if `status` is a Client Error (4xx) response.

#### Parameters

status | an HTTP status code |

#### Returns

`TRUE` or `FALSE`

### SOUP_STATUS_IS_SERVER_ERROR()

    #define SOUP_STATUS_IS_SERVER_ERROR(status)    ((status) >= 500 && (status) < 600)

Tests if `status` is a Server Error (5xx) response.

#### Parameters

status | an HTTP status code |

#### Returns

`TRUE` or `FALSE`

### soup_status_get_phrase ()

    const char *
    soup_status_get_phrase (guint status_code);

Looks up the stock HTTP description of `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.

#### Parameters

status_code | an HTTP status code |

#### Returns

the (terse, English) description of `status_code`

## Types and Values

### enum SoupStatus

These represent the known HTTP status code values, plus various network and internal errors.

Note that no libsoup functions take or return this type directly; any function that works with status codes will accept unrecognized status codes as well.

#### Members

SOUP_STATUS_NONE | No status available. (Eg, the message has not been sent yet) |
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_PERMANENT_REDIRECT | 308 Permanent 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_MISDIRECTED_REQUEST | 421 Misdirected Request |
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) |