ReactiveSSE is a ReactiveSwift.SignalProducer
acting as Server-Sent Events (SSE) parser.
https://www.w3.org/TR/eventsource/
SSE stream is buffered and parsed in a background queue and can be observed via its signal.
let sse = ReactiveSSE(urlRequest: URLRequest(url: URL(string: endpoint)!))
sse.producer.observe(on: QueueScheduler.main).startWithValues { (v: SSEvent) in
v.type // String: "message", "update", or whatever
v.data // String: json payload string, any value string, or whatever
}
To run the example project, clone the repo, and run pod install
from the Example directory first.
ReactiveSSE is available through CocoaPods. To install it, simply add the following line to your Podfile:
pod 'ReactiveSSE'
@banjun
ReactiveSSE is available under the MIT license. See the LICENSE file for more info.