យើងអាចយកក្បួនធម្មតាជាច្រើនមកដាក់បន្តគ្នាបង្កើតជាក្បួនកណ្តាលមួយខ្សែដោយធ្វើដូចខាងក្រោមនេះ៖
// src/middleware.js
import { sequence } from "astro:middleware";
async function validation(_, next) {
console.log("1 middleware")
return await next()
}
async function auth(_, next) {
console.log("2 middleware")
return await next()
}
async function greeting(_, next) {
console.log("3 middleware")
return await next()
}
export const onRequest = sequence(validation, auth, greeting)
នៅពេលដែលយើងក្បួនធម្មតាមកប្រើជាក្បួនកណ្តាល នៅក្នុងក្បួនធម្មតាទាំងនោះចាំបាច់ត្រូវមានតំណាងទីពីរចាំទទួលយកវត្ថុដែលជាក្បួនឈ្មោះ next ។ ហើយក្បួនទាំងនោះក៏ត្រូវយកក្បួនឈ្មោះ next នោះមកប្រើនិងបញ្ជូនលទ្ធផលចេញទៅក្រៅផងដែរ។
ក្បួនធម្មតាទាំងនោះត្រូវដាក់បន្តគ្នាបង្កើតបានជាក្បួនកណ្តាលមួយខ្សែដោយប្រើប្រាស់ក្បួនឈ្មោះ sequence ដែលត្រូវបាននាំចូលពីសាស្ត្រា “astro:middleware” ។ ហើយលទ្ធផលបានមកពីក្បួន sequence ត្រូវផ្តល់អោយទៅអថេរឈ្មោះ onRequest ដែលត្រូវនាំចេញដោយបញ្ជា export ។
ជាលទ្ធផល ក្បួនកណ្តាលទាំងនោះនឹងត្រូវយកទៅប្រើប្រាស់ជាបន្តបន្ទាប់ជាស្វ័យប្រវត្តិតាមលេខរៀងរបស់វា នៅគ្រប់ការចូលទៅកាន់ឯកសារទាំងឡាយតាមផ្លូវណាមួយ៕