Page MenuHomePhabricator

🥬️ Consistently check 'Content-Type:' header for all RouteHandlers
Closed, ResolvedPublic3 Estimated Story Points

Description

  • allowed value should be 'application/json' for required request bodies or no Content-Type for empty bodies
  • find out if the check must be performed in RouteHandler::validate() or can be moved into a middleware
  • ensure RouteHandler::getBodyValidator() returns a JsonBodyValidator only if the Content-Type is application/json

Event Timeline

Silvan_WMDE set the point value for this task to 3.Jul 27 2022, 1:47 PM

Change 819103 had a related patch set uploaded (by Jakob; author: Jakob):

[mediawiki/extensions/Wikibase@master] REST: Only validate JSON for JSON request body

https://gerrit.wikimedia.org/r/819103

Change 819104 had a related patch set uploaded (by Jakob; author: Jakob):

[mediawiki/extensions/Wikibase@master] REST: Check request content type in middleware

https://gerrit.wikimedia.org/r/819104

Change 819103 merged by jenkins-bot:

[mediawiki/extensions/Wikibase@master] REST: Only use JSON validator for JSON request body

https://gerrit.wikimedia.org/r/819103

Change 819104 merged by Silvan Heintze:

[mediawiki/extensions/Wikibase@master] REST: Check request content type in middleware

https://gerrit.wikimedia.org/r/819104

@Jakob_WMDE: Assuming this task is resolved. Thus setting resolved task status. Please reopen and add an active project tag if that is not the case. Thanks.