private function filterRequest(RequestInterface $request, array $options)
 {
     if ($base_uri = $options['base_uri']) {
         $uri = $request->getUri();
         $resolved = BaseUri::resolve($base_uri, $uri);
         if ((string) $uri !== (string) $resolved) {
             $request = $request->withUri($resolved);
         }
     }
     return $request;
 }
 /**
  * Apply parse_url parts to a URI.
  *
  * @param array $parts Array of parse_url parts to apply.
  */
 protected function applyParts(array $parts)
 {
     parent::applyParts($parts);
     $this->query = isset($parts['query']) ? $this->filterQueryAndFragment($parts['query']) : '';
     $this->fragment = isset($parts['fragment']) ? $this->filterQueryAndFragment($parts['fragment']) : '';
 }