feat: add Http effect to C backend

Implement HTTP client using POSIX sockets:
- Http.get(url) - GET request
- Http.post(url, body) - POST request
- Http.put(url, body) - PUT request
- Http.delete(url) - DELETE request

Features:
- Self-contained implementation (no libcurl dependency)
- URL parsing for host, port, and path
- HTTP/1.1 protocol with Connection: close
- Response body extraction

All Http operations use evidence passing for handler customization.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
2026-02-14 12:14:06 -05:00
parent 3c7d72f663
commit 2a2c6d2760
2 changed files with 200 additions and 3 deletions

View File

@@ -301,11 +301,15 @@ Implemented C versions of:
All effects use evidence passing for handler customization.
### Phase 3: Http Effect
### Phase 3: Http Effect ✅ COMPLETE
Implement HTTP client:
HTTP client using POSIX sockets:
- `Http.get(url)` - GET request
- `Http.post(url, body)` - POST request
- `Http.put(url, body)` - PUT request
- `Http.delete(url)` - DELETE request
Self-contained implementation (no external dependencies like libcurl).
### Phase 5: JavaScript Backend