Просмотр исходного кода

fix: (#765) set X-Accel-Buffering header to disable nginx buffering for event stream

jamesread 5 месяцев назад
Родитель
Сommit
e96270046e
1 измененных файлов с 4 добавлено и 0 удалено
  1. 4 0
      service/internal/api/api.go

+ 4 - 0
service/internal/api/api.go

@@ -723,6 +723,10 @@ func (api *oliveTinAPI) GetReadyz(ctx ctx.Context, req *connect.Request[apiv1.Ge
 func (api *oliveTinAPI) EventStream(ctx ctx.Context, req *connect.Request[apiv1.EventStreamRequest], srv *connect.ServerStream[apiv1.EventStreamResponse]) error {
 	log.Debugf("EventStream: %v", req.Msg)
 
+	// Set X-Accel-Buffering header to disable nginx buffering for this stream
+	// https://github.com/OliveTin/OliveTin/issues/765
+	srv.ResponseHeader().Set("X-Accel-Buffering", "no")
+
 	user := auth.UserFromApiCall(ctx, req, api.cfg)
 
 	if err := api.checkDashboardAccess(user); err != nil {