absinthe_plug
absinthe_plug copied to clipboard
feat: Add Server-Sent Events transport for incremental delivery
Summary
This PR adds Server-Sent Events (SSE) transport support to absinthe_plug for incremental delivery with @defer and @stream directives.
⚠️ DEPENDENCY NOTICE
This PR depends on gigsmart/absinthe#gigmart/defer-stream-incremental
The main absinthe package must be merged first before this PR can be merged.
Features
- Server-Sent Events (SSE) adapter for HTTP streaming
- Multipart response format support
- Proper chunked transfer encoding
- Graceful connection handling
Implementation
Absinthe.Plug.Incremental.SSE- SSE transport adapter- Event stream formatting
- Connection lifecycle management
Testing
- SSE protocol compliance
- Chunked encoding validation
- Connection recovery scenarios
Breaking Changes
None - incremental delivery is opt-in and backward compatible.