Soli at the edge

Limits

The edge build is the Soli interpreter and the request pipeline, without the server around them. What needs a socket, a thread, a subprocess or a disk stays with soli serve.

Runs on the edge

  • Routes, controllers, before_action, middleware
  • Views, layouts, partials, components, view helpers
  • Query strings, URL-encoded forms, JSON bodies and responses
  • I18n from config/locales
  • SoliDB models over HTTPS: find, where, create, update…
  • The HTTP class, over the Worker's fetch
  • Static files from public/, served by Cloudflare

Stays with soli serve

  • WebSockets, LiveView, server-sent events and streamed bodies (answered with a 501)
  • Background jobs, cron, mailers that send
  • Multipart uploads and anything that writes files
  • PostgreSQL, MySQL, SQLite and the native SoliDB driver
  • --dev: hot reload, the dev bar, the REPL
  • PDF, Office documents, lossy WebP encoding, subprocesses

Worth knowing