| @@ 269-317 (lines=49) @@ | ||
| 266 | * https://docs.microsoft.com/en-us/rest/api/storageservices/constructing-a-service-sas |
|
| 267 | * @return string |
|
| 268 | */ |
|
| 269 | public function generateBlobServiceSharedAccessSignatureToken( |
|
| 270 | $signedResource, |
|
| 271 | $resourceName, |
|
| 272 | $signedPermissions, |
|
| 273 | $signedExpiry, |
|
| 274 | $signedStart = "", |
|
| 275 | $signedIP = "", |
|
| 276 | $signedProtocol = "", |
|
| 277 | $signedIdentifier = "", |
|
| 278 | $cacheControl = "", |
|
| 279 | $contentDisposition = "", |
|
| 280 | $contentEncoding = "", |
|
| 281 | $contentLanguage = "", |
|
| 282 | $contentType = "" |
|
| 283 | ) { |
|
| 284 | // check that the resource name is valid. |
|
| 285 | Validate::isString($signedResource, 'signedResource'); |
|
| 286 | Validate::notNullOrEmpty($signedResource, 'signedResource'); |
|
| 287 | Validate::isTrue( |
|
| 288 | $signedResource == Resources::RESOURCE_TYPE_BLOB || |
|
| 289 | $signedResource == Resources::RESOURCE_TYPE_CONTAINER, |
|
| 290 | \sprintf( |
|
| 291 | Resources::INVALID_VALUE_MSG, |
|
| 292 | '$signedResource', |
|
| 293 | 'Can only be \'b\' or \'c\'.' |
|
| 294 | ) |
|
| 295 | ); |
|
| 296 | ||
| 297 | return $this->generateServiceSharedAccessSignatureToken( |
|
| 298 | Resources::RESOURCE_TYPE_BLOB, |
|
| 299 | $signedResource, |
|
| 300 | $resourceName, |
|
| 301 | $signedPermissions, |
|
| 302 | $signedExpiry, |
|
| 303 | $signedStart, |
|
| 304 | $signedIP, |
|
| 305 | $signedProtocol, |
|
| 306 | $signedIdentifier, |
|
| 307 | $cacheControl, |
|
| 308 | $contentDisposition, |
|
| 309 | $contentEncoding, |
|
| 310 | $contentLanguage, |
|
| 311 | $contentType, |
|
| 312 | '', |
|
| 313 | '', |
|
| 314 | '', |
|
| 315 | '' |
|
| 316 | ); |
|
| 317 | } |
|
| 318 | ||
| 319 | /** |
|
| 320 | * Generates File service shared access signature. |
|
| @@ 350-398 (lines=49) @@ | ||
| 347 | * https://docs.microsoft.com/en-us/rest/api/storageservices/constructing-a-service-sas |
|
| 348 | * @return string |
|
| 349 | */ |
|
| 350 | public function generateFileServiceSharedAccessSignatureToken( |
|
| 351 | $signedResource, |
|
| 352 | $resourceName, |
|
| 353 | $signedPermissions, |
|
| 354 | $signedExpiry, |
|
| 355 | $signedStart = "", |
|
| 356 | $signedIP = "", |
|
| 357 | $signedProtocol = "", |
|
| 358 | $signedIdentifier = "", |
|
| 359 | $cacheControl = "", |
|
| 360 | $contentDisposition = "", |
|
| 361 | $contentEncoding = "", |
|
| 362 | $contentLanguage = "", |
|
| 363 | $contentType = "" |
|
| 364 | ) { |
|
| 365 | // check that the resource name is valid. |
|
| 366 | Validate::isString($signedResource, 'signedResource'); |
|
| 367 | Validate::notNullOrEmpty($signedResource, 'signedResource'); |
|
| 368 | Validate::isTrue( |
|
| 369 | $signedResource == Resources::RESOURCE_TYPE_FILE || |
|
| 370 | $signedResource == Resources::RESOURCE_TYPE_SHARE, |
|
| 371 | \sprintf( |
|
| 372 | Resources::INVALID_VALUE_MSG, |
|
| 373 | '$signedResource', |
|
| 374 | 'Can only be \'f\' or \'s\'.' |
|
| 375 | ) |
|
| 376 | ); |
|
| 377 | ||
| 378 | return $this->generateServiceSharedAccessSignatureToken( |
|
| 379 | Resources::RESOURCE_TYPE_FILE, |
|
| 380 | $signedResource, |
|
| 381 | $resourceName, |
|
| 382 | $signedPermissions, |
|
| 383 | $signedExpiry, |
|
| 384 | $signedStart, |
|
| 385 | $signedIP, |
|
| 386 | $signedProtocol, |
|
| 387 | $signedIdentifier, |
|
| 388 | $cacheControl, |
|
| 389 | $contentDisposition, |
|
| 390 | $contentEncoding, |
|
| 391 | $contentLanguage, |
|
| 392 | $contentType, |
|
| 393 | '', |
|
| 394 | '', |
|
| 395 | '', |
|
| 396 | '' |
|
| 397 | ); |
|
| 398 | } |
|
| 399 | ||
| 400 | /** |
|
| 401 | * Generates Table service shared access signature. |
|