السلطان
  1. الرئيسية
  2. الأمثلة
  3. الويب

تحليل استجابة HTTP/1.1 من بايتات خام دون شبكة

web/http_response.sn
// تحليل استجابة HTTP/1.1 من بايتات خام دون شبكة.
استورد std.io.println;
استورد std.text.number;
استورد std.text.from_bytes;
استورد std.http.client;

عرف الرئيسية(): عدد {
    دع الخام: متجه ط8 = بايتات_من_نص("HTTP/1.1 200 OK\r\nContent-Length: 5\r\nContent-Type: text/plain\r\n\r\nhello");
    طابق حلل_استجابة_ويب1(&الخام, صواب, 1024) مع
    | نتيجة.خطأ(_) -> { اطبع_سطر("استجابة غير صالحة"); أرجع 1; }
    | نتيجة.نجح(المحلل) -> {
        اطبع_سطر(طبيعي_إلى_نص(المحلل.الاستجابة.الحالة));
        اطبع_سطر(من_بايتات(&المحلل.الاستجابة.الجسم));
    };
    أرجع 0;
}

التشغيل

بالمفسر، دون ترجمة:

./build/sultanc run examples/ar/web/http_response.sn

أو ترجمه إلى ملف تنفيذي:

./build/sultanc examples/ar/web/http_response.sn -o build/example && ./build/example

المصدر على GitHub   كل الأمثلة