Skip to content

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]; // true

API

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>

یادداشت‌ها

  1. getStatus با کد یا پیام ناشناخته خطا پرتاب می‌کند: اگر آرگومان نه number باشد و نه string، TypeError؛ در بقیهٔ حالت‌ها Error. وقتی درستی ورودی تضمین‌شده نیست — مثلاً کد وضعیتی که از شبکه خوانده‌اید — آن را در try/catch بپیچید یا نخست status.codes.includes(n) را وارسی کنید.
  2. status.redirect و empty و retry شیءهای ساده‌اند، نه Set: عضویت را با status.retry[code] بسنجید، نه با .has().
  3. هم در مرورگر و هم در Node اجرا می‌شود (ranuts/utils)، پس در سمت کارخواه همان نگاشت کد↔پیامی در دسترس است که یک رسیدگی‌کنندهٔ ranuts/node در سمت سرور به کار می‌برد.

منتشرشده تحت مجوز MIT.