将 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 流。
我正在使用 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 流。