Skip to content

Commit b7f8568

Browse files
committed
Publish messages and errors (Service)
1 parent 00174a9 commit b7f8568

File tree

1 file changed

+12
-15
lines changed

1 file changed

+12
-15
lines changed

Sources/ObservableWebSocketClient/Network/ObservableWebSocketService.swift

Lines changed: 12 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -7,12 +7,13 @@
77

88
import Foundation
99

10-
@Observable public final class ObservableWebSocketService {
11-
public var session = URLSession(configuration: .default)
10+
public final class ObservableWebSocketService: ObservableObject {
11+
12+
@Published public var message: URLSessionWebSocketTask.Message? = nil
1213

13-
public var message: URLSessionWebSocketTask.Message?
14+
@Published public var error: ObservableWebSocketClientError? = nil
1415

15-
public var error: ObservableWebSocketClientError?
16+
public var session = URLSession(configuration: .default)
1617

1718
private let websocketURL: URL
1819

@@ -28,28 +29,24 @@ import Foundation
2829
// MARK: - Private
2930

3031
private extension ObservableWebSocketService {
31-
32+
33+
func initializeWebSocket() {
34+
webSocketTask = session.webSocketTask(with: websocketURL)
35+
webSocketTask?.resume()
36+
}
37+
3238
func receiveMessage() {
3339
webSocketTask?.receive { result in
3440
switch result {
3541
case .success(let message):
3642
self.message = message
3743
// Listen for the next message.
3844
self.receiveMessage()
39-
45+
4046
case .failure(let error):
4147
let codableError = CodableError(error)
4248
self.error = .receivingMessage(codableError)
4349
}
4450
}
4551
}
4652
}
47-
48-
// MARK: - Private
49-
50-
private extension ObservableWebSocketService {
51-
func initializeWebSocket() {
52-
webSocketTask = session.webSocketTask(with: websocketURL)
53-
webSocketTask?.resume()
54-
}
55-
}

0 commit comments

Comments
 (0)