Skip to content
scalive
Menu
ConnectingLiveReconnectingOffline
GitHub
t

LiveUploadExternalUploader

trait LiveUploadExternalUploader[Result]

Prepares direct browser uploads to an external service.

Scalive does not receive or inspect the uploaded bytes. Browser metadata and completion progress are untrusted, so consume callbacks should verify the external object, including authorization, expected size, media type, and integrity as appropriate, before returning Consume.

Type parameters

Result

the server-side handle retained for a prepared external upload

Exported from scalive.upload.LiveUploadExternalUploader. View source (scalive/api/src/scalive/upload/LiveUpload.scala:642-659)

Methods2

discard

def discard(result: Result): zio.package.Task[Unit]

Releases a prepared result abandoned before application code consumes it.

Override this when preflight reserves a temporary object, multipart upload, or other external resource. It is not called after Consume. The default performs no cleanup.

Exported from scalive.upload.LiveUploadExternalUploader.discard. View source (scalive/api/src/scalive/upload/LiveUpload.scala:657-659)

preflight

def preflight(client: UploadClientMetadata): zio.package.Task[LiveExternalUploadResult[Result]]

Authorizes and prepares one entry.

A failed effect is reported as ExternalClientFailure. The supplied metadata is client-controlled. If preparation reserves a resource but does not return Ready, it must release that resource itself because Scalive has no Result to pass to discard.

Exported from scalive.upload.LiveUploadExternalUploader.preflight. View source (scalive/api/src/scalive/upload/LiveUpload.scala:650-650)