<?php namespace Aws\ClientSideMonitoring; use Aws\CommandInterface; use Aws\Exception\AwsException; use Aws\ResultInterface; use GuzzleHttp\Psr7\Request; use Psr\Http\Message\RequestInterface; /** * @internal */ interface MonitoringMiddlewareInterface { /** * Data for event properties to be sent to the monitoring agent. * * @param RequestInterface $request * @return array */ public static function getRequestData(RequestInterface $request); /** * Data for event properties to be sent to the monitoring agent. * * @param ResultInterface|AwsException|\Exception $klass * @return array */ public static function getResponseData($klass); public function __invoke(CommandInterface $cmd, RequestInterface $request); }