Daraja-это гибкая структура HTTP-сервера для объекта Pascal, основанная на невизуальном компоненте HTTP-сервера в бесплатной библиотеке с открытым исходным кодом в Интернете (Indy).
Daraja предоставляет основную основу для обслуживания HTTP-ресурсов всех типов контента, таких как HTML-страницы, изображения, сценарии, ответы веб-службы и т. Д., Сопоставляя пути ресурсов с вашим собственным кодом. Затем ваш код может создать содержимое ответа или позволить структуре обслуживать статический файл.
Включенные примеры проектов показывают свою полезность для Advanced Case Case, например OAuth 2.0 и OpenID Connect для Microsoft Entra ID и Google Identity Platform.
http://michaeljustin.github.io/daraja-framework/
Документ о начале работы (PDF) доступен по адресу https://www.habarisoft.com/daraja_framework/3.0-ms1/docs/darajaframeworkgettingtarted.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 может быть изменен во многих отношениях, например:
Все типы отображения также могут использоваться для фильтров ресурсов.