You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
Chris Lu
3151085f5a
Phase 1+3: HTTP core fixes and gRPC maintenance/error parity
HTTP improvements (36/55 tests pass, up from 16):
- Server header middleware ("SeaweedFS Volume 0.1.0")
- CORS headers (Access-Control-Allow-Origin/Credentials) when Origin present
- OPTIONS handlers with proper Allow-Methods per port
- Unsupported method handling (400 on admin, 200 passthrough on public)
- Request ID echo (x-amz-request-id)
- Static asset endpoints (/favicon.ico, /seaweedfsstatic/*, /ui/index.html)
- Cookie validation on read (404 for mismatch)
- ETag and If-None-Match support (304 Not Modified)
- Last-Modified header (RFC 1123 format) and If-Modified-Since (304)
- Conditional header precedence matching Go (IMS before INM)
- Range requests (206 Partial Content, multipart/byteranges)
- Oversized combined ranges return 200 empty (matching Go)
- Content-Disposition for ?dl=true downloads
- response-content-type and response-cache-control query params
- JWT extraction from query param, header, and cookie (precedence)
- Dedup detection fix (match Go: compare cookie+checksum+data only)
- Set last_modified timestamp on HTTP writes
- Delete returns JSON body, cookie mismatch returns 400
- Status JSON format matches Go (Version, Volumes, DiskStatuses)
gRPC improvements:
- Maintenance mode (GetState/SetState with optimistic concurrency)
- Maintenance checks on write operations
- VolumeUnmount idempotency (success for missing volume)
- Ping target routing
- VolumeConfigure error in response field (not gRPC error)
- VolumeNeedleStatus error format parity
- VolumeServerStatus memory_status field
- Error message format parity ("not found volume id")
|
7 days ago |
| .. |
|
admin_script_handler.go
|
Plugin scheduler: sequential iterations with max runtime (#8496)
|
1 week ago |
|
admin_script_handler_test.go
|
add admin script worker (#8491)
|
1 week ago |
|
erasure_coding_handler.go
|
Plugin scheduler: sequential iterations with max runtime (#8496)
|
1 week ago |
|
erasure_coding_handler_test.go
|
Make EC detection context aware (#8449)
|
2 weeks ago |
|
vacuum_handler.go
|
Plugin scheduler: sequential iterations with max runtime (#8496)
|
1 week ago |
|
vacuum_handler_test.go
|
fix(plugin/worker): make VacuumHandler report MaxExecutionConcurrency from worker startup flag (#8435)
|
2 weeks ago |
|
volume_balance_handler.go
|
Plugin scheduler: sequential iterations with max runtime (#8496)
|
1 week ago |
|
volume_balance_handler_test.go
|
Refactor plugin system and migrate worker runtime (#8369)
|
3 weeks ago |
|
volume_metrics.go
|
Worker set its working directory (#8461)
|
2 weeks ago |
|
worker.go
|
Refactor plugin system and migrate worker runtime (#8369)
|
3 weeks ago |
|
worker_test.go
|
Refactor plugin system and migrate worker runtime (#8369)
|
3 weeks ago |