Daraja es un marco de servidor HTTP flexible para Object Pascal, basado en el componente del servidor HTTP no visual en la biblioteca de código abierto gratuita Internet Direct (Indy).
Daraja proporciona la base central para servir recursos HTTP de todos los tipos de contenido, como páginas HTML, imágenes, scripts, respuestas de servicios web, etc. mediante la asignación de rutas de recursos a su propio código. Su código puede crear el contenido de respuesta o dejar que el marco sirva a un archivo estático.
Los proyectos de ejemplo incluidos muestran su utilidad para el caso de usos avanzados, como OAuth 2.0 y OpenID Connect para Microsoft Entra ID y Google Identity Platform.
http://michaeljustin.github.io/Darajaframework/
Un documento de inicio (PDF) está disponible en https://www.habarisoft.com/Daraja_Framework/3.0-ms1/docs/DarajaFrameworkGettingTarted.pdf
Visite https://www.habarisoft.com/daraja_framework.html para obtener más información.
Ejemplo:
<daraja-home>source;<indy-home>LibCore;<indy-home>LibProtocols;<indy-home>LibSystem
Un controlador de recursos es responsable de la generación de la respuesta HTTP que coincide con una solicitud de cliente específica. El enrutamiento entre la solicitud HTTP real y el controlador de recursos se define mediante reglas de 'mapeo'. Por ejemplo, se podría asignar un controlador de recursos a /context1/index.html con un mapeo de ruta absoluta :
Context1.Add(TIndexPageResource, ' /index.html ' );Hay otros dos tipos de mapeo compatibles: mapeo de prefijo ('/ sub1/ ', '/ sub2/ ' ...) y mapeo de sufijo (' .html', ' .pdf' ...). Todas las asignaciones se verifican en un orden definido para encontrar el controlador de recursos responsable.
Además de los manejadores de recursos, la solicitud también puede incluir filtros de recursos. Con los filtros, el tráfico HTTP se puede modificar de muchas maneras, como:
Todos los tipos de mapeo también pueden usarse para filtros de recursos.