~/talk

Routing Http Requests with Scala 3

Talkat Scala Days 2025 · 2025-08-19..08-21· [scala, web-platform]
slides:none on file

Crop is a routing library that actually ships: compositional, type-safe routing with Crop values, reversible path-to-link generation (string reverse-routing works today, client generation is planned), and developer-friendly error pages that list why a request failed. Implementation uses Scala 3 tuple types, match types and finite state machine builders to track method/path/headers/entity order, compiles to http4s and uses cats-effect IO, and favors IDE dot-completion and clearer error messages over heavy type gymnastics.

AI-written summary · about

  1. 0:00Crop web framework intro
  2. 2:50Request routing basics
  3. 3:33Play Framework routing
  4. 4:38http4s pattern matching
  5. 5:20Tapir combinator routing
  6. 6:05Crop routing design
  7. 7:48Business logic vs HTTP
  8. 8:51Compositional routing paths
  9. 9:56Reverse routing links
  10. 10:38Data vs code routing
  11. 12:49Path extraction variadic types
  12. 14:11Scala 3 tuple types
  13. 17:01Tuple functions to handlers
  14. 18:48Requests with state machines
  15. 21:59Routing libraries comparison
  16. 24:09Developer experience routing
  17. 27:00Live coding dot-driven
  18. 28:28Error handling messages
  19. 30:12Why Scala 3 routing
  20. 31:16Crop future summary
  21. 31:38Q&A HTTP method errors
  22. 33:23Q&A Cats Effects http4s
  23. 34:49Q&A OpenAPI docs
  24. 36:35Q&A route composition
  25. 39:24Q&A pagination endpoints
~/search
type to search 6,249 conferences, 138,987 speakers and 185,172 talks
~/help
cmdctrl k
search every conference, speaker and series
/
focus the filter search
h
home
c
conferences
s
speakers
e
series
t
light / dark — the status bar button does the same
?
this help
esc
close this, then clear every filter — or just the search, while you are typing in it

Ignored while you are typing. Pages without a filter rail have no search to focus.