NNG_HTTP_RES_GET_STATUS(3http)
π nng_http_res_get_status β return HTTP status code π
okay bestie, so this one's from the NNG Reference Manual (the 3http section, iykyk) and it is literally the simplest slay in the whole HTTP res toolkit. Let's get into it β¨
β¨ SYNOPSIS β¨
#include <nng/nng.h>
#include <nng/supplemental/http/http.h>
uint16_t nng_http_res_get_status(nng_http_res *res);
πΈ DESCRIPTION πΈ
So nng_http_res_get_status() gives you back a numeric code β that's the HTTP status of the response res. Like, the whole "is it a 200 or is it a 404 moment" of it all. Returning it straight to you. No cap π
And because the NNG girlies are thoughtful, there's a bunch of predefined symbols for the well-known HTTP status codes so you don't gotta memorize numbers like a medieval peasant. Here they all are, exactly, in their full iconic glory π
enum {
NNG_HTTP_STATUS_CONTINUE = 100,
NNG_HTTP_STATUS_SWITCHING = 101,
NNG_HTTP_STATUS_PROCESSING = 102,
NNG_HTTP_STATUS_OK = 200,
NNG_HTTP_STATUS_CREATED = 201,
NNG_HTTP_STATUS_ACCEPTED = 202,
NNG_HTTP_STATUS_NOT_AUTHORITATIVE = 203,
NNG_HTTP_STATUS_NO_CONTENT = 204,
NNG_HTTP_STATUS_RESET_CONTENT = 205,
NNG_HTTP_STATUS_PARTIAL_CONTENT = 206,
NNG_HTTP_STATUS_MULTI_STATUS = 207,
NNG_HTTP_STATUS_ALREADY_REPORTED = 208,
NNG_HTTP_STATUS_IM_USED = 226,
NNG_HTTP_STATUS_MULTIPLE_CHOICES = 300,
NNG_HTTP_STATUS_STATUS_MOVED_PERMANENTLY = 301,
NNG_HTTP_STATUS_FOUND = 302,
NNG_HTTP_STATUS_SEE_OTHER = 303,
NNG_HTTP_STATUS_NOT_MODIFIED = 304,
NNG_HTTP_STATUS_USE_PROXY = 305,
NNG_HTTP_STATUS_TEMPORARY_REDIRECT = 307,
NNG_HTTP_STATUS_PERMANENT_REDIRECT = 308,
NNG_HTTP_STATUS_BAD_REQUEST = 400,
NNG_HTTP_STATUS_UNAUTHORIZED = 401,
NNG_HTTP_STATUS_PAYMENT_REQUIRED = 402,
NNG_HTTP_STATUS_FORBIDDEN = 403,
NNG_HTTP_STATUS_NOT_FOUND = 404,
NNG_HTTP_STATUS_METHOD_NOT_ALLOWED = 405,
NNG_HTTP_STATUS_NOT_ACCEPTABLE = 406,
NNG_HTTP_STATUS_PROXY_AUTH_REQUIRED = 407,
NNG_HTTP_STATUS_REQUEST_TIMEOUT = 408,
NNG_HTTP_STATUS_CONFLICT = 409,
NNG_HTTP_STATUS_GONE = 410,
NNG_HTTP_STATUS_LENGTH_REQUIRED = 411,
NNG_HTTP_STATUS_PRECONDITION_FAILED = 412,
NNG_HTTP_STATUS_PAYLOAD_TOO_LARGE = 413,
NNG_HTTP_STATUS_ENTITY_TOO_LONG = 414,
NNG_HTTP_STATUS_UNSUPPORTED_MEDIA_TYPE = 415,
NNG_HTTP_STATUS_RANGE_NOT_SATISFIABLE = 416,
NNG_HTTP_STATUS_EXPECTATION_FAILED = 417,
NNG_HTTP_STATUS_TEAPOT = 418,
NNG_HTTP_STATUS_UNPROCESSABLE_ENTITY = 422,
NNG_HTTP_STATUS_LOCKED = 423,
NNG_HTTP_STATUS_FAILED_DEPENDENCY = 424,
NNG_HTTP_STATUS_UPGRADE_REQUIRED = 426,
NNG_HTTP_STATUS_PRECONDITION_REQUIRED = 428,
NNG_HTTP_STATUS_TOO_MANY_REQUESTS = 429,
NNG_HTTP_STATUS_HEADERS_TOO_LARGE = 431,
NNG_HTTP_STATUS_UNAVAIL_LEGAL_REASONS = 451,
NNG_HTTP_STATUS_INTERNAL_SERVER_ERROR = 500,
NNG_HTTP_STATUS_NOT_IMPLEMENTED = 501,
NNG_HTTP_STATUS_BAD_GATEWAY = 502,
NNG_HTTP_STATUS_SERVICE_UNAVAILABLE = 503,
NNG_HTTP_STATUS_GATEWAY_TIMEOUT = 504,
NNG_HTTP_STATUS_HTTP_VERSION_NOT_SUPP = 505,
NNG_HTTP_STATUS_VARIANT_ALSO_NEGOTIATES = 506,
NNG_HTTP_STATUS_INSUFFICIENT_STORAGE = 507,
NNG_HTTP_STATUS_LOOP_DETECTED = 508,
NNG_HTTP_STATUS_NOT_EXTENDED = 510,
NNG_HTTP_STATUS_NETWORK_AUTH_REQUIRED = 511,
}
π§ Tip π§ when you're showing status info to actual humans (or logging it, bestie, we see you), lowkey consider also including the reason you get from nng_http_res_get_reason(). it's giving "context" and it's giving "thoughtful" π«Ά
π₯ RETURN VALUES π₯
the HTTP status code. that's it. that's the tweet π
π ERRORS π
none. not a single one. flawless behavior, zero drama, we love to see it β¨
π SEE ALSO π
okay that's the whole page, go forth and read your status codes like the main character you are ππ
signed off with love from the NNG gang β this one's dated 2026-01-13, source/version NNG_HTTP_...GET_STATUS(3http) ππ¦πΈ
π¦ where this page comes from
- alpine 3.24: nng-doc 1.11-r0 Β· MIT
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms