/** * Send the next part of the file to upload. * @param [$chunk] the next set of bytes to send. If false will used $data passed * at construct time. */ public function nextChunk($chunk = false) { if (false == $this->resumeUri) { $this->resumeUri = $this->getResumeUri(); } if (false == $chunk) { $chunk = substr($this->data, $this->progress, $this->chunkSize); } $lastBytePos = $this->progress + strlen($chunk) - 1; $headers = array('content-range' => "bytes {$this->progress}-{$lastBytePos}/{$this->size}", 'content-type' => $this->request->getRequestHeader('content-type'), 'content-length' => $this->chunkSize, 'expect' => ''); $httpRequest = new GoogleGAL_Http_Request($this->resumeUri, 'PUT', $headers, $chunk); if ($this->client->getClassConfig("GoogleGAL_Http_Request", "enable_gzip_for_uploads")) { $httpRequest->enableGzip(); } else { $httpRequest->disableGzip(); } $response = $this->client->getIo()->makeRequest($httpRequest); $response->setExpectedClass($this->request->getExpectedClass()); $code = $response->getResponseHttpCode(); $this->httpResultCode = $code; if (308 == $code) { // Track the amount uploaded. $range = explode('-', $response->getResponseHeader('range')); $this->progress = $range[1] + 1; // Allow for changing upload URLs. $location = $response->getResponseHeader('location'); if ($location) { $this->resumeUri = $location; } // No problems, but upload not complete. return false; } else { return GoogleGAL_Http_REST::decodeHttpResponse($response, $this->client); } }
public function __construct(GoogleGAL_Client $client) { $this->client = $client; $timeout = $client->getClassConfig('GoogleGAL_IO_Abstract', 'request_timeout_seconds'); if ($timeout > 0) { $this->setTimeout($timeout); } }
public function __construct(GoogleGAL_Client $client) { if (!function_exists('memcache_connect') && !class_exists("Memcached")) { throw new GoogleGAL_Cache_Exception("Memcache functions not available"); } if ($client->isAppEngine()) { // No credentials needed for GAE. $this->mc = new Memcached(); $this->connection = true; } else { $this->host = $client->getClassConfig($this, 'host'); $this->port = $client->getClassConfig($this, 'port'); if (empty($this->host) || empty($this->port)) { throw new GoogleGAL_Cache_Exception("You need to supply a valid memcache host and port"); } } }
public function __construct(GoogleGAL_Client $client) { $this->path = $client->getClassConfig($this, 'directory'); }
/** * @param GoogleGAL_Client $client The current Google client */ public function __construct(GoogleGAL_Client $client) { $this->setLevel($client->getClassConfig('GoogleGAL_Logger_Abstract', 'level')); $format = $client->getClassConfig('GoogleGAL_Logger_Abstract', 'log_format'); $this->logFormat = $format ? $format : self::DEFAULT_LOG_FORMAT; $format = $client->getClassConfig('GoogleGAL_Logger_Abstract', 'date_format'); $this->dateFormat = $format ? $format : self::DEFAULT_DATE_FORMAT; $this->allowNewLines = (bool) $client->getClassConfig('GoogleGAL_Logger_Abstract', 'allow_newlines'); }