Python Falcon - Status Codes



By default, the HTTP server's response to a client's request is having 200 OK status. Falcon provides its own list of status constant for more convenience and readability.

For example, 200 OK status code is represented by,

resp.status = falcon.HTTP_OK

These predefined Falcon constants avoid typos and cuts down on the number of string objects that must be created when preparing responses. However, starting with Falcon version 3.0, using bare int codes is allowed as well.

resp.status = 200

For ASGI application, same status codes are applicable.

Some of the status codes defined in Falcon library are listed below −

Informational Codes

  • HTTP_CONTINUE = HTTP_100

  • HTTP_SWITCHING_PROTOCOLS = HTTP_101

  • HTTP_PROCESSING = HTTP_102

Success Status Codes

  • HTTP_OK = HTTP_200

  • HTTP_CREATED = HTTP_201

  • HTTP_ACCEPTED = HTTP_202

  • HTTP_NON_AUTHORITATIVE_INFORMATION = HTTP_203

  • HTTP_NO_CONTENT = HTTP_204

  • HTTP_RESET_CONTENT = HTTP_205

  • HTTP_PARTIAL_CONTENT = HTTP_206

  • HTTP_MULTI_STATUS = HTTP_207

  • HTTP_ALREADY_REPORTED = HTTP_208

  • HTTP_IM_USED = HTTP_226

Redirection Error Codes

  • HTTP_MULTIPLE_CHOICES = HTTP_300

  • HTTP_MOVED_PERMANENTLY = HTTP_301

  • HTTP_FOUND = HTTP_302

  • HTTP_SEE_OTHER = HTTP_303

  • HTTP_NOT_MODIFIED = HTTP_304

  • HTTP_USE_PROXY = HTTP_305

  • HTTP_TEMPORARY_REDIRECT = HTTP_307

  • HTTP_PERMANENT_REDIRECT = HTTP_308

Client Error Codes

  • HTTP_BAD_REQUEST = HTTP_400

  • HTTP_UNAUTHORIZED = HTTP_401 # "unauthenticated"

  • HTTP_PAYMENT_REQUIRED = HTTP_402

  • HTTP_FORBIDDEN = HTTP_403 # "unauthorized"

  • HTTP_NOT_FOUND = HTTP_404

  • HTTP_METHOD_NOT_ALLOWED = HTTP_405

  • HTTP_NOT_ACCEPTABLE = HTTP_406

  • HTTP_PROXY_AUTHENTICATION_REQUIRED = HTTP_407

  • HTTP_REQUEST_TIMEOUT = HTTP_408

  • HTTP_CONFLICT = HTTP_409

Server Error Codes

  • HTTP_INTERNAL_SERVER_ERROR = HTTP_500

  • HTTP_NOT_IMPLEMENTED = HTTP_501

  • HTTP_BAD_GATEWAY = HTTP_502

  • HTTP_SERVICE_UNAVAILABLE = HTTP_503

  • HTTP_GATEWAY_TIMEOUT = HTTP_504

  • HTTP_HTTP_VERSION_NOT_SUPPORTED = HTTP_505

  • HTTP_INSUFFICIENT_STORAGE = HTTP_507

  • HTTP_LOOP_DETECTED = HTTP_508

  • HTTP_NETWORK_AUTHENTICATION_REQUIRED = HTTP_511

Advertisements