AbstractEntityBodyDecorator.php

Namespace

Guzzle\Http

File

drupal/core/vendor/guzzle/http/Guzzle/Http/AbstractEntityBodyDecorator.php
View source
<?php

namespace Guzzle\Http;

use Guzzle\Stream\Stream;

/**
 * Abstract decorator used to wrap entity bodies
 */
class AbstractEntityBodyDecorator implements EntityBodyInterface {

  /**
   * @var EntityBodyInterface Decorated entity body
   */
  protected $body;

  /**
   * Wrap a entity body
   *
   * @param EntityBodyInterface $body Entity body to decorate
   */
  public function __construct(EntityBodyInterface $body) {
    $this->body = $body;
  }

  /**
   * {@inheritdoc}
   */
  public function __toString() {
    return (string) $this->body;
  }

  /**
   * Allow decorators to implement custom methods
   *
   * @param string $method Missing method name
   * @param array  $args   Method arguments
   *
   * @return mixed
   * @codeCoverageIgnore
   */
  public function __call($method, array $args = null) {
    return call_user_func_array(array(
      $this->body,
      $method,
    ), $args);
  }

  /**
   * {@inheritdoc}
   * @codeCoverageIgnore
   */
  public function setRewindFunction($callable) {
    return $this->body
      ->setRewindFunction($callable);
  }

  /**
   * {@inheritdoc}
   * @codeCoverageIgnore
   */
  public function rewind() {
    return $this->body
      ->rewind();
  }

  /**
   * {@inheritdoc}
   * @codeCoverageIgnore
   */
  public function compress($filter = 'zlib.deflate') {
    return $this->body
      ->compress($filter);
  }

  /**
   * {@inheritdoc}
   * @codeCoverageIgnore
   */
  public function uncompress($filter = 'zlib.inflate') {
    return $this->body
      ->uncompress($filter);
  }

  /**
   * {@inheritdoc}
   */
  public function getContentLength() {
    return $this->body
      ->getContentLength();
  }

  /**
   * {@inheritdoc}
   */
  public function getContentType() {
    return $this->body
      ->getContentType();
  }

  /**
   * {@inheritdoc}
   */
  public function getContentMd5($rawOutput = false, $base64Encode = false) {
    $hash = Stream::getHash($this, 'md5', $rawOutput);
    return $hash && $base64Encode ? base64_encode($hash) : $hash;
  }

  /**
   * {@inheritdoc}
   */
  public function getContentEncoding() {
    return $this->body
      ->getContentEncoding();
  }

  /**
   * {@inheritdoc}
   * @codeCoverageIgnore
   */
  public function getMetaData($key = null) {
    return $this->body
      ->getMetaData($key);
  }

  /**
   * {@inheritdoc}
   */
  public function getStream() {
    return $this->body
      ->getStream();
  }

  /**
   * {@inheritdoc}
   * @codeCoverageIgnore
   */
  public function setStream($stream, $size = 0) {
    return $this->body
      ->setStream($stream, $size);
  }

  /**
   * {@inheritdoc}
   */
  public function getWrapper() {
    return $this->body
      ->getWrapper();
  }

  /**
   * {@inheritdoc}
   */
  public function getWrapperData() {
    return $this->body
      ->getWrapperData();
  }

  /**
   * {@inheritdoc}
   */
  public function getStreamType() {
    return $this->body
      ->getStreamType();
  }

  /**
   * {@inheritdoc}
   */
  public function getUri() {
    return $this->body
      ->getUri();
  }

  /**
   * {@inheritdoc}
   */
  public function getSize() {
    return $this->body
      ->getSize();
  }

  /**
   * {@inheritdoc}
   */
  public function isReadable() {
    return $this->body
      ->isReadable();
  }

  /**
   * {@inheritdoc}
   */
  public function isWritable() {
    return $this->body
      ->isWritable();
  }

  /**
   * {@inheritdoc}
   */
  public function isConsumed() {
    return $this->body
      ->isConsumed();
  }

  /**
   * {@inheritdoc}
   */
  public function isLocal() {
    return $this->body
      ->isLocal();
  }

  /**
   * {@inheritdoc}
   */
  public function isSeekable() {
    return $this->body
      ->isSeekable();
  }

  /**
   * {@inheritdoc}
   * @codeCoverageIgnore
   */
  public function setSize($size) {
    return $this->body
      ->setSize($size);
  }

  /**
   * {@inheritdoc}
   * @codeCoverageIgnore
   */
  public function seek($offset, $whence = SEEK_SET) {
    return $this->body
      ->seek($offset, $whence);
  }

  /**
   * {@inheritdoc}
   * @codeCoverageIgnore
   */
  public function read($length) {
    return $this->body
      ->read($length);
  }

  /**
   * {@inheritdoc}
   * @codeCoverageIgnore
   */
  public function write($string) {
    return $this->body
      ->write($string);
  }

  /**
   * {@inheritdoc}
   * @codeCoverageIgnore
   */
  public function ftell() {
    return $this->body
      ->ftell();
  }

}

Classes

Namesort descending Description
AbstractEntityBodyDecorator Abstract decorator used to wrap entity bodies