Skip to content
Snippets Groups Projects
Select Git revision
  • 2a654e399b30140b8f2be425e729040b8a46d93e
  • master default protected
  • Jakub/rootless-CI
  • xx-4078/defaults
  • hotfix/nullableStake
  • november-commitments
  • new-cli
  • dev
  • jonah/rest
  • jonah/cli
  • v1.0-cli
11 results

client_test.go

Blame
  • ConnectionMaker.swift 1.10 KiB
    import Bindings
    
    public struct ConnectionMaker {
      public var connect: (Bool, Data, Data) throws -> Connection
    
      public func callAsFunction(
        withAuthentication: Bool,
        recipientContact: Data,
        myIdentity: Data
      ) throws -> Connection {
        try connect(withAuthentication, recipientContact, myIdentity)
      }
    }
    
    extension ConnectionMaker {
      public static func live(bindingsClient: BindingsClient) -> ConnectionMaker {
        ConnectionMaker { withAuthentication, recipientContact, myIdentity in
          if withAuthentication {
            return Connection.live(
              bindingsConnection: try bindingsClient.connect(
                recipientContact,
                myIdentity: myIdentity
              )
            )
          } else {
            return Connection.live(
              bindingsAuthenticatedConnection: try bindingsClient.connect(
                withAuthentication: recipientContact,
                myIdentity: myIdentity
              )
            )
          }
        }
      }
    }
    
    #if DEBUG
    extension ConnectionMaker {
      public static let failing = ConnectionMaker { _, _, _ in
        struct NotImplemented: Error {}
        throw NotImplemented()
      }
    }
    #endif