11:30
-
12:00
-
12:00
Day 2
Resilient file uploading with Go
<p>File uploads are a ubiquitous and fundamental part of modern applications. While simple at first, they become increasingly challenging as file sizes grow. Users expect reliable data transfers, even when uploading multi-gigabyte files over unreliable mobile networks.</p>
<p>Conventional file uploads over HTTP fail unrecoverably when the underlying connection is interrupted. Resumable uploads, on the other hand, allow an application to continue uploading a file exactly where it left off. This preserves previously transferred data and greatly improves the user experience.</p>
<p><a href="https://github.com/tus/tusd">Tusd</a> is an open-source file-upload server written in Go that makes it easy to add resumable uploads to any application - even those written in languages other than Go.</p>
<p>This talk explores why Go is a natural fit for such use cases. In particular, we dive into how contexts help coordinate concurrent, long-running HTTP requests, how the net/http package provides fine-grained control over request handling, and how Go’s tooling assists in testing various failure scenarios.</p>
<p>Additional links:
- Tus homepage: https://tus.io/
- Tusd upload server: https://github.com/tus/tusd</p>