private function getRequestAdapter($source) { if ($source instanceof RequestAdapter) { return $source; } elseif ($source instanceof ServerRequestInterface) { return new Psr7RequestAdapter($source); } elseif (is_array($source)) { return new SuperglobalRequestAdapter($source); } throw new \InvalidArgumentException("Unknown IP source."); }