Make REST Routing possible in MediaWiki

From atwg
Description Enable PHP based routing of URLs in MediaWiki to enable REST along with an easy way for developers to specify caching and purging semantics. The routing should be fast and preferably not require all of MediaWiki to be loaded in order to start. Routing patterns should be standard both in and outside of MW. This should be transparent to clients.
Associated Outputs [[Output:2.1|]]
Type Development
Primary Team MediaWiki Platform
Collaborating Teams Services, Reading Infrastructure
Start Year 0
End Year
Duration (months) 6
Depends On Tasks Write Architecture Spec
Risks
Contingencies
Benefits
Assumptions
Implications
Notes Routing for external services should be handled outside of MediaWiki (Varnish). The MW routing should be done using a service runner that can be run separately from MW for WMF use, but could be run in the same process for small installs. Where a service lives, node, MW, or elsewhere should be transparent to clients. We should then figure out any necessary routing, mapping, proxying, etc without the clients needing to worry about this. This means we have an agreed upon REST url pattern that spans all services and routers. For MW APIs, thsse should be routed from Varnish to MW via some sort of configuration.