コード例 #1
0
 /**
  * @param Oxygen_Stream_Interface $body
  */
 public function setBody($body)
 {
     if ($body !== null && !$body instanceof Oxygen_Stream_Interface) {
         $body = Oxygen_Stream_Stream::factory($body);
     }
     $this->body = $body;
 }
コード例 #2
0
ファイル: LazyFile.php プロジェクト: Briareos/Oxygen
 private function initialize()
 {
     if ($this->initialized === false) {
         if (file_exists($this->realPath)) {
             $handle = @fopen($this->realPath, "rb");
             if ($handle !== false) {
                 $this->stream = Oxygen_Stream_Stream::factory($handle);
             }
         }
         $this->initialized = true;
     }
 }
コード例 #3
0
ファイル: MultipartResponse.php プロジェクト: Briareos/Oxygen
 private function createPartStream(Oxygen_Http_MultipartResponsePart $part)
 {
     $stream = new Oxygen_Stream_Append();
     foreach ($part->getHeaders() as $header => $value) {
         if (strcasecmp("content-location", $header) === 0) {
             // Content-Location can contain special characters (like \r\n for example)
             $value = urlencode($value);
         }
         $stream->addStream(Oxygen_Stream_Stream::factory(sprintf("%s: %s\r\n", strtolower($header), $value)));
     }
     $body = $part->getBody();
     // Manually output content-transfer-encoding header
     $stream->addStream(Oxygen_Stream_Stream::factory(sprintf("content-transfer-encoding: %s\r\n", $part->getEncoding())));
     switch ($part->getEncoding()) {
         case 'binary':
             // No action required
             break;
         case 'base64':
             $body = new Oxygen_Stream_Base64EncodedStream($body);
             break;
         default:
             throw new Oxygen_Exception(Oxygen_Exception::MULTIPART_ENCODING_NOT_SUPPORTED, array('encoding' => $part->getEncoding()));
     }
     $stream->addStream(Oxygen_Stream_Stream::factory("\r\n"));
     $stream->addStream($body);
     return $stream;
 }