Skip to content
daninus14 edited this page Sep 6, 2024 · 1 revision

From https://github.com/fukamachi/woo/pull/115

Usage

Use SSL key arguments of woo:run or clack:clackup.

(woo:run app
         :ssl-cert-file #P"path/to/cert.pem"
         :ssl-key-file #P"path/to/key.pem"
         :ssl-key-pass "password")

(clack:clackup app
               :ssl-cert-file #P"path/to/cert.pem"
               :ssl-key-file #P"path/to/key.pem"
               :ssl-key-pass "password")

To disable the HTTPS support to omit a dependency on CL+SSL, add woo-no-ssl to cl:*features*.

TODO

  • Basic implementation

  • HTTPS for static files

    • [FUTURE TASK] Add a flag to use SSL_sendfile (Using Kernel TLS) for better performance
  • Refactoring

    • Wrap symbol references to internal symbols of cl+ssl
    • Better to reduce conditional flows (socket-ssl-stream)
  • Add a feature to disable HTTPS to omit the dependency on cl+ssl

  • Run tests for HTTPS

  • Proper error code handling on SSL I/O (ssl-read/ssl-write)

  • Benchmark to make sure its performance downgrade is limited or permissible

    • Not much difference from the master branch
    • Single thread: HTTP = 61k / HTTPS = 56k
    • 4 threads: HTTPS = 137k / HTTPS = 105k
Clone this wiki locally