SentryS3V3Adapter
class SentryS3V3Adapter extends AwsS3V3Adapter implements DecoratedFilesystem, InvalidatesPool
Traits
Decorates the underlying filesystem by wrapping all calls to it with tracing.
Properties
| static protected array | $macros | The registered string macros. |
from Macroable |
| protected array | $config | The filesystem configuration. |
from FilesystemAdapter |
| protected PathPrefixer | $prefixer | The Flysystem PathPrefixer instance. |
from FilesystemAdapter |
| protected PathNormalizer | $pathNormalizer | The Flysystem path normalizer instance. |
from FilesystemAdapter |
| protected Closure|null | $serveCallback | The file server callback. |
from FilesystemAdapter |
| protected Closure|null | $temporaryUrlCallback | The temporary URL builder callback. |
from FilesystemAdapter |
| protected Closure|null | $temporaryUploadUrlCallback | The temporary upload URL builder callback. |
from FilesystemAdapter |
| protected S3Client | $client | The AWS S3 client. |
from AwsS3V3Adapter |
| protected Filesystem | $filesystem | from FilesystemDecorator | |
| protected array | $defaultData | from FilesystemDecorator | |
| protected bool | $recordSpans | from FilesystemDecorator | |
| protected bool | $recordBreadcrumbs | from FilesystemDecorator |
Methods
Apply the callback if the given "value" is (or resolves to) truthy.
Apply the callback if the given "value" is (or resolves to) falsy.
Copy a file to another disk.
Move a file to another disk.
Transfer a file without holding a source lease during the destination write.
Mix another object into the class.
Dynamically handle calls to the class.
Dynamically handle calls to the class.
Create a new Sentry S3 filesystem adapter.
Assert that the given file or directory exists.
Assert that the number of files in path equals the expected count.
Assert that the given file or directory does not exist.
Assert that the given directory is empty.
Get the full path to the file that exists at the given relative path.
Get the contents of a file as decoded JSON.
Create a streamed response for a given file.
Create a streamed response for serving a given file.
Create a streamed download response for a given file.
Build a file response using the supplied request context.
Write the contents of a file.
Store the uploaded file on the disk.
Store the uploaded file on the disk with a given name.
Set the visibility for the given path.
Prepend to a file.
Append to a file.
Get the checksum for a file.
Get the mime-type of a given file.
Get a resource to read part of the file.
Normalize and validate byte-range stream arguments.
Write a new file using a stream.
Determine if temporary URLs can be generated.
Determine if temporary upload URLs can be generated.
Get a temporary URL for the file at the given path.
Get a temporary upload URL for the file at the given path.
Encode and concatenate a path to a URL.
Replace the scheme, host and port of the given UriInterface with values from the given URL.
Get an array of all files in a directory.
Get all of the files from the given directory recursively.
Get all of the directories within a given directory.
Get all of the directories recursively.
Parse the given visibility value.
Define a custom temporary upload URL builder callback.
Prepare a temporary URL callback for direct invocation.
Open a whole-object or ranged stream without applying the disk's failure policy.
Execute the method on the underlying filesystem and wrap it with tracing and log a breadcrumb.
Trace a transfer while preserving the wrapped disk's identity check.
Invalidate the wrapped filesystem's pool when supported.
Get the description and data for one or more paths.
Details
in
Conditionable at line 23
mixed
when(mixed $value = null, callable|null $callback = null, callable|null $default = null)
Apply the callback if the given "value" is (or resolves to) truthy.
in
Conditionable at line 56
mixed
unless(mixed $value = null, callable|null $callback = null, callable|null $default = null)
Apply the callback if the given "value" is (or resolves to) falsy.
in
TransfersFiles at line 21
bool
copyToDisk(Filesystem|string|UnitEnum $disk, string $from, string|null $to = null)
Copy a file to another disk.
in
TransfersFiles at line 33
bool
moveToDisk(Filesystem|string|UnitEnum $disk, string $from, string|null $to = null)
Move a file to another disk.
in
TransfersFiles at line 41
protected bool
transferFile(Filesystem $source, string $from, Filesystem $destination, string $to)
Transfer a file without holding a source lease during the destination write.
in
Macroable at line 28
static void
macro(string $name, callable|object $macro)
Register a custom macro.
Boot-only. Macros persist in a static property for the worker lifetime and apply to every subsequent call on the macroable class.
in
Macroable at line 41
static void
mixin(object $mixin, bool $replace = true)
Mix another object into the class.
Boot-only. Delegates to macro() for each method; registered macros persist in a static property for the worker lifetime.
in
Macroable at line 57
static bool
hasMacro(string $name)
Check if macro is registered.
in
Macroable at line 68
static void
flushMacros()
Flush the existing macros.
Boot or tests only. Clears worker-wide macros; concurrent coroutines may resolve different methods depending on timing.
in
Macroable at line 78
static mixed
__callStatic(string $method, array $parameters)
Dynamically handle calls to the class.
in
Macroable at line 103
mixed
__call(string $method, array $parameters)
Dynamically handle calls to the class.
at line 19
__construct(AwsS3V3Adapter $filesystem, array $defaultData, bool $recordSpans, bool $recordBreadcrumbs)
Create a new Sentry S3 filesystem adapter.
in
FilesystemAdapterDecorator at line 18
FilesystemAdapterDecorator
assertExists(array|string $path, string|null $content = null)
Assert that the given file or directory exists.
in
FilesystemAdapter at line 151
FilesystemAdapter
assertCount(string $path, int $count, bool $recursive = false)
Assert that the number of files in path equals the expected count.
in
FilesystemAdapterDecorator at line 32
FilesystemAdapterDecorator
assertMissing(array|string $path)
Assert that the given file or directory does not exist.
in
FilesystemAdapterDecorator at line 44
FilesystemAdapterDecorator
assertDirectoryEmpty(string $path)
Assert that the given directory is empty.
in
FilesystemAdapter at line 201
FilesystemAdapter
assertEmpty()
Assert that the disk contains no files.
in
FilesystemDecorator at line 88
bool
exists(string $path)
Determine if a file exists.
in
FilesystemAdapter at line 219
bool
missing(string $path)
Determine if a file or directory is missing.
in
FilesystemAdapterDecorator at line 54
bool
fileExists(string $path)
Determine if a file exists.
in
FilesystemAdapter at line 235
bool
fileMissing(string $path)
Determine if a file is missing.
in
FilesystemAdapterDecorator at line 62
bool
directoryExists(string $path)
Determine if a directory exists.
in
FilesystemAdapter at line 251
bool
directoryMissing(string $path)
Determine if a directory is missing.
in
FilesystemDecorator at line 80
string
path(string $path)
Get the full path to the file that exists at the given relative path.
in
FilesystemDecorator at line 96
string|null
get(string $path)
Get the contents of a file.
in
FilesystemAdapter at line 285
array|bool|float|int|string|null
json(string $path, int $flags = 0)
Get the contents of a file as decoded JSON.
in
FilesystemAdapter at line 297
StreamedResponse
response(string $path, string|null $name = null, array $headers = [], string $disposition = 'inline')
Create a streamed response for a given file.
in
FilesystemAdapter at line 317
Response
serve(Request $request, string $path, string|null $name = null, array $headers = [])
Create a streamed response for serving a given file.
in
FilesystemAdapter at line 329
StreamedResponse
download(string $path, string|null $name = null, array $headers = [])
Create a streamed download response for a given file.
in
FilesystemAdapter at line 337
Image
image(string $path)
Create an image instance from a file in storage.
in
FilesystemAdapter at line 348
protected StreamedResponse
buildFileResponse(Request $request, string $path, string|null $name, array $headers, string $disposition)
Build a file response using the supplied request context.
in
FilesystemDecorator at line 126
bool|string
put(string $path, mixed $contents, mixed $options = [])
Write the contents of a file.
in
FilesystemDecorator at line 136
false|string
putFile(string|File|UploadedFile $path, array|string|File|UploadedFile|null $file = null, mixed $options = [])
Store the uploaded file on the disk.
in
FilesystemDecorator at line 149
false|string
putFileAs(string|File|UploadedFile $path, array|string|File|UploadedFile|null $file, array|string|null $name = null, mixed $options = [])
Store the uploaded file on the disk with a given name.
in
FilesystemDecorator at line 173
string
getVisibility(string $path)
Get the visibility for the given path.
in
FilesystemDecorator at line 181
bool
setVisibility(string $path, string $visibility)
Set the visibility for the given path.
in
FilesystemDecorator at line 189
bool
prepend(string $path, string $data, string $separator = PHP_EOL)
Prepend to a file.
in
FilesystemDecorator at line 199
bool
append(string $path, string $data, string $separator = PHP_EOL)
Append to a file.
in
FilesystemDecorator at line 209
bool
delete(array|string $paths)
Delete the file at a given path.
in
FilesystemDecorator at line 219
bool
copy(string $from, string $to)
Copy a file to a new location.
in
FilesystemDecorator at line 227
bool
move(string $from, string $to)
Move a file to a new location.
in
FilesystemDecorator at line 273
int
size(string $path)
Get the file size of a given file.
in
FilesystemAdapterDecorator at line 70
false|string
checksum(string $path, array $options = [])
Get the checksum for a file.
in
FilesystemAdapterDecorator at line 78
false|string
mimeType(string $path)
Get the mime-type of a given file.
in
FilesystemDecorator at line 281
int
lastModified(string $path)
Get the file's last modification time.
in
FilesystemDecorator at line 106
mixed
readStream(string $path)
Get a resource to read the file.
in
FilesystemDecorator at line 116
mixed
readStreamRange(string $path, int|null $start, int|null $end)
Get a resource to read part of the file.
in
FilesystemAdapter at line 766
protected array
normalizeStreamRange(int|null $start, int|null $end)
Normalize and validate byte-range stream arguments.
in
FilesystemDecorator at line 165
bool
writeStream(string $path, mixed $resource, array $options = [])
Write a new file using a stream.
in
CloudFilesystemDecorator at line 14
string
url(string $path)
Get the URL for the file at the given path.
in
FilesystemAdapter at line 836
protected string
getFtpUrl(string $path)
Get the URL for the file at the given path.
in
FilesystemAdapter at line 846
protected string
getLocalUrl(string $path)
Get the URL for the file at the given path.
in
FilesystemAdapterDecorator at line 86
bool
providesTemporaryUrls()
Determine if temporary URLs can be generated.
in
FilesystemAdapterDecorator at line 94
bool
providesTemporaryUploadUrls()
Determine if temporary upload URLs can be generated.
in
FilesystemAdapterDecorator at line 102
string
temporaryUrl(string $path, DateTimeInterface $expiration, array $options = [])
Get a temporary URL for the file at the given path.
in
FilesystemAdapterDecorator at line 110
array|string
temporaryUploadUrl(string $path, DateTimeInterface $expiration, array $options = [])
Get a temporary upload URL for the file at the given path.
in
FilesystemAdapter at line 930
protected string
encodeUrlPath(string $path)
Encode a path for use in a URL.
in
FilesystemAdapter at line 938
protected string
concatPathToUrl(string $url, string $path)
Encode and concatenate a path to a URL.
in
FilesystemAdapter at line 946
protected UriInterface
replaceBaseUrl(UriInterface $uri, string $url)
Replace the scheme, host and port of the given UriInterface with values from the given URL.
in
FilesystemDecorator at line 289
array
files(string|null $directory = null, bool $recursive = false)
Get an array of all files in a directory.
in
FilesystemDecorator at line 297
array
allFiles(string|null $directory = null)
Get all of the files from the given directory recursively.
in
FilesystemDecorator at line 305
array
directories(string|null $directory = null, bool $recursive = false)
Get all of the directories within a given directory.
in
FilesystemDecorator at line 313
array
allDirectories(string|null $directory = null)
Get all of the directories recursively.
in
FilesystemDecorator at line 321
bool
makeDirectory(string $path)
Create a directory.
in
FilesystemDecorator at line 329
bool
deleteDirectory(string $directory)
Recursively delete a directory.
in
FilesystemAdapter at line 1054
FilesystemOperator
getDriver()
Get the Flysystem driver.
in
FilesystemAdapter at line 1062
FilesystemAdapter
getAdapter()
Get the Flysystem adapter.
in
FilesystemAdapter at line 1070
array
getConfig()
Get the configuration values.
in
FilesystemAdapter at line 1080
protected string|null
parseVisibility(string|null $visibility)
Parse the given visibility value.
in
FilesystemAdapter at line 1099
void
serveUsing(Closure|null $callback)
Define a custom callback that generates file download responses.
Boot-only. The callback persists on the cached disk adapter for the worker lifetime and runs on every subsequent serve() call for that disk.
in
FilesystemAdapterDecorator at line 122
void
buildTemporaryUrlsUsing(Closure|null $callback)
Define a custom temporary URL builder callback.
Boot-only. The callback persists on the cached disk adapter for the worker lifetime and runs on every subsequent temporary URL generation for that disk.
in
FilesystemAdapterDecorator at line 134
void
buildTemporaryUploadUrlsUsing(Closure|null $callback)
Define a custom temporary upload URL builder callback.
Boot-only. The callback persists on the cached disk adapter for the worker lifetime and runs on every subsequent temporary upload URL generation for that disk.
in
FilesystemAdapter at line 1131
protected Closure|null
prepareTemporaryUrlCallback(Closure|null $callback)
Prepare a temporary URL callback for direct invocation.
in
FilesystemAdapter at line 1150
protected bool
throwsExceptions()
Determine if Flysystem exceptions should be thrown.
in
FilesystemAdapter at line 1160
protected void
report(Throwable $exception)
Report the exception.
in
FilesystemAdapter at line 1170
protected bool
shouldReport()
Determine if Flysystem exceptions should be reported.
in
FilesystemAdapter at line 1178
static void
flushState()
Flush all static state.
at line 38
mixed
readStreamRangeOrFail(string $path, int|null $start = null, int|null $end = null)
Open a whole-object or ranged stream without applying the disk's failure policy.
in
AwsS3V3Adapter at line 227
S3Client
getClient()
Get the underlying S3 client.
in
FilesystemDecorator at line 46
protected mixed
withSentry(string $method, array $args, string|null $description, array $data)
Execute the method on the underlying filesystem and wrap it with tracing and log a breadcrumb.
in
FilesystemDecorator at line 251
protected bool
transferToDisk(string $method, Filesystem|string|UnitEnum $disk, string $from, string|null $to)
Trace a transfer while preserving the wrapped disk's identity check.
in
FilesystemDecorator at line 337
Filesystem
getFilesystem()
Get the wrapped filesystem.
in
FilesystemDecorator at line 345
bool
invalidatePool()
Invalidate the wrapped filesystem's pool when supported.
in
FilesystemDecorator at line 356
protected array
getDescriptionAndDataForPathOrPaths(array|string $pathOrPaths)
Get the description and data for one or more paths.