استورد أساسي::ويب. شارك دالة جرب(أساس: نص, مرجع_خاص: منطقي) -> ص64 { متغير خيارات = ويب::خيارات_طلب(). خيارات::استخدم_مرجع_خاص = مرجع_خاص. إذا مرجع_خاص { خيارات::ملف_مرجع = "server.pem". } دع تحية = ويب::اطلب(ويب::أنشئ_طلب("GET", أساس + "/hello")::قيمة, خيارات). إذا ليس تحية::نجاح { اطبع(تحية::الخطأ::الرمز). أرجع 1. } دع متن = ويب::فك_نص(تحية::قيمة::متن). إذا ليس متن::نجاح أو متن::قيمة ليس يطابق "مرحبا من ASPL" { أرجع 2. } متغير نص_جيسون = ويب::أنشئ_طلب("POST", أساس + "/submit")::قيمة. نص_جيسون::متن = ويب::رمز_نص("{\"message\":\"مرحبا\"}"). نص_جيسون::ترويسات = [ويب::ترويسة_نصية("Content-Type", "application/json; charset=utf-8")::قيمة]. دع مقدم = ويب::اطلب(نص_جيسون, خيارات). إذا ليس مقدم::نجاح { اطبع(مقدم::الخطأ::الرمز). أرجع 3. } إذا ويب::فك_نص(مقدم::قيمة::متن)::قيمة ليس يطابق "{\"message\":\"مرحبا\"}" { أرجع 4. } متغير رفع = ويب::أنشئ_طلب("POST", أساس + "/bytes")::قيمة. رفع::متن = [0, 255, 65]. دع مرسل = ويب::اطلب(رفع, خيارات). إذا ليس مرسل::نجاح { اطبع(مرسل::الخطأ::الرمز). أرجع 5. } دع منزل = ويب::اطلب(ويب::أنشئ_طلب("GET", أساس + "/download")::قيمة, خيارات). إذا ليس منزل::نجاح { اطبع(منزل::الخطأ::الرمز). أرجع 6. } دع بايتات_مرفوعة = مرسل::قيمة::متن. دع بايتات_منزلة = منزل::قيمة::متن. إذا طول(بايتات_مرفوعة) ليس يطابق 3 أو بايتات_مرفوعة[0] ليس يطابق 0 أو بايتات_مرفوعة[1] ليس يطابق 255 أو بايتات_مرفوعة[2] ليس يطابق 65 { أرجع 7. } إذا طول(بايتات_منزلة) ليس يطابق 3 أو بايتات_منزلة[0] ليس يطابق 0 أو بايتات_منزلة[1] ليس يطابق 255 أو بايتات_منزلة[2] ليس يطابق 65 { أرجع 8. } دع نص_غير_صالح = ويب::فك_نص(بايتات_منزلة). إذا نص_غير_صالح::نجاح أو نص_غير_صالح::الخطأ::الرمز ليس يطابق "http.invalid_utf8" { أرجع 9. } دع مفقود = ويب::اطلب(ويب::أنشئ_طلب("GET", أساس + "/missing")::قيمة, خيارات). إذا ليس مفقود::نجاح أو مفقود::قيمة::حالة ليس يطابق 404 { أرجع 10. } اطبع("checked text, JSON, 00 FF 41, and 404"). أرجع 0. }