@@ -68,60 +68,77 @@ public actor Client<InitPayload: Equatable & Codable> {
6868
6969 switch response. type {
7070 case . GQL_CONNECTION_ERROR:
71- guard
72- let connectionErrorResponse = try ? decoder. decode (
71+ let connectionErrorResponse : ConnectionErrorResponse
72+ do {
73+ connectionErrorResponse = try decoder. decode (
7374 ConnectionErrorResponse . self,
7475 from: message
7576 )
76- else {
77+ } catch {
7778 try await messenger. error (
78- . invalidResponseFormat( messageType: . GQL_CONNECTION_ERROR)
79+ . invalidResponseFormat( messageType: . GQL_CONNECTION_ERROR, error : error )
7980 )
8081 return
8182 }
8283 try await onConnectionError ( connectionErrorResponse, self )
8384 case . GQL_CONNECTION_ACK:
84- guard
85- let connectionAckResponse = try ? decoder. decode (
85+ let connectionAckResponse : ConnectionAckResponse
86+ do {
87+ connectionAckResponse = try decoder. decode (
8688 ConnectionAckResponse . self,
8789 from: message
8890 )
89- else {
91+ } catch {
9092 try await messenger. error (
91- . invalidResponseFormat( messageType: . GQL_CONNECTION_ERROR)
93+ . invalidResponseFormat( messageType: . GQL_CONNECTION_ERROR, error : error )
9294 )
9395 return
9496 }
9597 try await onConnectionAck ( connectionAckResponse, self )
9698 case . GQL_CONNECTION_KEEP_ALIVE:
97- guard
98- let connectionKeepAliveResponse = try ? decoder. decode (
99+ let connectionKeepAliveResponse : ConnectionKeepAliveResponse
100+ do {
101+ connectionKeepAliveResponse = try decoder. decode (
99102 ConnectionKeepAliveResponse . self,
100103 from: message
101104 )
102- else {
105+ } catch {
103106 try await messenger. error (
104- . invalidResponseFormat( messageType: . GQL_CONNECTION_KEEP_ALIVE)
107+ . invalidResponseFormat( messageType: . GQL_CONNECTION_KEEP_ALIVE, error : error )
105108 )
106109 return
107110 }
108111 try await onConnectionKeepAlive ( connectionKeepAliveResponse, self )
109112 case . GQL_DATA:
110- guard let nextResponse = try ? decoder. decode ( DataResponse . self, from: message) else {
111- try await messenger. error ( . invalidResponseFormat( messageType: . GQL_DATA) )
113+ let dataResponse : DataResponse
114+ do {
115+ dataResponse = try decoder. decode ( DataResponse . self, from: message)
116+ } catch {
117+ try await messenger. error (
118+ . invalidResponseFormat( messageType: . GQL_DATA, error: error)
119+ )
112120 return
113121 }
114- try await onData ( nextResponse , self )
122+ try await onData ( dataResponse , self )
115123 case . GQL_ERROR:
116- guard let errorResponse = try ? decoder. decode ( ErrorResponse . self, from: message) else {
117- try await messenger. error ( . invalidResponseFormat( messageType: . GQL_ERROR) )
124+ let errorResponse : ErrorResponse
125+ do {
126+ errorResponse = try decoder. decode ( ErrorResponse . self, from: message)
127+ } catch {
128+ try await messenger. error (
129+ . invalidResponseFormat( messageType: . GQL_ERROR, error: error)
130+ )
118131 return
119132 }
120133 try await onError ( errorResponse, self )
121134 case . GQL_COMPLETE:
122- guard let completeResponse = try ? decoder. decode ( CompleteResponse . self, from: message)
123- else {
124- try await messenger. error ( . invalidResponseFormat( messageType: . GQL_COMPLETE) )
135+ let completeResponse : CompleteResponse
136+ do {
137+ completeResponse = try decoder. decode ( CompleteResponse . self, from: message)
138+ } catch {
139+ try await messenger. error (
140+ . invalidResponseFormat( messageType: . GQL_COMPLETE, error: error)
141+ )
125142 return
126143 }
127144 try await onComplete ( completeResponse, self )
0 commit comments