Commit graph

4 commits

Author SHA1 Message Date
Umherirrender
ce9388af05 http: Fix return types in MwHttpRequestToResponseInterfaceAdapter
Even all the function throws, the return type should match the interface

Found by phan strict checks

Change-Id: I43669320d7abfc5ee36602aea9ed21bf675dde96
2022-02-26 09:07:55 +01:00
Reedy
2d27b46802 Update deprecated Guzzle Psr7 function calls
Change-Id: If7cc461559d4857a7bae8b71cc8283fbabfe9a28
2021-11-11 16:00:34 +00:00
Umherirrender
44fd53fee3 Using @return never documentation on always-throw-function
This helps phan to detect unreachable code and also impossible types
after the functions.
It helps phan to avoid false positives for array keys
when the keys are checked before

Bug: T240141
Change-Id: I895f70e82b3053a46cd44135b15437e6f82a07b2
2021-09-07 17:29:03 +02:00
Michael Große
72f9efd625
Upstream MwHttpRequestToResponseInterfaceAdapter from Wikibase
This makes the PSR-7 interface for the MWHttpRequest available to all
consumers that want to make use of it. This is of general utility and
should not be limited to Wikibase. Also, it allows us to drop the Guzzle
dependency from Wikibase entirely.

As an alternative to moving the adapter (as is done with this patch), it
was considered to refactor MWHttpRequest to support the interface
directly. While that would come without the overhead of an additional
class, it would require adding the interface methods to an already large
class and deprecating the now redundant legacy methods. This would be an
invasive refactoring that would not only affect the classes inheriting
from MWHttpRequest, but also its consumers.

It would seem that a conceptual refactoring of that magnitude would
require a more substantial consensus among contributors (and maybe
consumers) of these classes. Moving this adapter is seen as a step in
building the case for why using standardized interfaces is a good idea
and allowing for the discussion to be grounded of incorporating an existing
adapter into a base class rather than the hypothetical discussion of
adjusting it to an so far unused interface.

Bug: T263989
Depends-On: I56ad52b561460121a8c84313cbd431dc811e2ae1
Change-Id: I2a27dead1d5f1403b8d255c5daf9ba5e7c313476
2020-10-07 10:17:37 +02:00