Skip to content

WebSocketPublisher let you use Combine for WebSocket tasks.

License

Notifications You must be signed in to change notification settings

yesleon/WebSocketTaskPublisher

Repository files navigation

WebSocketTaskPublisher

This module let you use Combine for WebSocket tasks.

Usage

let url = URL(string: "wss://example.com")!

self.subscription = URLSession.shared
    .webSocketTaskPublisher(for: url, taskConfigurationHandler: { task in
    
        // Optionally use or retain the generated task here.
        task.send(.string("Something something"))
        task.ping()
        self.webSocketTask = task
    })
    .sink(receiveCompletion: { completion in
        switch completion {
        case .finished:
            break
        case .failure(let error):
        
            // Handle all errors here.
            print(error)
        }
    }, receiveValue: { message in
    
        // Receive all messages here.
        print(message)
    })

About

WebSocketPublisher let you use Combine for WebSocket tasks.

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages