public function testUnshiftsInReverseOrder()
 {
     $meths = $this->getFunctions();
     $builder = new HandlerStack();
     $builder->setHandler($meths[1]);
     $builder->unshift($meths[2]);
     $builder->unshift($meths[3]);
     $builder->unshift($meths[4]);
     $composed = $builder->resolve();
     $this->assertEquals('Hello - test321', $composed('test'));
     $this->assertEquals([['c', 'test'], ['b', 'test3'], ['a', 'test32']], $meths[0]);
 }
Esempio n. 2
0
 private function configureDeveloperModeHandler(HandlerStack $handlerStack)
 {
     $developerModeEnabled = $this->developerMode;
     $handlerStack->remove('wechatClient:developerMode');
     $handlerStack->unshift(function (callable $handler) use($developerModeEnabled) {
         return function (RequestInterface $request, array $options = []) use($handler, $developerModeEnabled) {
             if ($developerModeEnabled) {
                 $mapping = ['api.weixin.qq.com' => 'api.devcentral.co.za', 'api.wechat.com' => 'api.devcentral.co.za'];
                 $uri = $request->getUri();
                 if (isset($mapping[$uri->getHost()])) {
                     $uri = $uri->withHost($mapping[$uri->getHost()]);
                 }
                 $request = $request->withUri($uri);
             }
             return $handler($request, $options);
         };
     }, 'wechatClient:developerMode');
 }
Esempio n. 3
0
 /**
  * Add any middleware required.
  *
  * @param HandlerStack $handlerStack
  */
 protected function configureHandlerStack(HandlerStack $handlerStack)
 {
     $handlerStack->unshift($this->getApiKeyMiddleware());
 }