download = $download; return $this; } public function getDownload() { return $this->download; } public function setMimeType($mime_type) { $this->mimeType = $mime_type; return $this; } public function getMimeType() { return $this->mimeType; } public function setContent($content) { $this->content = $content; return $this; } public function buildResponseString() { return $this->content; } public function getHeaders() { $headers = array( array('Content-Type', $this->getMimeType()), // Without this, IE can decide that we surely meant "text/html" when // delivering another content type since, you know, it looks like it's // probably an HTML document. This closes the security hole that policy // creates. array('X-Content-Type-Options', 'nosniff'), ); if (strlen($this->getDownload())) { $headers[] = array('X-Download-Options', 'noopen'); $filename = $this->getDownload(); $headers[] = array( 'Content-Disposition', 'attachment; filename='.$filename, ); } return $headers; } }