Skip to content

WIP feat: Implement IETF Resumable Uploads for HTTP (RUFH) Protocol#105

Open
tomdesair wants to merge 10 commits into
masterfrom
feature/ietf-resumable-uploads
Open

WIP feat: Implement IETF Resumable Uploads for HTTP (RUFH) Protocol#105
tomdesair wants to merge 10 commits into
masterfrom
feature/ietf-resumable-uploads

Conversation

@tomdesair

@tomdesair tomdesair commented Jul 4, 2026

Copy link
Copy Markdown
Owner

This pull request implements full support for the official IETF Resumable Uploads for HTTP (RUFH) protocol (draft-ietf-httpbis-resumable-upload-11) in tus-java-server.

Key Features Added:

  1. Dual Protocol Auto-Detection: Transparently auto-detects and routes requests from both legacy Tus 1.0.0 and RUFH clients on the same endpoints without configuration changes.
  2. RFC 9651 Structured Headers: Added RFC 9651 structured headers parsing and formatting for key headers like Upload-Offset, Upload-Complete, Upload-Length, and Upload-Limit.
  3. RFC 7807 Problem Details: Implemented immutable problem details mapping for clean structured JSON error responses (application/problem+json) detailing mismatching offsets, completed upload access, or inconsistent length errors.
  4. Lock Contention Resolution: Fully integrated RUFH creation and append request payload streaming with InterruptibleInputStream registered with UploadLockingService to cleanly handle concurrent access to the same resource.
  5. Comprehensive Compliance & Security Test Suites: Added new validator and handler-level unit tests, cross-tenant check validations, and verified that all 7 RUFH conformity tests pass.

Documentation:

  • Updated the README.md to reference the official specification.
  • Added docs/MIGRATION.md detailing migration instructions.
  • Added docs/CONFORMITY_TESTING.md detailing RUFH conformity suite execution.

Related Issues:

@coveralls

coveralls commented Jul 4, 2026

Copy link
Copy Markdown

Coverage Status

coverage: 95.729% (+0.9%) from 94.813% — feature/ietf-resumable-uploads into master

@tomdesair tomdesair changed the title feat: Implement IETF Resumable Uploads for HTTP (RUFH) Protocol WIP feat: Implement IETF Resumable Uploads for HTTP (RUFH) Protocol Jul 6, 2026
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

Successfully merging this pull request may close these issues.

2 participants