Daraja เป็นเฟรมเวิร์ก HTTP ที่ยืดหยุ่นสำหรับ Object Pascal ตามองค์ประกอบเซิร์ฟเวอร์ HTTP ที่ไม่ใช่ภาพในห้องสมุดโอเพนซอร์สฟรีอินเทอร์เน็ตตรง (Indy)
Daraja เป็นรากฐานหลักสำหรับการให้บริการทรัพยากร HTTP ของประเภทเนื้อหาทั้งหมดเช่นหน้า HTML รูปภาพสคริปต์การตอบสนองบริการเว็บ ฯลฯ โดยการแมปเส้นทางทรัพยากรกับรหัสของคุณเอง รหัสของคุณสามารถสร้างเนื้อหาการตอบกลับหรือปล่อยให้เฟรมเวิร์กให้บริการไฟล์คงที่
ตัวอย่างโครงการแสดงให้เห็นถึงประโยชน์สำหรับกรณีการใช้งานขั้นสูงเช่น OAuth 2.0 และ OpenID Connect สำหรับ Microsoft Entra ID และแพลตฟอร์ม Google Identity
http://michaeljustin.github.io/daraja-framework/
เอกสารการเริ่มต้นใช้งาน (PDF) มีอยู่ที่ https://www.habarisoft.com/daraja_framework/3.0-ms1/docs/darajaframeworkgettingstarted.pdf
เยี่ยมชม https://www.habarisoft.com/daraja_framework.html สำหรับข้อมูลเพิ่มเติม
ตัวอย่าง:
<daraja-home>source;<indy-home>LibCore;<indy-home>LibProtocols;<indy-home>LibSystem
ตัวจัดการทรัพยากร มีหน้าที่รับผิดชอบในการสร้างการตอบกลับ HTTP ที่ตรงกับคำขอลูกค้าเฉพาะ การกำหนดเส้นทางระหว่างคำขอ HTTP จริงและตัวจัดการทรัพยากรถูกกำหนดโดยกฎ 'การแมป' ตัวอย่างเช่นตัวจัดการทรัพยากรสามารถแมปกับ /context1/index.html ด้วยการแมป เส้นทางที่สมบูรณ์ :
Context1.Add(TIndexPageResource, ' /index.html ' );มีการแมปที่รองรับอีกสองประเภท: การแมปคำนำหน้า ('/ sub1/ ', '/ sub2/ ' ... ) และ การแมปต่อท้าย (' .html', ' .pdf' ... ) การแมปทั้งหมดจะถูกตรวจสอบตามลำดับที่กำหนดเพื่อค้นหาตัวจัดการทรัพยากรที่รับผิดชอบ
นอกเหนือจากตัวจัดการทรัพยากรแล้วแอปพลิเคชันอาจรวมถึงตัวกรองทรัพยากร ด้วยตัวกรองการรับส่งข้อมูล HTTP สามารถแก้ไขได้หลายวิธีเช่น:
ประเภทการแมปทั้งหมดอาจใช้สำหรับตัวกรองทรัพยากร