Browse Source

Merge pull request #10637 from nupplaphil/feat/webdav_storage

PSR-7 Part 4: Add additional Authentication options
develop
Hypolite Petovan 4 weeks ago
committed by GitHub
parent
commit
a53cff6ec2
No known key found for this signature in database GPG Key ID: 4AEE18F83AFDEB23
  1. 16
      src/Network/HTTPClient.php
  2. 4
      src/Network/HTTPClientOptions.php
  3. 1
      src/Network/IHTTPClient.php

16
src/Network/HTTPClient.php

@ -125,6 +125,10 @@ class HTTPClient implements IHTTPClient
$conf[RequestOptions::BODY] = $opts[HTTPClientOptions::BODY];
}
if (!empty($opts[HTTPClientOptions::AUTH])) {
$conf[RequestOptions::AUTH] = $opts[HTTPClientOptions::AUTH];
}
$conf[RequestOptions::ON_HEADERS] = function (ResponseInterface $response) use ($opts) {
if (!empty($opts[HTTPClientOptions::CONTENT_LENGTH]) &&
(int)$response->getHeaderLine('Content-Length') > $opts[HTTPClientOptions::CONTENT_LENGTH]) {
@ -135,17 +139,7 @@ class HTTPClient implements IHTTPClient
try {
$this->logger->debug('http request config.', ['url' => $url, 'method' => $method, 'options' => $conf]);
switch ($method) {
case 'get':
case 'head':
case 'post':
case 'put':
case 'delete':
$response = $this->client->$method($url, $conf);
break;
default:
throw new TransferException('Invalid method');
}
$response = $this->client->request($method, $url, $conf);
return new GuzzleResponse($response, $url);
} catch (TransferException $exception) {
if ($exception instanceof RequestException &&

4
src/Network/HTTPClientOptions.php

@ -37,4 +37,8 @@ class HTTPClientOptions
* body: (mixed) Setting the body for sending data
*/
const BODY = RequestOptions::BODY;
/**
* auth: (array) Authentication settings for specific requests
*/
const AUTH = RequestOptions::AUTH;
}

1
src/Network/IHTTPClient.php

@ -97,6 +97,7 @@ interface IHTTPClient
* 'cookiejar' => path to cookie jar file
* 'header' => header array
* 'content_length' => int maximum File content length
* 'auth' => array authentication settings
*
* @return IHTTPResult
*/

Loading…
Cancel
Save