public function check()
    {
        // Using a validation result to capture messages
        $this->result = new ValidationResult();

        $response = $this->client->get($this->getURL());
        $fullURL = $this->getURL();
        if ($response === null) {
            return [
                EnvironmentCheck::ERROR,
                "Cache headers check request failed for $fullURL",
            ];
        }

        //Check that Etag exists
        $this->checkEtag($response);

        // Check Cache-Control settings
        $this->checkCacheControl($response);

        if ($this->result->isValid()) {
            return [
                EnvironmentCheck::OK,
                $this->getMessage(),
            ];
        } else {
            // @todo Ability to return a warning
            return [
                EnvironmentCheck::ERROR,
                $this->getMessage(),
            ];
        }
    }