OXIESEC PANEL
- Current Dir:
/
/
var
/
www
/
cream
/
Xpress_backup
/
vendor
/
aws
/
aws-sdk-php
/
src
/
S3
Server IP: 139.59.38.164
Upload:
Create Dir:
Name
Size
Modified
Perms
📁
..
-
05/19/2025 10:07:19 AM
rwxr-xr-x
📄
AmbiguousSuccessParser.php
2.3 KB
05/19/2025 10:07:18 AM
rw-r--r--
📄
ApplyChecksumMiddleware.php
4.98 KB
05/19/2025 10:07:18 AM
rw-r--r--
📄
BatchDelete.php
7.73 KB
05/19/2025 10:07:18 AM
rw-r--r--
📄
BucketEndpointArnMiddleware.php
14.04 KB
05/19/2025 10:07:18 AM
rw-r--r--
📄
BucketEndpointMiddleware.php
3.44 KB
05/19/2025 10:07:18 AM
rw-r--r--
📄
CalculatesChecksumTrait.php
1.84 KB
05/19/2025 10:07:18 AM
rw-r--r--
📁
Crypto
-
05/19/2025 10:07:18 AM
rwxr-xr-x
📄
EndpointRegionHelperTrait.php
3.26 KB
05/19/2025 10:07:18 AM
rw-r--r--
📁
Exception
-
05/19/2025 10:07:18 AM
rwxr-xr-x
📄
GetBucketLocationParser.php
1.34 KB
05/19/2025 10:07:18 AM
rw-r--r--
📄
MultipartCopy.php
9.06 KB
05/19/2025 10:07:18 AM
rw-r--r--
📄
MultipartUploader.php
6.3 KB
05/19/2025 10:07:18 AM
rw-r--r--
📄
MultipartUploadingTrait.php
4.24 KB
05/19/2025 10:07:18 AM
rw-r--r--
📄
ObjectCopier.php
5.99 KB
05/19/2025 10:07:18 AM
rw-r--r--
📄
ObjectUploader.php
5.52 KB
05/19/2025 10:07:18 AM
rw-r--r--
📄
PermanentRedirectMiddleware.php
1.76 KB
05/19/2025 10:07:18 AM
rw-r--r--
📄
PostObject.php
3.99 KB
05/19/2025 10:07:18 AM
rw-r--r--
📄
PostObjectV4.php
5.49 KB
05/19/2025 10:07:18 AM
rw-r--r--
📄
PutObjectUrlMiddleware.php
1.61 KB
05/19/2025 10:07:18 AM
rw-r--r--
📁
RegionalEndpoint
-
05/19/2025 10:07:18 AM
rwxr-xr-x
📄
RetryableMalformedResponseParser.php
1.47 KB
05/19/2025 10:07:18 AM
rw-r--r--
📄
S3Client.php
52.19 KB
05/19/2025 10:07:18 AM
rw-r--r--
📄
S3ClientInterface.php
14.47 KB
05/19/2025 10:07:18 AM
rw-r--r--
📄
S3ClientTrait.php
10.56 KB
05/19/2025 10:07:18 AM
rw-r--r--
📄
S3EndpointMiddleware.php
11.39 KB
05/19/2025 10:07:18 AM
rw-r--r--
📄
S3MultiRegionClient.php
19.96 KB
05/19/2025 10:07:18 AM
rw-r--r--
📄
S3UriParser.php
5.07 KB
05/19/2025 10:07:18 AM
rw-r--r--
📄
SSECMiddleware.php
2.31 KB
05/19/2025 10:07:18 AM
rw-r--r--
📄
StreamWrapper.php
31.65 KB
05/19/2025 10:07:18 AM
rw-r--r--
📄
Transfer.php
15.58 KB
05/19/2025 10:07:18 AM
rw-r--r--
📁
UseArnRegion
-
05/19/2025 10:07:18 AM
rwxr-xr-x
📄
ValidateResponseChecksumParser.php
5.23 KB
05/19/2025 10:07:18 AM
rw-r--r--
Editing: MultipartUploadingTrait.php
Close
<?php namespace Aws\S3; use Aws\CommandInterface; use Aws\Multipart\UploadState; use Aws\ResultInterface; trait MultipartUploadingTrait { /** * Creates an UploadState object for a multipart upload by querying the * service for the specified upload's information. * * @param S3ClientInterface $client S3Client used for the upload. * @param string $bucket Bucket for the multipart upload. * @param string $key Object key for the multipart upload. * @param string $uploadId Upload ID for the multipart upload. * * @return UploadState */ public static function getStateFromService( S3ClientInterface $client, $bucket, $key, $uploadId ) { $state = new UploadState([ 'Bucket' => $bucket, 'Key' => $key, 'UploadId' => $uploadId, ]); foreach ($client->getPaginator('ListParts', $state->getId()) as $result) { // Get the part size from the first part in the first result. if (!$state->getPartSize()) { $state->setPartSize($result->search('Parts[0].Size')); } // Mark all the parts returned by ListParts as uploaded. foreach ($result['Parts'] as $part) { $state->markPartAsUploaded($part['PartNumber'], [ 'PartNumber' => $part['PartNumber'], 'ETag' => $part['ETag'] ]); } } $state->setStatus(UploadState::INITIATED); return $state; } protected function handleResult(CommandInterface $command, ResultInterface $result) { $partData = []; $partData['PartNumber'] = $command['PartNumber']; $partData['ETag'] = $this->extractETag($result); if (isset($command['ChecksumAlgorithm'])) { $checksumMemberName = 'Checksum' . strtoupper($command['ChecksumAlgorithm']); $partData[$checksumMemberName] = $result[$checksumMemberName]; } $this->getState()->markPartAsUploaded($command['PartNumber'], $partData); } abstract protected function extractETag(ResultInterface $result); protected function getCompleteParams() { $config = $this->getConfig(); $params = isset($config['params']) ? $config['params'] : []; $params['MultipartUpload'] = [ 'Parts' => $this->getState()->getUploadedParts() ]; return $params; } protected function determinePartSize() { // Make sure the part size is set. $partSize = $this->getConfig()['part_size'] ?: MultipartUploader::PART_MIN_SIZE; // Adjust the part size to be larger for known, x-large uploads. if ($sourceSize = $this->getSourceSize()) { $partSize = (int) max( $partSize, ceil($sourceSize / MultipartUploader::PART_MAX_NUM) ); } // Ensure that the part size follows the rules: 5 MB <= size <= 5 GB. if ($partSize < MultipartUploader::PART_MIN_SIZE || $partSize > MultipartUploader::PART_MAX_SIZE) { throw new \InvalidArgumentException('The part size must be no less ' . 'than 5 MB and no greater than 5 GB.'); } return $partSize; } protected function getInitiateParams() { $config = $this->getConfig(); $params = isset($config['params']) ? $config['params'] : []; if (isset($config['acl'])) { $params['ACL'] = $config['acl']; } // Set the ContentType if not already present if (empty($params['ContentType']) && $type = $this->getSourceMimeType()) { $params['ContentType'] = $type; } return $params; } /** * @return UploadState */ abstract protected function getState(); /** * @return array */ abstract protected function getConfig(); /** * @return int */ abstract protected function getSourceSize(); /** * @return string|null */ abstract protected function getSourceMimeType(); }