X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=src%2FNetwork%2FIHTTPClient.php;h=0b51d6480e433d6b6fa7a3741096d14e84f28879;hb=ce7d394ff9d1400ec110cde8c47f5a3509503410;hp=8fa5285d264156b50afb0c195eeb0da862317b3f;hpb=52c7948526152269d898f1187bcda4d103bb4380;p=friendica.git diff --git a/src/Network/IHTTPClient.php b/src/Network/IHTTPClient.php index 8fa5285d26..0b51d6480e 100644 --- a/src/Network/IHTTPClient.php +++ b/src/Network/IHTTPClient.php @@ -21,6 +21,8 @@ namespace Friendica\Network; +use GuzzleHttp\Exception\TransferException; + /** * Interface for calling HTTP requests and returning their responses */ @@ -60,8 +62,8 @@ interface IHTTPClient * Send a HEAD to an URL. * * @param string $url URL to fetch - * @param array $opts (optional parameters) assoziative array with: - * 'accept_content' => supply Accept: header with 'accept_content' as the value + * @param array $opts (optional parameters) associative array with: + * 'accept_content' => (string array) supply Accept: header with 'accept_content' as the value * 'timeout' => int Timeout in seconds, default system config value or 60 seconds * 'cookiejar' => path to cookie jar file * 'header' => header array @@ -74,8 +76,8 @@ interface IHTTPClient * Send a GET to an URL. * * @param string $url URL to fetch - * @param array $opts (optional parameters) assoziative array with: - * 'accept_content' => supply Accept: header with 'accept_content' as the value + * @param array $opts (optional parameters) associative array with: + * 'accept_content' => (string array) supply Accept: header with 'accept_content' as the value * 'timeout' => int Timeout in seconds, default system config value or 60 seconds * 'cookiejar' => path to cookie jar file * 'header' => header array @@ -85,6 +87,24 @@ interface IHTTPClient */ public function get(string $url, array $opts = []); + /** + * Sends a HTTP request to a given url + * + * @param string $method A HTTP request + * @param string $url Url to send to + * @param array $opts (optional parameters) associative array with: + * 'body' => (mixed) setting the body for sending data + * 'accept_content' => (string array) supply Accept: header with 'accept_content' as the value + * 'timeout' => int Timeout in seconds, default system config value or 60 seconds + * 'cookiejar' => path to cookie jar file + * 'header' => header array + * 'content_length' => int maximum File content length + * 'auth' => array authentication settings + * + * @return IHTTPResult + */ + public function request(string $method, string $url, array $opts = []); + /** * Send POST request to an URL * @@ -104,14 +124,10 @@ interface IHTTPClient * through HTTP code or meta refresh tags. Stops after 10 redirections. * * @param string $url A user-submitted URL - * @param int $depth The current redirection recursion level (internal) - * @param bool $fetchbody Wether to fetch the body or not after the HEAD requests * * @return string A canonical URL - * @throws \Friendica\Network\HTTPException\InternalServerErrorException - * @see ParseUrl::getSiteinfo * - * @todo Remove the $fetchbody parameter that generates an extraneous HEAD request + * @throws TransferException In case there's an error during the resolving */ - public function finalUrl(string $url, int $depth = 1, bool $fetchbody = false); + public function finalUrl(string $url); }