~/runtimelab $ cat ./uploadserver-go/README
Resumable uploads (Go)
A four-gigabyte upload that fails at 97% and starts again is the reason resumable protocols exist. Build the server side: a session opened from a manifest, chunks accepted in any order and written at their exact offsets, a progress endpoint that says what is still missing, eight clients at once with one in ten chunks corrupt, a whole-file checksum that seals the session — and a process that is killed mid-transfer and comes back knowing exactly what it already has.
what you end up with
A resumable chunked upload server
- stages
- 7
- estimated
- 5–8 h
- level
- Intermediate
- track
- Backend Engineering
- language
- Go
- a session opened from a manifest
- PATCH with Upload-Offset, the way tus does it
- WriteAt, sparse files and out-of-order arrival
- what is still missing, and how a client asks
- eight clients, one file, one lock per upload
- a whole-file checksum, and sealing the session
- surviving SIGKILL mid-transfer
The stage list opens once you sign in — it is the challenge, not the pitch. Signing in is free, and the first stages of every challenge are too.