/**
  * Get the values of trusted proxy header.
  *
  * @param string $type One of the HEADER_* constants
  * @param Request $request The request to get the trusted proxy header from
  * @return \Iterator An array of the values for this header type or NULL if this header type should not be trusted
  */
 protected function getTrustedProxyHeaderValues($type, Request $request)
 {
     $trustedHeaders = isset($this->settings['headers'][$type]) ? $this->settings['headers'][$type] : '';
     if ($trustedHeaders === '' || !$request->getAttribute(Request::ATTRIBUTE_TRUSTED_PROXY)) {
         (yield null);
         return;
     }
     $trustedHeaders = array_map('trim', explode(',', $trustedHeaders));
     foreach ($trustedHeaders as $trustedHeader) {
         if ($request->hasHeader($trustedHeader)) {
             (yield array_map('trim', explode(',', $request->getHeader($trustedHeader))));
         }
     }
     (yield null);
 }