You are here

class HttpClientManagerExampleSubscriber in HTTP Client Manager 8.2

Class HttpClientManagerExampleSubscriber.

Hierarchy

Expanded class hierarchy of HttpClientManagerExampleSubscriber

1 string reference to 'HttpClientManagerExampleSubscriber'
http_client_manager_example.services.yml in modules/http_client_manager_example/http_client_manager_example.services.yml
modules/http_client_manager_example/http_client_manager_example.services.yml
1 service uses HttpClientManagerExampleSubscriber
http_client_manager_example.subscriber in modules/http_client_manager_example/http_client_manager_example.services.yml
Drupal\http_client_manager_example\EventSubscriber\HttpClientManagerExampleSubscriber

File

modules/http_client_manager_example/src/EventSubscriber/HttpClientManagerExampleSubscriber.php, line 14

Namespace

Drupal\http_client_manager_example\EventSubscriber
View source
class HttpClientManagerExampleSubscriber implements EventSubscriberInterface {

  /**
   * {@inheritdoc}
   */
  public static function getSubscribedEvents() {
    return [
      HttpClientEvents::HANDLER_STACK => [
        'onHandlerStack',
      ],
    ];
  }

  /**
   * This method is called whenever the http_client.handler_stack event is
   * dispatched.
   *
   * @param \Drupal\http_client_manager\Event\HttpClientHandlerStackEvent $event
   *   The HTTP Client Handler stack event.
   */
  public function onHandlerStack(HttpClientHandlerStackEvent $event) {
    if ($event
      ->getHttpServiceApi() != 'example_services') {
      return;
    }
    $handler = $event
      ->getHandlerStack();
    $middleware = Middleware::mapRequest([
      $this,
      'addExampleServiceHttpHeader',
    ]);
    $handler
      ->push($middleware, 'example_services');
  }

  /**
   * Add example service HTTP Header.
   *
   * @param \Psr\Http\Message\RequestInterface $request
   *   The current Request object.
   *
   * @return \Psr\Http\Message\MessageInterface
   *   Return an instance with the provided value for the specified header.
   */
  public function addExampleServiceHttpHeader(RequestInterface $request) {
    return $request
      ->withHeader('X-EXAMPLE-HTTP-HEADER', 'example_services');
  }

}

Members

Namesort descending Modifiers Type Description Overrides
HttpClientManagerExampleSubscriber::addExampleServiceHttpHeader public function Add example service HTTP Header.
HttpClientManagerExampleSubscriber::getSubscribedEvents public static function
HttpClientManagerExampleSubscriber::onHandlerStack public function This method is called whenever the http_client.handler_stack event is dispatched.