Tussle is a mostly spec-compliant server implementation of the tus upload protocol.
Tussle is implemented as a collection of interchangeable modular components, allowing the developer to choose which services that they'd like to integrate with. At the center of a Tussle instance is the Tussle Core, which handles all communication between individual components.
Middleware components handle communication between clients and the Tussle instance.
Tracking state is tricky and often your options are limited by your deployment environment. Tussle state components are modeled after the Web Storage API
Uploaded files have to be stored somewhere, that's the purpose of the storage components.
The request component a responsible for creating outbound HTTP requests and -- when possible/appropriate -- transparently proxy upload payloads, which is determined by the storage component.
If you find this library useful, please consider buying me a coffee as a way of showing your support!