module-rest
module-rest copied to clipboard
Rename `setServerParameters()` to `haveServerParameters()`; drop `haveServerParameter()`
Just stumbled upon this while searching for a new name for deleteHeader(), see https://github.com/Codeception/module-rest/issues/22
Current situation:
haveServerParameter('name', 'value')uses Symfony'sClient::setServerParameter()setServerParameters([])uses Symfony'sClient::setServerParameters()which sets'HTTP_USER_AGENT' => 'Symfony BrowserKit'by default.
I would say:
- "setServerParameters" isn't the right term, Codeception's convention for this is "haveServerParameters".
- It doesn't make sense to have two functions for this, one for a single parameter, and one for multiple. If the expected argument is an array, anybody knows immediately what to pass. So the existing
haveServerParametercan be deprecated in favor of the newhaveServerParameters. - Remaining question: Is the "Symfony BrowserKit" thing more of a bug or more of a feature?
If feature: Just pass the array along to Symfony'ssetServerParameters, and that's it.
If bug:foreach()over the array and use Symfony'ssetServerParameter.
Both functions also exist in lib-innerbrowser:
- https://github.com/Codeception/lib-innerbrowser/blob/master/src/Codeception/Lib/InnerBrowser.php#L2061
- https://github.com/Codeception/lib-innerbrowser/blob/master/src/Codeception/Lib/InnerBrowser.php#L2047