summaryrefslogtreecommitdiff
path: root/server/vendor/php-opencloud/common/src/Common/Transport/Middleware.php
diff options
context:
space:
mode:
authormanzerbredes <loic.guegan_secondary@yahoo.fr>2016-03-15 16:17:39 +0100
committermanzerbredes <loic.guegan_secondary@yahoo.fr>2016-03-15 16:17:39 +0100
commit26d10bc0fa4befbac54453228ae1ce89021bdec2 (patch)
tree029d7240ecf7416205e5f76cf9107a6b5bdf8ca3 /server/vendor/php-opencloud/common/src/Common/Transport/Middleware.php
parent8ad216dedf017f3d6de047a25d08db3b98e16361 (diff)
parent03ef74d0cfe675a6e18a91f039182ca1b248d8f5 (diff)
Merge branch 'develop' into loic
Diffstat (limited to 'server/vendor/php-opencloud/common/src/Common/Transport/Middleware.php')
-rw-r--r--server/vendor/php-opencloud/common/src/Common/Transport/Middleware.php94
1 files changed, 94 insertions, 0 deletions
diff --git a/server/vendor/php-opencloud/common/src/Common/Transport/Middleware.php b/server/vendor/php-opencloud/common/src/Common/Transport/Middleware.php
new file mode 100644
index 0000000..916ff22
--- /dev/null
+++ b/server/vendor/php-opencloud/common/src/Common/Transport/Middleware.php
@@ -0,0 +1,94 @@
+<?php
+
+namespace OpenCloud\Common\Transport;
+
+use function GuzzleHttp\Psr7\modify_request;
+use GuzzleHttp\MessageFormatter;
+use GuzzleHttp\Middleware as GuzzleMiddleware;
+use OpenCloud\Common\Auth\AuthHandler;
+use OpenCloud\Common\Auth\Token;
+use OpenCloud\Common\Error\Builder;
+use Psr\Http\Message\ResponseInterface;
+
+final class Middleware
+{
+ /**
+ * @return callable
+ */
+ public static function httpErrors()
+ {
+ return function (callable $handler) {
+ return function ($request, array $options) use ($handler) {
+ return $handler($request, $options)->then(
+ function (ResponseInterface $response) use ($request, $handler) {
+ if ($response->getStatusCode() < 400) {
+ return $response;
+ }
+ throw (new Builder())->httpError($request, $response);
+ }
+ );
+ };
+ };
+ }
+
+ /**
+ * @param callable $tokenGenerator
+ * @param Token $token
+ *
+ * @return callable
+ */
+ public static function authHandler(callable $tokenGenerator, Token $token = null)
+ {
+ return function (callable $handler) use ($tokenGenerator, $token) {
+ return new AuthHandler($handler, $tokenGenerator, $token);
+ };
+ }
+
+ /**
+ * @codeCoverageIgnore
+ */
+ public static function history(array &$container)
+ {
+ return GuzzleMiddleware::history($container);
+ }
+
+ /**
+ * @codeCoverageIgnore
+ */
+ public static function retry(callable $decider, callable $delay = null)
+ {
+ return GuzzleMiddleware::retry($decider, $delay);
+ }
+
+ /**
+ * @codeCoverageIgnore
+ */
+ public static function log(LoggerInterface $logger, MessageFormatter $formatter, $logLevel = LogLevel::INFO)
+ {
+ return GuzzleMiddleware::log($logger, $formatter, $logLevel);
+ }
+
+ /**
+ * @codeCoverageIgnore
+ */
+ public static function prepareBody()
+ {
+ return GuzzleMiddleware::prepareBody();
+ }
+
+ /**
+ * @codeCoverageIgnore
+ */
+ public static function mapRequest(callable $fn)
+ {
+ return GuzzleMiddleware::mapRequest($fn);
+ }
+
+ /**
+ * @codeCoverageIgnore
+ */
+ public static function mapResponse(callable $fn)
+ {
+ return GuzzleMiddleware::mapResponse($fn);
+ }
+}