TestsTested | ✗ |
LangLanguage | SwiftSwift |
License | MIT |
ReleasedLast Release | Jan 2018 |
SwiftSwift Version | 3.0 |
SPMSupports SPM | ✗ |
Maintained by Florian MARI.
LiveGQL is a simple library to use GraphQL Subscribtion on WebSocket based on Apollo Protocol.
The Android version is here
We also use Starscream and JSONCodable, thanks to them
Just copy files in the Source folder!
Important: to not fall out the variable in the scope, please instantiate above your viewDidLoad() for example.
import LiveGQL
let gql = LiveGQL(socket: "ws://localhost:7003/feedback")
gql.delegate = self
gql.initServer(connectionParams: nil, reconnect: true)
You can set a Dictionnary[String:String] as connectionParams like for authentification by example.
Just call subscribe method, set an identifier and your subscription query as well.
gql.subscribe(graphql: "subscription {feedbackAdded {id, text}}", identifier: "feed")
You have to implement delegate method, in your main ViewController (for example) just att that
override func viewDidLoad() {
super.viewDidLoad()
gql.delegate = self
// Do any additional setup after loading the view, typically from a nib.
}
Below your class add the folowing extension and implement the method:
extension ViewController: LiveGQLDelegate {
func receivedMessage(text: String) {
print("Received Message: \(text)")
}
}
Just call unsubscribe method and your identifier
gql.unsubscribe(identifier: "feed")
gql.closeConnection()