package sihl
The modular functional web framework
Install
Dune Dependency
Authors
Maintainers
Sources
sihl-0.1.1.tbz
sha256=eac58e5ee9c869aa3b0f0bcee936b01c53bf7fe1febb42edd607268dfb11f4e9
sha512=012b6cf1cf6af0966059761b4916ea8aa590aa8d5809a6f480cb17e23ee10c3b9245062c4f0cf9ad98ab950391c0827c9780999d39fa16a93f7aab4b12f9ab8c
doc/index.html
sihl
API
Library sihl
Sihl
Sihl is a high-level web application framework providing a set of composable building blocks and recipes that allow you to develop web apps quickly and sustainably. Statically typed functional programming with OCaml makes web development fun and safe.
Library sihl.app
App
A Sihl app is something that can be started and stopped and that users can interact with through HTTP or CLI commands. It contains configuration, HTTP endpoints, a list of services, schedules and CLI commands.
Library sihl.authn
Authn
Use this module to verify whether a user is who the user claims to be.
Library sihl.authz
Authz
Authorization deals with the question whether a user is allowed to do something. Use this module to separate the definition of who is allowed to do what from checking it.
Library sihl.cmd
Cmd
Use this module to create your own command line commands in order to interact with the Sihl app.
Library sihl.configuration
Configuration
An app’s configuration is everything that is likely to vary between deploys (staging, production, developer environments, etc).
Library sihl.core
Core
Contains everything regarding services, their lifecycles and request contexts. You want to touch this only if you develop Sihl services yourself.
Library sihl.data
Data
Use this module to query the database, implement and run migrations, clean repositories, turn HTTP queries into SQL queries or for sane entity identifier handling.
Library sihl.email
Email
Use this module to send single emails either immediately or later sending a lot of emails at once. Email template support is also provided.
Library sihl.http
Library sihl.log
Log
Logging infrastructure.
Library sihl.message
Message
Use this module to display flash messages to the user across the request-response lifecycle. This is typically used to provide feedback to the user after submitting HTML forms.
Library sihl.middleware
Middleware
A middleware is a function that takes aHttp.Route.handler
and returns aHttp.Route.handler
. It is typically used to add content to the request context that is valid only during a request.
Library sihl.queue
Queue
This module provides a job queue. This is typically used for long-running or resource intensive tasks.
Library sihl.schedule
Schedule
Schedules are functions that need to run periodically, similarly to cron jobs. Use this for instance to run clean up jobs.
Library sihl.server
Server
The web server service contains a HTTP server implementation.
Library sihl.session
Session
Use this module to create user sessions and to read and write session data.
Library sihl.storage
Storage
Use this module to store and retrieve large files. This is typically used for binary files such as images or audio.
Library sihl.token
Token
The token service provides an API to generate tokens that carry some data and expire after a certain amount of time. It takes care of secure random byte generation and the persistence and validation of tokens.
Library sihl.user
User
This module provides the abstraction of a user that interacts with the Sihl ap. Use it to register new users, changes password, reset passwords and update user details.
Library sihl.utils
Utils
A collection of services and libraries that deal with JWT, Json, Regex, Randonmness, Hashing, Time and Strings.
Library sihl.web
Web
This module provides the HTTP stack including API for requests, responses, middlewares, templating and a web server service.
sectionYPositions = computeSectionYPositions($el), 10)"
x-init="setTimeout(() => sectionYPositions = computeSectionYPositions($el), 10)"
>
On This Page
-
API
- Library sihl
- Library sihl.app
- Library sihl.authn
- Library sihl.authz
- Library sihl.cmd
- Library sihl.configuration
- Library sihl.core
- Library sihl.data
- Library sihl.email
- Library sihl.http
- Library sihl.log
- Library sihl.message
- Library sihl.middleware
- Library sihl.queue
- Library sihl.schedule
- Library sihl.server
- Library sihl.session
- Library sihl.storage
- Library sihl.token
- Library sihl.user
- Library sihl.utils
- Library sihl.web