مسیریاب شبکه net/router
مسیریابی درخواستهای HTTP با پارامتر، گروه و پروندههای ایستا.
واردسازی شبکه.مسیریاب شبکه
مسیریاب برای هر روش و مسیر یک روال گرداننده نگه میدارد. در الگو، بخشی که با : شروع شود پارامتر است؛ /books/:id مسیر /books/42 را با id برابر ۴۲ میپذیرد. * در انتهای الگو هر ادامهای را میپذیرد، بیآنکه پارامتری بسازد.
معمولاً مسیریاب را به سرور اچ تی تی پی میدهید تا خودش اعزام را صدا بزند؛ گردانندهها شناسهی زمینهی درخواست را میگیرند.
گونهها
پارامتر Param
ساختار پارامتر| نام | انگلیسی | گونه | توضیح |
|---|---|---|---|
| key | key | رشته = "" | نام، بدون :. |
| value | value | رشته = "" | مقدار از مسیر درخواست. |
واردسازی شبکه.مسیریاب شبکه
ناپایا شمار := ۰
روال فهرست(_زمینه: صحیح۶۴):
شمار += ۱
پایان
روال نمایش(_زمینه: صحیح۶۴):
شمار += ۱
پایان
روال ساختن(_زمینه: صحیح۶۴):
شمار += ۱
پایان
روال ریشه:
ناپایا م := مسیریاب شبکه.مسیریاب جدید()
مسیریاب شبکه.دریافت(م، "/books"، فهرست)
مسیریاب شبکه.دریافت(م، "/books/:id"، نمایش)
مسیریاب شبکه.ارسال(م، "/books"، ساختن)
مسیریاب شبکه.قراردادن(م، "/books/:id"، ساختن)
مسیریاب شبکه.حذف(م، "/books/:id"، ساختن)
مسیریاب شبکه.وصله(م، "/books/:id"، ساختن)
مسیریاب شبکه.سر(م، "/books"، فهرست)
مسیریاب شبکه.گزینه ها(م، "/books"، فهرست)
مسیریاب شبکه.روش(م، "PURGE"، "/cache"، ساختن)
مسیریاب شبکه.روش(م، "GET"، "/files/*"، نمایش)
مسیریاب شبکه.گروه(م، "/api/v1"، "GET"، "/users/:uid/books/:id"، نمایش)
مسیریاب شبکه.ایستا(م، "/static"، "public")
مسیریاب شبکه.فعال سازی فهرست پوشه(م)
سرچاپ م.routes.طول()، م.has_static، م.static_prefix، م.static_listing
ناپایا ت := مسیریاب شبکه.اعزام(م، "GET"، "/books/42")
سرچاپ ت.matched، ت.fn == نمایش، مسیریاب شبکه.دریافت پارامتر(ت، "id")
مسیریاب شبکه.آزادسازی تطابق(ت)
ناپایا ت۲ := مسیریاب شبکه.اعزام(م، "GET"، "/api/v1/users/7/books/3")
سرچاپ ت۲.matched، ت۲.params.items.طول()، ت۲.params.items[۰].key، ت۲.params.items[۰].value
مسیریاب شبکه.آزادسازی تطابق(ت۲)
ناپایا ت۳ := مسیریاب شبکه.اعزام(م، "GET"، "/files/a/b.txt")
سرچاپ ت۳.matched، ت۳.params.items.طول()
مسیریاب شبکه.آزادسازی تطابق(ت۳)
ناپایا ت۴ := مسیریاب شبکه.اعزام(م، "DELETE"، "/books")
سرچاپ ت۴.matched، م.routes[۰].method، م.routes[۰].pattern
مسیریاب شبکه.آزادسازی تطابق(ت۴)
پایانپارامترها ParamList
ساختار پارامترها| نام | انگلیسی | گونه | توضیح |
|---|---|---|---|
| items | items | وکتور<پارامتر> | پارامترها. |
نمونهی این مورد همراه با موارد بالاتر آمده است: net-router-Dispatch.salam
مسیر مسیریابی Route
ساختار مسیر مسیریابی| نام | انگلیسی | گونه | توضیح |
|---|---|---|---|
| method | method | رشته = "" | روش HTTP. |
| pattern | pattern | رشته = "" | الگوی مسیر. |
| fn | fn | صحیح۶۴ = 0 | روال گرداننده. |
| mid | mid | صحیح = 0 | شناسهی روش. |
| spec | spec | صحیح = 0 | نوع الگو: صفر ثابت، ۱ با پارامتر، ۲ با *. |
نمونهی این مورد همراه با موارد بالاتر آمده است: net-router-Dispatch.salam
مسیریاب Router
ساختار مسیریاب| نام | انگلیسی | گونه | توضیح |
|---|---|---|---|
| routes | routes | وکتور<مسیر مسیریابی> | مسیرهای ثبتشده. |
| static_prefix | static_prefix | رشته = "" | پیشوند مسیر پروندههای ایستا. |
| static_dir | static_dir | رشته = "" | پوشهی پروندههای ایستا. |
| has_static | has_static | منطقی = نادرست | پروندههای ایستا فعال است. |
| static_listing | static_listing | منطقی = نادرست | فهرست محتوای پوشهها نشان داده شود. |
| idx | idx | وکتور<صحیح> | جدول درهم مسیرهای ثابت. |
| idx_mask | idx_mask | صحیح = 0 | اندازهی جدول منهای یک. |
| n_literal | n_literal | صحیح = 0 | تعداد مسیرهای ثابت. |
| n_dynamic | n_dynamic | صحیح = 0 | تعداد مسیرهای دارای پارامتر. |
نمونهی این مورد همراه با موارد بالاتر آمده است: net-router-Dispatch.salam
تطابق Match
ساختار تطابق| نام | انگلیسی | گونه | توضیح |
|---|---|---|---|
| matched | matched | منطقی = نادرست | مسیری پیدا شد. |
| fn | fn | صحیح۶۴ = 0 | روال گردانندهی مسیر. |
| params | params | پارامترها | پارامترهای مسیر. |
نمونهی این مورد همراه با موارد بالاتر آمده است: net-router-Dispatch.salam
روالها
مسیریاب جدید NewRouter
روال مسیریاب جدید(): مسیریابنمونهی این مورد همراه با موارد بالاتر آمده است: net-router-Dispatch.salam
دریافت Get
روال دریافت(r &: مسیریاب، path: رشته، fn: صحیح۶۴)نمونهی این مورد همراه با موارد بالاتر آمده است: net-router-Dispatch.salam
ارسال Post
روال ارسال(r &: مسیریاب، path: رشته، fn: صحیح۶۴)نمونهی این مورد همراه با موارد بالاتر آمده است: net-router-Dispatch.salam
قراردادن Put
روال قراردادن(r &: مسیریاب، path: رشته، fn: صحیح۶۴)نمونهی این مورد همراه با موارد بالاتر آمده است: net-router-Dispatch.salam
حذف Delete
روال حذف(r &: مسیریاب، path: رشته، fn: صحیح۶۴)نمونهی این مورد همراه با موارد بالاتر آمده است: net-router-Dispatch.salam
وصله Patch
روال وصله(r &: مسیریاب، path: رشته، fn: صحیح۶۴)نمونهی این مورد همراه با موارد بالاتر آمده است: net-router-Dispatch.salam
سر Head
روال سر(r &: مسیریاب، path: رشته، fn: صحیح۶۴)نمونهی این مورد همراه با موارد بالاتر آمده است: net-router-Dispatch.salam
گزینه ها Options
روال گزینه ها(r &: مسیریاب، path: رشته، fn: صحیح۶۴)نمونهی این مورد همراه با موارد بالاتر آمده است: net-router-Dispatch.salam
روش Method
روال روش(r &: مسیریاب، method: رشته، path: رشته، fn: صحیح۶۴)نمونهی این مورد همراه با موارد بالاتر آمده است: net-router-Dispatch.salam
گروه Group
روال گروه(r &: مسیریاب، prefix: رشته، method: رشته، path: رشته، fn: صحیح۶۴)/api/v1.نمونهی این مورد همراه با موارد بالاتر آمده است: net-router-Dispatch.salam
ایستا Static
روال ایستا(r &: مسیریاب، prefix: رشته، dir: رشته)نمونهی این مورد همراه با موارد بالاتر آمده است: net-router-Dispatch.salam
فعال سازی فهرست پوشه EnableListing
روال فعال سازی فهرست پوشه(r &: مسیریاب)index.html، فهرست پروندهها را نشان میدهد.نمونهی این مورد همراه با موارد بالاتر آمده است: net-router-Dispatch.salam
دریافت پارامتر ParamGet
روال دریافت پارامتر(m: تطابق، key: رشته): رشتهنمونهی این مورد همراه با موارد بالاتر آمده است: net-router-Dispatch.salam
اعزام Dispatch
روال اعزام(r: مسیریاب، method: رشته، path: رشته): تطابقنمونهی این مورد همراه با موارد بالاتر آمده است: net-router-Dispatch.salam
آزادسازی تطابق FreeMatch
روال آزادسازی تطابق(m &: تطابق)نمونهی این مورد همراه با موارد بالاتر آمده است: net-router-Dispatch.salam