HomePhabricator

Detect mangled etags from RESTBase and retry via MediaWiki API

Description

Detect mangled etags from RESTBase and retry via MediaWiki API

Something is causing the 'ETag' headers produced by the "public"
RESTBase (queried directly from the client) to be mangled or lost.
My theory is that some proxy or browser extension is doing that.

When we detect a bad etag when fetching the page contents, discard
the result and try querying the "private" RESTBase via the MediaWiki
API (similar to what we do on private wikis, except there we talk
directly to Parsoid instead of RESTBase). After I463a84de63, that
returns the etag as part of the payload rather than HTTP headers,
and should pass unharmed through whatever is mangling the data.

Also compare and log the two etags.

Bug: T233320
Change-Id: I2ef0ca872597566f74b650aea71bf3f15747a6d7

Details

Provenance
matmarexAuthored on Oct 14 2019, 7:49 PM
Parents
rEVED679e777cfa79: ApiVisualEditor: Always return 'etag' with 'content'
Branches
Unknown
Tags
Unknown
ChangeId
I2ef0ca872597566f74b650aea71bf3f15747a6d7

Event Timeline