استورد أساسي::ويب. سجل حالة { عدد: ص64 } دالة عالج(الطلب: ويب::طلب_وارد, سياق: ويب::سياق<منطقي,حالة>) -> ويب::استجابة_خادم { دع محفوظ = ويب::التقط_الحالة(سياق). دع منشور = ويب::استبدل_الحالة_إن_كانت_حالية(سياق, محفوظ, حالة { عدد: محفوظ::قيمة::عدد + 1 }). إذا ليس منشور::نجاح أو ليس منشور::قيمة { أرجع ويب::أنشئ_استجابة(409, [])::قيمة. } أرجع ويب::أنشئ_استجابة(200, [])::قيمة. } دالة ابدأ_الرئيسية() -> ص64 { دع وجهات = ويب::أنشئ_موجه([ويب::أنشئ_وجهة("GET", "/", عالج)::قيمة])::قيمة. متغير خادم = ويب::إعدادات_خدمة(). خادم::مستمعون = [ويب::أنشئ_مستمع("127.0.0.1", 8081)::قيمة]. دع مبدوء = ويب::ابدأ(خادم, وجهات, خطأ, حالة { عدد: 10 }). إذا ليس مبدوء::نجاح { اطبع(مبدوء::الخطأ::الرمز). أرجع 1. } دع مالك = مبدوء::قيمة. دع مرادف = مالك. دع محفوظ = ويب::التقط_حالة_الجلسة(مالك)::قيمة. متغير منسوخ = ويب::حالة_الجلسة(مالك)::قيمة. منسوخ::عدد = 99. إذا ويب::حالة_الجلسة(مالك)::قيمة::عدد لا يطابق 10 { أرجع 2. } دع منشور = ويب::استبدل_حالة_الجلسة_إن_كانت_حالية(مالك, محفوظ, حالة { عدد: 11 }). إذا ليس منشور::نجاح أو ليس منشور::قيمة { أرجع 3. } دع متقادم = ويب::استبدل_حالة_الجلسة_إن_كانت_حالية(مرادف, محفوظ, حالة { عدد: 12 }). إذا ليس متقادم::نجاح أو متقادم::قيمة { أرجع 4. } إذا ويب::حالة_الجلسة(مالك)::قيمة::عدد لا يطابق 11 { أرجع 5. } إذا ليس ويب::أوقف_الجلسة(مالك)::نجاح { أرجع 6. } متغير ميزانية = ويب::ميزانية_التقدم(). ميزانية::زمن_الانتظار_مللي = 1. متغير مغلق = خطأ. طالما ليس مغلق { دع متقدم = ويب::تقدم(مالك, ميزانية). إذا ليس متقدم::نجاح { اطبع(متقدم::الخطأ::الرمز). أرجع 7. } مغلق = متقدم::قيمة يطابق ويب::جلسة_مغلقة. } إذا ليس ويب::أغلق_الجلسة(مرادف)::نجاح أو ليس ويب::أغلق_الجلسة(مالك)::نجاح { أرجع 8. } إذا ويب::حالة_الجلسة(مرادف)::الخطأ::الرمز لا يطابق "http.closed_session" { أرجع 9. } إذا محفوظ::قيمة::عدد لا يطابق 10 { أرجع 10. } أرجع 0. }