-
Notifications
You must be signed in to change notification settings - Fork 246
Closed
Labels
maintenanceKeeping the wheels turningKeeping the wheels turning
Description
Iron is no longer actively maintained. Now is when we can see if our architecture separation pays off or not...
How can I help?
In order of difficulty from easy to hard...
- 👍 or 👎 a comment for a framework that you like or dislike for any reason.
- Let us know of a web framework that's worth investigating that we don't have listed.
- Add a comment if you research one or more of the requirements for a framework.
- Attempt porting the playground to a framework and push up a branch.
What are you looking at?
Requirements
- Caching
- Aggressive caching
- Fine-grained caching (index.html vs assets)
- Static file serving
- Modification time checking
- No path traversal
- Side-by-side pre-compressed files
- Automatic content-type assignment
- Redirection of HTTP to HTTPS (optional)
- Basic off-request access logging (url, ip, status, start, duration)
- Routing
- With path variables
- URL rewriting
- CORS
- JSON body parsing / response
Caching
The playground serves up index.html and a few other similar files that never change name. These should ideally use something like ETags with a short-ish expiry. We currently use a 1 hour expiry, but not ETags.
The assets are all in a path called /assets. These all have a digest hash appended to them, so they can be cached "forever". In practice, this is 1 year.
There's a few other pieces of information that could use caching (e.g. the playground crates, channel versions) but these are all generated data and so we could pre-compute an ETags identifier to check against.
Access statistics
- Roughly 2 requests per second
Metadata
Metadata
Assignees
Labels
maintenanceKeeping the wheels turningKeeping the wheels turning