Build Go web servers with Echo framework — HTTP/2, WebSocket, SSE, JWT auth, file handling, TLS, middleware, proxying, and production patterns. Use when building Go HTTP servers or implementing web protocols.
Comprehensive patterns for building production Go web servers with Echo framework.
echo.Context wraps request/response for the entire lifecyclenext(c) pass-through; each must call next(c) unless short-circuiting| Need | Pattern | Reference |
|------|---------|-----------|
| REST API | CRUD handlers + JSON binding | references/examples/cookbook-crud.md |
| Real-time updates | SSE (server-push) | references/examples/cookbook-sse.md |
| Bidirectional real-time | WebSocket | references/examples/cookbook-websocket.md |
| Auth | JWT middleware | references/examples/cookbook-jwt.md |
| File upload | FormFile/MultipartForm | references/examples/cookbook-file-upload.md |
| File download | Attachment/Inline | references/examples/cookbook-file-download.md |
| TLS production | Auto TLS (Let's Encrypt) | references/examples/cookbook-auto-tls.md |
| TLS dev | Manual cert + HTTP/2 | references/examples/cookbook-http2.md |
| Proxy/LB | Proxy middleware | references/examples/cookbook-reverse-proxy.md |
| Production shutdown | Graceful shutdown + context timeout | references/examples/cookbook-graceful-shutdown.md |
| Chunked response | Streaming + Flush | references/examples/cookbook-streaming-response.md |
| Embedded assets | //go:embed + http.FS | references/examples/cookbook-embed-resources.md |
references/examples/core-patterns.mdreferences/examples/cookbook-*.mdreferences/api/guide-*.mdreferences/patterns/middleware-*.mdWhen implementing an Echo server:
HTTPErrorHandler if neededhttptest.NewRecorder() for unit testsLogger must come before Recover so all requests are logged, including recovered panics.
echo.Context is not goroutine-safe. Copy values before launching goroutines.
Must call w.Flush() after each write. Monitor c.Request().Context().Done() for client disconnect.
Handler owns the connection loop after upgrade. Must manage cleanup with defer ws.Close().
Search for places (restaurants, cafes, etc.) via Google Places API proxy on localhost.
Interact with GitHub using the `gh` CLI. Use `gh issue`, `gh pr`, `gh run`, and `gh api` for issues, PRs, CI runs, and advanced queries.
Create or update AgentSkills. Use when designing, structuring, or packaging skills with scripts, references, and assets.
Start voice calls via the OpenClaw voice-call plugin.
Notion API for creating and managing pages, databases, and blocks.
Gemini CLI for one-shot Q&A, summaries, and generation.
Category:developer