package sihl

  1. Overview
  2. Docs
Legend:
Page
Library
Module
Module type
Parameter
Class
Class type
Source

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

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.seed

  • Seed A seed is a sequence of service calls that set a system state. Seeds are typically used before integration testing to set the initial state.

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.
OCaml

Innovation. Community. Security.