tus-java-client icon indicating copy to clipboard operation
tus-java-client copied to clipboard

TusUpload should have mandatory fields.

Open klawyMarcin opened this issue 5 years ago • 1 comments

Field "size" in TusUpload should be mandatory when using streams. I didn't provide it and upload worked BUT on receiver side there was a problem with object UploadInfo (method uploadInfo.isUploadInProgress() in particular). Despite upload being finished isUploadInProgress showed "true". Moreover on client side field is named size, and on server side it's called length. It's a bit misleading.

As a solution I propose to remove no arguments constructor and replace it with constructor, that accepts all required parameters. Or to use builder that throws exceptions if not all mandatory field combinations are provided.

klawyMarcin avatar Jun 15 '20 15:06 klawyMarcin

Thank you for the feedback and the recommendations! Frankly, I have never thought about that.

As a solution I propose to remove no arguments constructor and replace it with constructor, that accepts all required parameters.

That's a good idea! Would you be willing to open a PR for this?

Acconut avatar Jun 19 '20 15:06 Acconut

We will address this in the next major release: https://github.com/tus/tus-java-client/issues/78

Acconut avatar Jan 17 '23 12:01 Acconut