Skip to content

Latest commit

 

History

History
99 lines (83 loc) · 2.51 KB

TODO.rst

File metadata and controls

99 lines (83 loc) · 2.51 KB

TODO

  • Wrap start_response so we know whether it's safe to reroute WSGI
  • dependency overrides for testing

v19.0

  • stats middleware reset/clear endpoint
  • reservoir resize
  • travis/codecov
  • requirements.in
  • Make version info programmatically available
  • Make obj browser pull in a static app and serve its own dang css

Core

  • nicer next() names
  • polish sub-application mounting
  • Sphinx docs
  • Pretty 4xx handlers for dev
  • Make render functions more like middlewares (to unify return/raise branching and facilitate format-multiplexed renderers)
  • Give render_factories a chance to return something for None inputs
  • context is way too general of a name for the return of the endpoint

NEW

  • What to do when a non-Response is returned from the endpoint stack? Exception or default render?
  • SubApplication and NullRoute into __init__ (middlewares need it sometimes)
  • SignedCookieMiddleware's cookie_expiry currently does nothin
  • also ?format=json doesn't work on meta
  • bind-time callback for middlewares

Contrib

  • Secure sessions
  • Cache middleware
  • Form processing middleware?
  • Freshen up debugger
    • Hide interstitial frames
  • Document Flaw Application
  • Memory referrents app

MetaApplication

  • MetaApplication styling and docs
  • IDs
    • Effective uid/gid
    • Saved-set uid/gid
    • Supplementary groups
  • Host
    • Some kernel compile/feature flags
    • Processor count
  • Process
    • Basic stuff from /proc/self
      • Current mem usage
      • Number of threads
      • Number of open files
    • RSS from pages to bytes
  • Python
    • version
    • compile flags
    • runtime flags
  • Application
    • Per-route match counters
    • Per-route timing statistics
    • git revision? last update?
  • Security
    • Allow bypass for certain IPs
    • Password protection, otherwise
  • Group by subapplication? (Allow naming applications)
  • Split template into partials, etc.
  • P2: better support for child process introspection

## v2 * Custom URL resolvers? * Failsafe application reloading? * Middleware <-> middleware merge hook? * basic checks for URL pattern conflicts?

## Chopping block * Allowing duplicate middlewares * endpoint_provides and render_provides

## Curiosities * dynamic vs. static linked middleware stack performance * OrderedSets? * 'strict' mode with more immutability enforcement (immutable dicts for resources, etc.) and certain types of linting (detect unset global variables)

  • handle Flaw issue in '''Application([('/one/two', lambda one, two: int(one) + int(two), default_response)]).serve()'''