Open RohanDoshi21 opened 5 months ago
The stream writer is attempting to flush events, but the initial response is never received on the client, neither are the subsequent events.
Steps to reproduce the behavior:
recipe
Otelfiber shouldn't block stream writers.
v1.0.10
package main import ( "bufio" "fmt" "log" "time" "github.com/gofiber/contrib/otelfiber" "github.com/gofiber/fiber/v2" "github.com/gofiber/fiber/v2/middleware/cors" "github.com/valyala/fasthttp" ) func main() { // Fiber instance app := fiber.New() // CORS for external resources app.Use(cors.New(cors.Config{ AllowOrigins: "*", AllowHeaders: "Cache-Control", })) app.Use(otelfiber.Middleware( otelfiber.WithServerName("test"), )) app.Get("/sse", func(c *fiber.Ctx) error { c.Set("Content-Type", "text/event-stream") c.Set("Cache-Control", "no-cache") c.Set("Connection", "keep-alive") c.Set("Transfer-Encoding", "chunked") c.Context().SetBodyStreamWriter(fasthttp.StreamWriter(func(w *bufio.Writer) { fmt.Println("WRITER") var i int for { i++ msg := fmt.Sprintf("%d - the time is %v", i, time.Now()) fmt.Fprintf(w, "data: Message: %s\n\n", msg) fmt.Println(msg) w.Flush() time.Sleep(5 * time.Second) } })) return nil }) // Start server log.Fatal(app.Listen(":3000")) }
I also encountered this problem. How can I solve this problem while using otel-fiber?
Bug Description
The stream writer is attempting to flush events, but the initial response is never received on the client, neither are the subsequent events.
How to Reproduce
Steps to reproduce the behavior:
recipe
example LinkExpected Behavior
Otelfiber shouldn't block stream writers.
Contrib package Version
v1.0.10
Code Snippet (optional)
Checklist: