Skip to content
scalive
Menu
ConnectingLiveReconnectingOffline
GitHub
o

LiveUploadDef

object LiveUploadDef

Factories and validation for LiveUploadDef.

Exported from scalive.upload.LiveUploadDef. View source (scalive/api/src/scalive/upload/LiveUpload.scala:801-958)

Methods4

external

def external[Result](name: String, accept: LiveUploadAccept, uploader: LiveUploadExternalUploader[Result], maxEntries: Int = ..., maxFileSize: Long = ..., chunkSize: Int = ..., chunkTimeout: zio.package.Duration = ..., autoUpload: Boolean = ..., progress: Option[LiveUploadProgress[Result]] = ..., maxEntriesMode: LiveUploadMaxEntriesMode = ..., validator: Option[UploadClientMetadata => Option[String]] = ...): LiveUploadDef[Result]

Defines an upload transferred directly from the browser through uploader.

Defaults are one entry, an 8,000,000-byte browser-reported per-entry limit, 64,000-byte chunks, a 10-second chunk timeout, manual upload, and no progress callback. The external service and consume callback remain responsible for server-side validation of the resulting object.

Throws

IllegalArgumentException

if name is empty, a numeric limit is not positive, or chunkTimeout is invalid

Exported from scalive.upload.LiveUploadDef.external. View source (scalive/api/src/scalive/upload/LiveUpload.scala:882-907)

hosted

def hosted[State, Result](name: String, accept: LiveUploadAccept, writer: LiveUploadWriter[State, Result], maxEntries: Int = ..., maxFileSize: Long = ..., chunkSize: Int = ..., chunkTimeout: zio.package.Duration = ..., autoUpload: Boolean = ..., progress: Option[LiveUploadProgress[Result]] = ..., maxEntriesMode: LiveUploadMaxEntriesMode = ..., validator: Option[UploadClientMetadata => Option[String]] = ...): LiveUploadDef[Result]

Defines an upload whose bytes pass through the Scalive server to writer.

Defaults are one entry, an 8,000,000-byte per-entry limit, 64,000-byte chunks, a 10-second chunk timeout, manual upload, and no progress callback.

Throws

IllegalArgumentException

if name is empty, a numeric limit is not positive, or chunkTimeout is invalid

Exported from scalive.upload.LiveUploadDef.hosted. View source (scalive/api/src/scalive/upload/LiveUpload.scala:845-870)

inMemory

def inMemory(name: String, accept: LiveUploadAccept, maxEntries: Int = ..., maxFileSize: Long = ..., chunkSize: Int = ..., chunkTimeout: zio.package.Duration = ..., autoUpload: Boolean = ..., progress: Option[LiveUploadProgress[zio.Chunk[Byte]]] = ..., maxEntriesMode: LiveUploadMaxEntriesMode = ..., validator: Option[UploadClientMetadata => Option[String]] = ...): LiveUploadDef[zio.Chunk[Byte]]

Defines an upload buffered entirely in server memory.

Defaults are one entry, an 8,000,000-byte per-entry limit, 64,000-byte chunks, a 10-second chunk timeout, manual upload, and no progress callback. This factory has the resource caveats of inMemory.

Throws

IllegalArgumentException

if name is empty, a numeric limit is not positive, or chunkTimeout is invalid

Exported from scalive.upload.LiveUploadDef.inMemory. View source (scalive/api/src/scalive/upload/LiveUpload.scala:811-835)

validated

def validated[Result](name: String, accept: LiveUploadAccept, destination: LiveUploadDestination[Result], maxEntries: Int = ..., maxFileSize: Long = ..., chunkSize: Int = ..., chunkTimeout: zio.package.Duration = ..., autoUpload: Boolean = ..., progress: Option[LiveUploadProgress[Result]] = ..., maxEntriesMode: LiveUploadMaxEntriesMode = ..., validator: Option[UploadClientMetadata => Option[String]] = ...): Either[IllegalArgumentException, LiveUploadDef[Result]]

Validates and creates a definition for an already selected destination.

Validation rejects an empty name; non-positive maxEntries, maxFileSize, or chunkSize; and a chunkTimeout that is non-positive or exceeds Int.MaxValue milliseconds. Positive sub-millisecond durations pass validation and are truncated to zero on the protocol. Names and other values are not normalized. Defaults match the eager factory methods.

Exported from scalive.upload.LiveUploadDef.validated. View source (scalive/api/src/scalive/upload/LiveUpload.scala:916-957)