public function calculateRequestFilename(Request $request) {
        $string = $request->getUri();
        $filename = parse_url($string, PHP_URL_HOST);
        $filename .= '_'.parse_url($string, PHP_URL_PATH);
        $headers = $request->getAllHeaders();
        ksort($headers);
        foreach ($headers as $header => $values) {
            $string .= $header;
            foreach ($values as $value) {
                $string .= $value;
            }
        }

        $filename .= '_'.sha1($string);

        if (strpos($filename, '_') === 0) {
            //Makes sorting not be crap
            $filename = substr($filename, 1);
        }

        return $this->cacheDirectory.'/'.$filename.'.cache';
    }