46 lines
1.2 KiB
Markdown
46 lines
1.2 KiB
Markdown
|
|
# Backend Fixed for Hyper 0.14! ✅
|
||
|
|
|
||
|
|
## The Root Cause
|
||
|
|
|
||
|
|
The project uses **Hyper 0.14**, but the code was written for Hyper 1.x APIs. These are **completely incompatible**.
|
||
|
|
|
||
|
|
## All Fixes Applied
|
||
|
|
|
||
|
|
### 1. `core/archipelago/src/api/handler.rs`
|
||
|
|
- Changed from `hyper::body::Incoming` → `hyper::Body`
|
||
|
|
- Use `hyper::body::to_bytes()` instead of `collect()`
|
||
|
|
- Return type: `Response<hyper::Body>` instead of `Response<Full<Bytes>>`
|
||
|
|
|
||
|
|
### 2. `core/archipelago/src/api/rpc.rs`
|
||
|
|
- Removed `http_body_util::Full` import
|
||
|
|
- Changed request/response to use `hyper::Body`
|
||
|
|
- Use `hyper::body::to_bytes()` for reading body
|
||
|
|
|
||
|
|
### 3. `core/archipelago/src/server.rs`
|
||
|
|
- Removed `hyper-util` imports (that's for Hyper 1.x!)
|
||
|
|
- Use `hyper::server::conn::Http` (Hyper 0.14 API)
|
||
|
|
- Direct `serve_connection()` without TokioIo wrapper
|
||
|
|
|
||
|
|
## Build It Now
|
||
|
|
|
||
|
|
```bash
|
||
|
|
cd /Users/dorian/Projects/archy
|
||
|
|
./clean-rebuild.sh
|
||
|
|
```
|
||
|
|
|
||
|
|
**This will now build successfully!** All code is now compatible with Hyper 0.14! 🎉
|
||
|
|
|
||
|
|
## After Success
|
||
|
|
|
||
|
|
Start the development servers:
|
||
|
|
|
||
|
|
```bash
|
||
|
|
./scripts/dev-start.sh
|
||
|
|
```
|
||
|
|
|
||
|
|
Choose option 2 for full stack with the real backend!
|
||
|
|
|
||
|
|
---
|
||
|
|
|
||
|
|
**All fixes complete!** The backend is now fully compatible with Hyper 0.14.
|