As part of the whole restbase sunsetting project, proton, the pdf rendering endpoints should be exposed without restbase as a dependency.
Endpoints
/pdf/{title}
/pdf/{title}/{format}
/pdf/{title}/{format}/{type}
Request flow into proton and back
Miro: https://miro.com/app/board/uXjVPmitF6g=/
Compatibility
In order for proton to be able to serve traffic here is the logic that we need to implement in the backend level
- Handle redirects (lib/access_check_filter.js)
- Add content-type, content-disposition and content-length headers (required for downloads to work properly)
- Make sure that the service serves the same cache headers
Notes
- It looks like cache invalidation events are not served from restbase so just serving the right cache headers will be enough for compatibility
- No RESTBase storage is used
- Proton shouldn't call RESTBase to retrieve data
- Currently not an active feature in MediaWiki.
- Gets minimal traffic from 3rd party requests.
- These 3rd parties are currently unknown entities.
- This will allow us to define common features that currently exist in RESTbase itself, but need to exist elsewhere.
Acceptance Criteria
- Identify service owner / key stakeholder
- Plan next steps with owner / key stakeholder
- Identify baseline metrics for current service routing through RESTbase
- Serves correct cache headers
- Plan and test new routing
- Meet compatibility as outlined above