将 ServiceStack ServerEventsClient 与 Pipedream SSE 一起使用时出现 404 未发现错误 API

404 not found error using ServiceStack ServerEventsClient with Pipedream SSE API

我正在使用 Pipedream 作为数据源,它通过 SSE API.

提供事件数据

按照说明 here,我正在使用以下代码订阅 SSE:

var client = new ServerEventsClient("https://api.pipedream.com/sources/dc_mXugEA/sse")
{
    EventStreamRequestFilter = req => req.AddBearerToken("[MYTOKEN]"),
    OnMessage = message => Console.WriteLine(message.Json)
}.Start();

但是,我收到 System.Net.WebException 消息 'The remote server returned an error: (404) Not Found.'

但是我直接用HttpClient就成功了:

var client = new HttpClient();
client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", "[MYTOKEN]");

using var reader = new StreamReader(await client.GetStreamAsync("https://api.pipedream.com/sources/dc_mXugEA/sse"));
while (!reader.EndOfStream)
{
    Console.WriteLine($"Received message: {await reader.ReadLineAsync()}");
}

当然,我想使用 ServerEventsClient 而不是 HttpClient 来避免样板循环代码。但为什么 ServerEventsClient 在这种情况下不起作用?

ServiceStack 的 Server Events clients only works with ServiceStack’s Server Events 特性,即它不能用于消费第 3 方 SSE 流。