Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
mark classes as final and methods and properties as private
We add interfaces for final classes so that they can be mocked in testing. We chose to use the Interface suffix here to avoid name clashes, rather than renaming the existing PHP classes. The interfaces are only relevant for unit testing, we do not expect people to provide their own implementations. HttpClientPoolItem is purely internal and we therefore don't want an interface for it. It is marked with @Final and explained to not be meant to extend.
- Loading branch information
Showing
23 changed files
with
326 additions
and
306 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
2 changes: 1 addition & 1 deletion
2
spec/HttpClientPoolItemSpec.php → ...HttpClientPool/HttpClientPoolItemSpec.php
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,34 @@ | ||
<?php | ||
|
||
namespace Http\Client\Common; | ||
|
||
use Http\Client\Exception; | ||
use Http\Client\HttpClient; | ||
use Http\Client\Common\Exception\BatchException; | ||
use Psr\Http\Message\RequestInterface; | ||
|
||
/** | ||
* BatchClient allow to sends multiple request and retrieve a Batch Result. | ||
* | ||
* This implementation simply loops over the requests and uses sendRequest with each of them. | ||
* | ||
* @author Joel Wurtz <jwurtz@jolicode.com> | ||
*/ | ||
interface BatchClientInterface extends HttpClient | ||
{ | ||
/** | ||
* Send several requests. | ||
* | ||
* You may not assume that the requests are executed in a particular order. If the order matters | ||
* for your application, use sendRequest sequentially. | ||
* | ||
* @param RequestInterface[] The requests to send | ||
* | ||
* @return BatchResult Containing one result per request | ||
* | ||
* @throws BatchException If one or more requests fails. The exception gives access to the | ||
* BatchResult with a map of request to result for success, request to | ||
* exception for failures | ||
*/ | ||
public function sendRequests(array $requests): BatchResult; | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.