package mehari-mirage
 sectionYPositions = computeSectionYPositions($el), 10)"
  x-init="setTimeout(() => sectionYPositions = computeSectionYPositions($el), 10)"
  >
  
  
On This Page
  
  
  Mehari IO implementation for MirageOS
Install
    
    dune-project
 Dependency
Authors
Maintainers
Sources
  
    
      0.1.tar.gz
    
    
        
    
  
  
  
    
  
  
    
  
        md5=f06e131a181383bc4e2515c4cd049b04
    
    
  sha512=43abbfd3d30be29dc814207152474877356e74877867b2f3bf7be93c4c551c4fed4b915fe60b6bf9bd03e6605bd3fdf1ce31af750267470df04906a75b93693f
    
    
  Description
Published: 10 Jan 2023
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.
Features
- Mirage OS friendly
- Static files
- MIME type inference (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 (10)
- 
  
    tls
  
  
    < "0.16.0"
- 
  
    tls-mirage
  
  
    >= "0.15.4" & < "1.0.0"
- 
  
    tcpip
  
  
    >= "7.1.2"
- 
  
    mirage-time
  
  
    >= "3.0.0"
- 
  
    mirage-channel
  
  
    >= "4.1.0"
- 
  
    lwt_ppx
  
  
    >= "2.1.0"
- 
  
    lwt
  
  
    >= "5.6.1"
- 
  
    ipaddr
  
  
    >= "5.3.1"
- 
  
    mehari
  
  
    = version
- 
  
    dune
  
  
    >= "2.9"
Dev Dependencies (1)
- 
  
    odoc
  
  
    with-doc
Used by (1)
- 
  
    mehari-lwt-unix
  
  
    < "0.2"
Conflicts
None
 sectionYPositions = computeSectionYPositions($el), 10)"
  x-init="setTimeout(() => sectionYPositions = computeSectionYPositions($el), 10)"
  >
  
  
  On This Page