Skip to content

v0.6.1

Compare
Choose a tag to compare
@danfuzz danfuzz released this 19 Jan 22:54
· 3565 commits to main since this release

Breaking changes:

  • Changed interface of BaseApplication to use Request and DispatchInfo (see
    below). This breaks downstream clients of this codebase.

Other notable changes:

  • Added new application SimpleResponse, which is kind of like a one-file
    StaticFiles.
  • Introduced a Request class specific to this project, instead of just
    "absorbing" Express's Request and Response objects. Our Request holds
    both the underlying request and response (and other related goodies). For now,
    the underlying Express bits are exposed to clients, but the intention is for
    them to get hidden and for this project's API to be sufficient.
  • Relatedly, introduced new class DispatchInfo, to hold information about a
    request dispatch-in-progress (i.e., routing information, more or less). In
    Express, the equivalent state is represented by mutating the request object,
    but we're an immutable-forward shop here.
  • Got rid of direct uses of Express's Request and Response classes, other
    than within our Request. Most notably, the request logging code got a
    major rewrite.
  • Reworked most of the code in our Request class that does
    actually-Express-specific stuff, to instead do approximately what Express
    does, or just not do it at all. Notably, we no longer try to deal with reverse
    proxies; support will probably be added for them eventually (assuming demand).
  • Reworked StaticFiles to use our Request instead of wrapping
    express.static().