Code Coverage |
||||||||||
Classes and Traits |
Functions and Methods |
Lines |
||||||||
| Total | |
0 / 0 |
|
100.00% |
0 / 0 |
CRAP | |
100.00% |
0 / 0 |
|
| <?php | |
| /* | |
| * This file is part of the Incipio package. | |
| * | |
| * (c) Théo FIDRY <theo.fidry@gmail.com> | |
| * | |
| * For the full copyright and license information, please view the LICENSE | |
| * file that was distributed with this source code. | |
| */ | |
| namespace FrontBundle\Client; | |
| use FrontBundle\Client\Exception\ClientException; | |
| use Psr\Http\Message\RequestInterface; | |
| use Psr\Http\Message\ResponseInterface; | |
| /** | |
| * @author Théo FIDRY <theo.fidry@gmail.com> | |
| */ | |
| interface ClientInterface | |
| { | |
| /** | |
| * Creates and return a new {@see Request} object. All get, head, etc. methods are generated via this method. | |
| * | |
| * @example | |
| * If URL is empty, only the base URL will be used: | |
| * ::createRequest('GET') | |
| * => http://localhost | |
| * | |
| * If URI is used, add the base URL to generate the proper URL to request | |
| * ::createRequest('GET', '/api/users') | |
| * => http://localhost/api/users | |
| * | |
| * If route name is used, will first generate the URI before applying the base URL; can use parameters | |
| * ::createRequest('GET', 'users_cget') | |
| * => http://localhost/api/users | |
| * | |
| * ::createRequest('GET', 'users_get', null, ['parameters' => ['id' => 14]]) | |
| * => http://localhost/api/users/14 | |
| * | |
| * Can also apply other options | |
| * ::createRequest('GET', null, null, ['query' => ['id' => 14, 'filter' => ['order' => ['startAt' => 'desc']]]) | |
| * => http://localhost/api?id=14&filter[where][name]=john | |
| * | |
| * Or if you have just one query | |
| * ::createRequest('GET', null, null, ['query' => 'filter[where][name]=john') | |
| * => http://localhost/api?filter[where][name]=john | |
| * | |
| * @param string $method HTTP method. | |
| * @param string|null $url URL, URL, URI or route name. | |
| * @param string|null $token API token. | |
| * @param array $options Array of request options to apply. can have the keys: | |
| * - headers: array | |
| * - parameters (route parameters if $url is a route and not an URI) | |
| * - body: string|null | |
| * | |
| * @return RequestInterface | |
| */ | |
| public function createRequest($method, $url = null, $token = null, array $options = []); | |
| /** | |
| * Sends a request. | |
| * | |
| * @param string $method HTTP method | |
| * @param string|null $url URL, URI or route name. | |
| * @param string|null $token API token. | |
| * @param array $options Options applied to the request. | |
| * | |
| * @return ResponseInterface | |
| * | |
| * @throws ClientException | |
| */ | |
| public function request($method, $url = null, $token = null, $options = []); | |
| /** | |
| * Sends a single request. | |
| * | |
| * @param RequestInterface $request Request to send | |
| * | |
| * @return ResponseInterface | |
| * | |
| * @throws ClientException | |
| */ | |
| public function send(RequestInterface $request); | |
| } |