コード例 #1
0
ファイル: StreamRange.php プロジェクト: oat-sa/tao-core
 /**
  * Create array of StreamRange instances based on current request range headers
  * @param StreamInterface $stream
  * @param ServerRequestInterface $request
  * @throws StreamRangeException
  * @return StreamRange[]
  */
 public static function createFromRequest(StreamInterface $stream, ServerRequestInterface $request = null)
 {
     $result = [];
     if ($request === null) {
         $headers = \tao_helpers_Http::getHeaders();
         $rangeHeader = isset($headers['Range']) ? [$headers['Range']] : null;
     } else {
         $rangeHeader = $request->hasHeader('Range') ? $request->getHeader('Range') : null;
     }
     if ($rangeHeader) {
         $ranges = explode(',', $rangeHeader[0]);
         foreach ($ranges as $range) {
             $range = str_replace('bytes=', '', $range);
             $result[] = new StreamRange($stream, $range);
         }
     }
     return $result;
 }