Hacktoberfest 2026: los issues que los mantenedores marcaron para octubre, abiertos y aptos para principiantes. Explorar issues de Hacktoberfest

Support subscriptions using SSE (Server-Sent Events) as alternative to websockets

Abierto
#476 1 comentario 2 reacciones 0 asignados Ver en GitHub

Nadie ha tomado este issue todavía.

Evaluación

Dificultad
5/5
Tiempo estimado
Más de una semana
Aptitud para principiantes
25/100
Tipo de issue
Nueva funcionalidad
Claridad
Necesita aclaración
Estado de actividad
Estancado
Stack tecnológico
fsharp
Área
api

Línea de trabajo

Empieza leyendo el GraphQL over Server-Sent Events Protocol enlazado en el issue y el issue relacionado #460; después, compara sus requisitos con la compatibilidad existente del proyecto con las subscriptions. Se considerará terminado cuando el protocolo esté implementado como alternativa a websocket, incluido el comportamiento de autenticación y cancelación, con cobertura para los flujos de subscription compatibles.

Escrito por el modelo de indexación a partir del texto del issue.

Descripción

I propose that support is added for the GraphQL over Server-Sent Events Protocol, like HotChocolate has.

This simplifies authentication, since you can use the same authentication as normal HTTP requests.

I haven't looked at the GraphQL-specific parts of it, but SSE it itself technically very simple. Here is a demo:

Get(
    "/sse-test",
    RequestDelegate(fun (ctx: HttpContext) ->
        task {
            ctx.Response.Headers.Add("Content-Type", "text/event-stream")

            while not ctx.RequestAborted.IsCancellationRequested do
                do!
                    ctx.Response.WriteAsync(
                        $"data: {DateTime.Now}"
                    )

                do! ctx.Response.WriteAsync("\n\n")
                do! ctx.Response.Body.FlushAsync()
                do! Async.Sleep(1000)
        }
    )
)

You can test it by simply opening that endpoint in a browser (at least Edge works fine).

Related: #460

Lenguaje dominante
F#
Estrellas
406
Forks
74
Merge medio
1 d 8 h
PR fusionados (30 d)
14

Guía de contribución

No hay ninguna guía de contribución indexada para este repositorio

Primeros pasos

  1. Lee el issue completo y luego la guía de contribución del proyecto.
  2. Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
  3. Haz un fork del repositorio y trabaja en una rama.
  4. Abre un pull request que haga referencia al número del issue.

Más de fsprojects/FSharp.Data.GraphQL

Todos los issues de fsprojects/FSharp.Data.GraphQL

Issues similares

Más issues de Backend & API Design

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.