GuzzleHttpSignatures.php 963 B

1234567891011121314151617181920212223242526272829303132333435363738394041
  1. <?php
  2. namespace App\Util\HttpSignatures;
  3. use GuzzleHttp\HandlerStack;
  4. use GuzzleHttp\Psr7\Request;
  5. use App\Util\HttpSignatures\Context;
  6. class GuzzleHttpSignatures
  7. {
  8. /**
  9. * @param Context $context
  10. * @return HandlerStack
  11. */
  12. public static function defaultHandlerFromContext(Context $context)
  13. {
  14. $stack = HandlerStack::create();
  15. $stack->push(self::middlewareFromContext($context));
  16. return $stack;
  17. }
  18. /**
  19. * @param Context $context
  20. * @return \Closure
  21. */
  22. public static function middlewareFromContext(Context $context)
  23. {
  24. return function (callable $handler) use ($context)
  25. {
  26. return function (
  27. Request $request,
  28. array $options
  29. ) use ($handler, $context)
  30. {
  31. $request = $context->signer()->sign($request);
  32. return $handler($request, $options);
  33. };
  34. };
  35. }
  36. }