@@ -36,7 +36,8 @@ public class WebSocketTransport {
3636 var websocket : ApolloWebSocketClient
3737 var error : Error ? = nil
3838 let serializationFormat = JSONSerializationFormat . self
39-
39+ private let requestCreator : RequestCreator
40+
4041 private final let protocols = [ " graphql-ws " ]
4142
4243 private var acked = false
@@ -52,10 +53,11 @@ public class WebSocketTransport {
5253 fileprivate var sequenceNumber = 0
5354 fileprivate var reconnected = false
5455
55- public init ( request: URLRequest , sendOperationIdentifiers: Bool = false , reconnectionInterval: TimeInterval = 0.5 , connectingPayload: GraphQLMap ? = [ : ] ) {
56+ public init ( request: URLRequest , sendOperationIdentifiers: Bool = false , reconnectionInterval: TimeInterval = 0.5 , connectingPayload: GraphQLMap ? = [ : ] , requestCreator : RequestCreator = ApolloRequestCreator ( ) ) {
5657 self . connectingPayload = connectingPayload
5758 self . sendOperationIdentifiers = sendOperationIdentifiers
5859 self . reconnectionInterval = reconnectionInterval
60+ self . requestCreator = requestCreator
5961
6062 self . websocket = WebSocketTransport . provider. init ( request: request, protocols: protocols)
6163 self . websocket. delegate = self
@@ -192,7 +194,7 @@ public class WebSocketTransport {
192194 }
193195
194196 fileprivate func sendHelper< Operation: GraphQLOperation > ( operation: Operation , resultHandler: @escaping ( _ result: Result < JSONObject , Error > ) -> Void ) -> String ? {
195- let body = RequestCreator . requestBody ( for: operation, sendOperationIdentifiers: self . sendOperationIdentifiers)
197+ let body = requestCreator . requestBody ( for: operation, sendOperationIdentifiers: self . sendOperationIdentifiers)
196198 let sequenceNumber = " \( nextSequenceNumber ( ) ) "
197199
198200 guard let message = OperationMessage ( payload: body, id: sequenceNumber) . rawMessage else {
0 commit comments