Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

How to enable checksum? #81

Closed
alexandrevicenzi opened this issue Dec 12, 2016 · 5 comments
Closed

How to enable checksum? #81

alexandrevicenzi opened this issue Dec 12, 2016 · 5 comments

Comments

@alexandrevicenzi
Copy link

alexandrevicenzi commented Dec 12, 2016

Hi,

Looking into the code and the go docs I couldn't figure out how to enable checksum extension.

The only place that mention this extension is the specification.

Is this supported by tusd? How can I enable ou start implementing this?

@Acconut
Copy link
Member

Acconut commented Dec 13, 2016

As you correctly noticed, tusd does not support this extension. The reason is that it requires the upload to be stored somewhere in between while you are calculating the checksum, resulting in a far worse efficiency, in particular for larger uploads. Furthermore, the use case for checksums are rather special and there we did not saw an urge for this. Would you mind talking about your reasons here?

Anyways, implementing this is probably not the easiest but doable. You would have to store the uploading chunk in a temporary file while you calculate the checksum and only after verifying its integrity, you may pass the chunk to the actual data store. However, I am always open to provide help to you.

@alexandrevicenzi
Copy link
Author

I understand your point.

The main reason is to validate if the uploaded file is the same that was sent. So if not we could re-upload the file/part.

This is not a big deal, it's more a question.

By the way, I'm implementing Tus client in Go. I couldn't find any. It's almost done. How could I add it to the docs?

@Acconut
Copy link
Member

Acconut commented Dec 13, 2016

This is not a big deal, it's more a question.

That's good to hear. But I will still sink some thoughts into how we could implement this.

By the way, I'm implementing Tus client in Go. I couldn't find any. It's almost done. How could I add it to the docs?

That's awesome, thank you. Feel free to open an issue in the tus.io repository (https://github.com/tus/tus.io/issues) and we take care of adding it to the list.

@alexandrevicenzi
Copy link
Author

Thanks.

@Acconut
Copy link
Member

Acconut commented Dec 14, 2016

Since the original question has been answered, I will close this issue, but feel free to continue commenting if you want to add something to the discussion.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants