Begrenzte HTTP-Ausführungsengine im privaten Proxy implementieren #8

Closed
opened 2026-07-17 09:05:49 +02:00 by frank · 1 comment
Owner

Teil von #1. Blockiert durch den Tunnel-Lifecycle.

Ziel

Webrequests werden ausschließlich im privaten Proxy mit reproduzierbarem Verhalten und harten Ressourcenlimits ausgeführt.

Scope

  • Eigene, wiederverwendete http.Client-/Transport-Instanz; keine Verwendung von http.DefaultClient.
  • Unterstützte Methoden mindestens GET, HEAD, POST, PUT, PATCH und DELETE.
  • URL, Header und optionaler Body aus dem Tunnel-Request.
  • Explizite Timeouts für DNS, TCP Connect, TLS Handshake, Response Header und Gesamtrequest.
  • Context-Cancel aus dem Tunnel bis in net/http propagieren.
  • Redirect-Verhalten mit Maximalzahl und erneuter Zielprüfung bei jedem Hop.
  • Antwortmodell: finale URL, Status, ausgewählte Header, Body, Content-Type, Dauer und Truncation-Flag.
  • Binärdaten sicher und eindeutig transportieren, zum Beispiel als Base64 mit Encoding-Kennzeichnung.
  • Harte Limits für Request-Body, Response-Body und dekomprimierte Antwortgröße.
  • Hop-by-hop Header sowie Host/Content-Length konsistent behandeln.
  • Verbindungspooling sinnvoll konfigurieren und Idle-Verbindungen beim Shutdown schließen.
  • HTTP-Fehlerstatus sind erfolgreiche Transportantworten; Netzwerk-/Policyfehler sind typisierte Fehler.

Akzeptanzkriterien

  • Unit-/Integrationstests mit httptest decken alle Methoden, Redirects, Kompression, Binärdaten, Timeout, Cancel und Truncation ab.
  • Große oder endlose Responses können den Speicher nicht unbeschränkt erhöhen.
  • Ein 404/500 wird mit Status und Body zurückgegeben und nicht als Tunneldefekt behandelt.
  • Request-Body wird streamingfähig oder strikt begrenzt verarbeitet.
  • Fehler sind stabil kategorisiert und für MCP-Tool-Ergebnisse nutzbar.

Referenzen

Teil von #1. Blockiert durch den Tunnel-Lifecycle. ## Ziel Webrequests werden ausschließlich im privaten Proxy mit reproduzierbarem Verhalten und harten Ressourcenlimits ausgeführt. ## Scope - Eigene, wiederverwendete http.Client-/Transport-Instanz; keine Verwendung von http.DefaultClient. - Unterstützte Methoden mindestens GET, HEAD, POST, PUT, PATCH und DELETE. - URL, Header und optionaler Body aus dem Tunnel-Request. - Explizite Timeouts für DNS, TCP Connect, TLS Handshake, Response Header und Gesamtrequest. - Context-Cancel aus dem Tunnel bis in net/http propagieren. - Redirect-Verhalten mit Maximalzahl und erneuter Zielprüfung bei jedem Hop. - Antwortmodell: finale URL, Status, ausgewählte Header, Body, Content-Type, Dauer und Truncation-Flag. - Binärdaten sicher und eindeutig transportieren, zum Beispiel als Base64 mit Encoding-Kennzeichnung. - Harte Limits für Request-Body, Response-Body und dekomprimierte Antwortgröße. - Hop-by-hop Header sowie Host/Content-Length konsistent behandeln. - Verbindungspooling sinnvoll konfigurieren und Idle-Verbindungen beim Shutdown schließen. - HTTP-Fehlerstatus sind erfolgreiche Transportantworten; Netzwerk-/Policyfehler sind typisierte Fehler. ## Akzeptanzkriterien - Unit-/Integrationstests mit httptest decken alle Methoden, Redirects, Kompression, Binärdaten, Timeout, Cancel und Truncation ab. - Große oder endlose Responses können den Speicher nicht unbeschränkt erhöhen. - Ein 404/500 wird mit Status und Body zurückgegeben und nicht als Tunneldefekt behandelt. - Request-Body wird streamingfähig oder strikt begrenzt verarbeitet. - Fehler sind stabil kategorisiert und für MCP-Tool-Ergebnisse nutzbar. ## Referenzen - Go net/http: https://pkg.go.dev/net/http - Go HTTP client/server timeouts: https://pkg.go.dev/net/http
Author
Owner

🤖 forge agent started

  • Agent: codex
  • Model: gpt-5.6-sol
  • Mode: pr
  • Trigger: assignee=agent|+5 mapped

Begrenzte HTTP-Ausführungsengine im privaten Proxy implementieren — Teil von #1. Blockiert durch den Tunnel-Lifecycle.

🤖 **forge agent started** - Agent: `codex` - Model: `gpt-5.6-sol` - Mode: `pr` - Trigger: `assignee=agent|+5 mapped` Begrenzte HTTP-Ausführungsengine im privaten Proxy implementieren — Teil von #1. Blockiert durch den Tunnel-Lifecycle.
frank 2026-07-17 12:44:21 +02:00
Sign in to join this conversation.
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Reference
ai-tools/private-proxy-mcp#8
No description provided.