getStatus / status
جدولی برای یافتن کد وضعیت HTTP و پیام متناظرش، بههمراه کمککار دوسویهٔ getStatus: همان دادهای که http.STATUS_CODES خودِ Node میدهد، بستهبندیشده تا در مرورگر هم به کار آید.
کاربرد
ts
import { getStatus, status } from 'ranuts/utils';
getStatus(404); // 'Not Found'
getStatus('404'); // 'Not Found' — رشتههای عددی نخست بهعنوان کد خوانده میشوند
getStatus('not found'); // 404 — وگرنه از روی پیام جستوجو میشود، بیاعتنا به بزرگی حروف
status.redirect[302]; // true
status.empty[204]; // true
status.retry[503]; // trueAPI
getStatus(code)
پارامترها
| پارامتر | توضیح | نوع | پیشفرض |
|---|---|---|---|
code | یک کد وضعیت، یک رشتهٔ عددی، یا یک پیام وضعیت | number | string | الزامی |
بازگشت
number | string. اگر number بدهید پیام برمیگردد؛ اگر string بدهید کد (رشتهٔ عددی مانند '404' نخست کد خوانده میشود و تنها اگر کد شناختهشدهای نباشد از روی پیام جستوجو میشود). اگر ورودی با هیچکدام نخواند، خطا پرتاب میشود.
status
| میدان | توضیح | نوع |
|---|---|---|
message | کد ← پیام | Map<number, string> |
code | پیامِ حروفکوچکشده ← کد | Map<string, number> |
codes | همهٔ کدهای شناختهشده | number[] |
redirect | کدهایی که تغییر مسیر میدهند (300، 301، 302، 303، 305، 307، 308) | Record<number, true> |
empty | کدهای بیبدنه (204، 205، 304) | Record<number, true> |
retry | کدهایی که تلاش دوباره ارزشش را دارد (502، 503، 504) | Record<number, true> |
یادداشتها
getStatusبا کد یا پیام ناشناخته خطا پرتاب میکند: اگر آرگومان نهnumberباشد و نهstring،TypeError؛ در بقیهٔ حالتهاError. وقتی درستی ورودی تضمینشده نیست — مثلاً کد وضعیتی که از شبکه خواندهاید — آن را درtry/catchبپیچید یا نخستstatus.codes.includes(n)را وارسی کنید.status.redirectوemptyوretryشیءهای سادهاند، نهSet: عضویت را باstatus.retry[code]بسنجید، نه با.has().- هم در مرورگر و هم در Node اجرا میشود (
ranuts/utils)، پس در سمت کارخواه همان نگاشت کد↔پیامی در دسترس است که یک رسیدگیکنندهٔranuts/nodeدر سمت سرور به کار میبرد.