package mehari-lwt-unix
 sectionYPositions = computeSectionYPositions($el), 10)"
  x-init="setTimeout(() => sectionYPositions = computeSectionYPositions($el), 10)"
  >
  
  
On This Page
  
  
  Mehari IO implementation using Lwt and Unix bindings
Install
    
    dune-project
 Dependency
Authors
Maintainers
Sources
  
    
      0.4.tar.gz
    
    
        
    
  
  
  
    
  
  
    
  
        md5=930121ceef2893e48cbc91c6dba1349d
    
    
  sha512=34bf178aa333b2cfe0cbf4586a342848507d06d71f28e5cc26b798ea192cf1c4e5cdf8b32e3395c14fba5f9fbddcf535e264874b9f4bda386c8e0042c4bd60f6
    
    
  Description
Published: 05 Jun 2024
README
Mehari
Mehari is a cross-platform library for building Gemini servers. It fully implements the Gemini protocol specification.
It takes heavy inspiration from Dream, a tidy, feature-complete Web framework.
   
Mehari provides several packages. See here. Many examples are also provided.
Installation
opam install mehariFeatures
- Mirage OS friendly
- Static files serving
- MIME type inference from file content (using experimental Conan support)
- Rate limit
- Virtual hosting using SNI
- CGI
- Long-running TCP connection
Feedback
Since Mehari is in its early stages, any feedback and contributions regarding the API or security are appreciated.
Important links
- API documentation: https://docs.heyplzlookat.me/mehari/
- Tutorial: https://docs.heyplzlookat.me/mehari/index.html#tutorial
- Issues: https://github.com/Psi-Prod/Mehari/issues
License
Distributed under the LGPL-3.0 License. See license for more information.
Dependencies (8)
- 
  
    tcpip
  
  
    >= "7.1.2"
- 
  
    mirage-time-unix
  
  
    >= "3.0.0"
- 
  
    mirage-flow-unix
  
  
    >= "3.0.0"
- 
  
    mirage-clock-unix
  
  
    >= "4.2.0"
- 
  
    lwt
  
  
    >= "5.6.1"
- 
  
    mehari-mirage
  
  
    = version
- 
  
    mehari
  
  
    = version
- 
  
    dune
  
  
    >= "3.0"
Dev Dependencies (1)
- 
  
    odoc
  
  
    with-doc
Used by
None
Conflicts
None
 sectionYPositions = computeSectionYPositions($el), 10)"
  x-init="setTimeout(() => sectionYPositions = computeSectionYPositions($el), 10)"
  >
  
  
  On This Page