Closed
Description
Issue Info
Info | Value |
---|---|
Platform Name | flutter |
Platform Version | 2.5 |
Dio Version | 4.0.0 |
Android Studio | 4.1 |
Issue Description
I was trying to subscribe to server sent event(SSE) stream. I was able to connect to the stream using this code which uses HTTP package. It works totally as expected and returns steam of data. But generally I use Dio package. Hence I wanted to implement the same using dio flutter. But unfortunately I'm unable to do that.
subscribe() async {
print("Subscribing..");
try {
_client = http.Client();
var request = new http.Request("GET", Uri.parse("http://192.168.1.11:8080/myserver/events"));
request.headers["Cache-Control"] = "no-cache";
request.headers["Accept"] = "text/event-stream";
Future<http.StreamedResponse> response = _client.send(request);
print("Subscribed!");
response.asStream().listen((streamedResponse) {
print("Received streamedResponse.statusCode:${streamedResponse.statusCode}");
streamedResponse.stream.listen((data) {
print("Received data:${utf8.decode(data)}");
});
});
} catch(e) {
print("Caught $e");
}
}
This is what I tried with Dio package. But this returns 404 request not found. Mostly I'm not able to figure out how do I get a StreamedResponse using dio package.
var response = dio.request(url, options: Options(headers: {"Accept": "*/*", "Cache-Control": "no-cache"}));
print("Subscribed!");
response.asStream().listen((streamedResponse) {
print("Received streamedResponse.statusCode:${streamedResponse.statusCode}");
print("data:----------------------> ${streamedResponse.data}");
});
I did search for example implementing SSE streams using dio but, I'm unable to find it.
Metadata
Metadata
Assignees
Labels
No labels