| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879 | 
							- <?php
 
- namespace Qcloud\Cos;
 
- use GuzzleHttp\Command\CommandInterface;
 
- use GuzzleHttp\Command\Guzzle\SchemaValidator;
 
- use GuzzleHttp\Command\Guzzle\DescriptionInterface;
 
- use GuzzleHttp\Command\Guzzle\Serializer as DefaultSerializer;
 
- use Psr\Http\Message\RequestInterface;
 
- /**
 
-  * Override Request serializer to modify authentication mechanism
 
-  */
 
- class Serializer extends DefaultSerializer
 
- {
 
-     /**
 
-      * {@inheritdoc}
 
-      */
 
-     public function __construct(
 
-         DescriptionInterface $description,
 
-         array $requestLocations = []
 
-     ) {
 
-         // Override Guzzle's body location as it isn't raw binary data
 
-         $requestLocations['body'] = new Request\BodyLocation;
 
-         parent::__construct($description, $requestLocations);
 
-     }
 
-     /**
 
-      * Authorization header is Loco's preferred authorization method.
 
-      * Add Authorization header to request if API key is set, unless query is explicitly configured as auth method.
 
-      * Unset key from command to avoid sending it as a query param.
 
-      *
 
-      * @override
 
-      *
 
-      * @param CommandInterface $command
 
-      * @param RequestInterface $request
 
-      *
 
-      * @return RequestInterface
 
-      *
 
-      * @throws \InvalidArgumentException
 
-      */
 
-     protected function prepareRequest(
 
-         CommandInterface $command,
 
-         RequestInterface $request
 
-     ) {
 
- 		/*
 
-         if ($command->offsetExists('key') === true) {
 
-             $mode = empty($command->offsetGet('auth')) === false
 
-                     ? $command->offsetGet('auth')
 
-                     : 'loco';
 
-             if ($mode !== 'query') {
 
-                 // else use Authorization header of various types
 
-                 if ($mode === 'loco') {
 
-                     $value = 'Loco '.$command->offsetGet('key');
 
-                     $request = $request->withHeader('Authorization', $value);
 
-                 } elseif ($mode === 'basic') {
 
-                     $value = 'Basic '.base64_encode($command->offsetGet('key').':');
 
-                     $request = $request->withHeader('Authorization', $value);
 
-                 } else {
 
-                     throw new \InvalidArgumentException("Invalid auth type: {$mode}");
 
-                 }
 
-                 // avoid request sending key parameter in query string
 
-                 $command->offsetUnset('key');
 
-             }
 
-         }
 
-         // Remap legacy parameters to common `data` binding on request body
 
-         static $remap = [
 
-             'import' => ['src'=>'data'],
 
-             'translate' => ['translation'=>'data'],
 
-         ];
 
-         $name = $command->getName();
 
-         if (isset($remap[$name])) {
 
-             foreach ($remap[$name] as $old => $new) {
 
-                 if ($command->offsetExists($old)) {
 
-                     $command->offsetSet($new, $command->offsetGet($old));
 
-                     $command->offsetUnset($old);
 
-                 }
 
-             }
 
-         }
 
- 		*/
 
-         return parent::prepareRequest($command, $request);
 
-     }
 
- }
 
 
  |