|
@@ 149-171 (lines=23) @@
|
| 146 |
|
* |
| 147 |
|
* @return string|null |
| 148 |
|
*/ |
| 149 |
|
public function getStreamContentType($entity, $resourceStreamInfo) |
| 150 |
|
{ |
| 151 |
|
$contentType = null; |
| 152 |
|
$this->_saveContentTypeAndETag(); |
| 153 |
|
$opContext = $this->_service->getOperationContext(); |
| 154 |
|
if (is_null($resourceStreamInfo)) { |
| 155 |
|
$this->_loadAndValidateStreamProvider(); |
| 156 |
|
$contentType = $this->_streamProvider->getStreamContentType($entity, $opContext); |
| 157 |
|
if (is_null($contentType)) { |
| 158 |
|
throw new InvalidOperationException( |
| 159 |
|
Messages::streamProviderWrapperGetStreamContentTypeReturnsEmptyOrNull() |
| 160 |
|
); |
| 161 |
|
} |
| 162 |
|
} else { |
| 163 |
|
$this->_loadAndValidateStreamProvider2(); |
| 164 |
|
assert($this->_streamProvider instanceof IStreamProvider2); |
| 165 |
|
$contentType = $this->_streamProvider->getStreamContentType2($entity, $resourceStreamInfo, $opContext); |
| 166 |
|
} |
| 167 |
|
|
| 168 |
|
$this->_verifyContentTypeOrETagModified('IDSSP::getStreamContentType'); |
| 169 |
|
|
| 170 |
|
return $contentType; |
| 171 |
|
} |
| 172 |
|
|
| 173 |
|
/** |
| 174 |
|
* Get the ETag of the stream associated with the entity specified. |
|
@@ 192-214 (lines=23) @@
|
| 189 |
|
* |
| 190 |
|
* @return string Etag |
| 191 |
|
*/ |
| 192 |
|
public function getStreamETag($entity, $resourceStreamInfo) |
| 193 |
|
{ |
| 194 |
|
$eTag = null; |
| 195 |
|
$this->_saveContentTypeAndETag(); |
| 196 |
|
$opContext = $this->_service->getOperationContext(); |
| 197 |
|
if (is_null($resourceStreamInfo)) { |
| 198 |
|
$this->_loadAndValidateStreamProvider(); |
| 199 |
|
$eTag = $this->_streamProvider->getStreamETag($entity, $opContext); |
| 200 |
|
} else { |
| 201 |
|
$this->_loadAndValidateStreamProvider2(); |
| 202 |
|
assert($this->_streamProvider instanceof IStreamProvider2); |
| 203 |
|
$eTag = $this->_streamProvider->getStreamETag2($entity, $resourceStreamInfo, $opContext); |
| 204 |
|
} |
| 205 |
|
|
| 206 |
|
$this->_verifyContentTypeOrETagModified('IDSSP::getStreamETag'); |
| 207 |
|
if (!self::isETagValueValid($eTag, true)) { |
| 208 |
|
throw new InvalidOperationException( |
| 209 |
|
Messages::streamProviderWrapperGetStreamETagReturnedInvalidETagFormat() |
| 210 |
|
); |
| 211 |
|
} |
| 212 |
|
|
| 213 |
|
return $eTag; |
| 214 |
|
} |
| 215 |
|
|
| 216 |
|
/** |
| 217 |
|
* Gets the URI clients should use when making retrieve (ie. GET) requests |