Skip to content

Commit

Permalink
Avoid a try! call. Even though it is guaranteed to be safe now, it …
Browse files Browse the repository at this point in the history
…might not be in the future.
  • Loading branch information
MrMage committed Apr 21, 2018
1 parent e3e2bfa commit 7b4f47d
Show file tree
Hide file tree
Showing 4 changed files with 15 additions and 15 deletions.
2 changes: 1 addition & 1 deletion Sources/Examples/Echo/main.swift
Original file line number Diff line number Diff line change
Expand Up @@ -45,7 +45,7 @@ func buildEchoService(_ ssl: Bool, _ address: String, _ port: String, _: String)
} else {
service = Echo_EchoServiceClient(address: address + ":" + port, secure: false)
}
service.metadata = Metadata([
service.metadata = try! Metadata([
"x-goog-api-key": "YOUR_API_KEY",
"x-ios-bundle-identifier": "io.grpc.echo"
])
Expand Down
6 changes: 3 additions & 3 deletions Sources/Examples/Simple/main.swift
Original file line number Diff line number Diff line change
Expand Up @@ -32,7 +32,7 @@ func client() throws {
print("calling " + method)
let call = c.makeCall(method)

let metadata = Metadata([
let metadata = try Metadata([
"x": "xylophone",
"y": "yu",
"z": "zither"
Expand Down Expand Up @@ -83,7 +83,7 @@ func server() throws {
+ ":" + initialMetadata.value(i)!)
}

let initialMetadataToSend = Metadata([
let initialMetadataToSend = try Metadata([
"a": "Apple",
"b": "Banana",
"c": "Cherry"
Expand All @@ -99,7 +99,7 @@ func server() throws {
}

let replyMessage = "hello, client!"
let trailingMetadataToSend = Metadata([
let trailingMetadataToSend = try Metadata([
"0": "zero",
"1": "one",
"2": "two"
Expand Down
4 changes: 2 additions & 2 deletions Sources/SwiftGRPC/Core/Metadata.swift
Original file line number Diff line number Diff line change
Expand Up @@ -44,11 +44,11 @@ public class Metadata: CustomStringConvertible {
ownsFields = true
}

public init(_ pairs: [String: String]) {
public init(_ pairs: [String: String]) throws {
underlyingArray = cgrpc_metadata_array_create()
ownsFields = true
for (key, value) in pairs {
try! add(key: key, value: value)
try add(key: key, value: value)
}
}

Expand Down
18 changes: 9 additions & 9 deletions Tests/SwiftGRPCTests/GRPCTests.swift
Original file line number Diff line number Diff line change
Expand Up @@ -178,7 +178,7 @@ func callUnaryIndividual(channel: Channel, message: Data, shouldSucceed: Bool) t
let sem = DispatchSemaphore(value: 0)
let method = hello
let call = channel.makeCall(method)
let metadata = Metadata(initialClientMetadata)
let metadata = try Metadata(initialClientMetadata)
try call.start(.unary, metadata: metadata, message: message) {
response in
// verify the basic response from the server
Expand Down Expand Up @@ -224,7 +224,7 @@ func callUnaryIndividual(channel: Channel, message: Data, shouldSucceed: Bool) t

func callServerStream(channel: Channel) throws {
let message = evenClientText.data(using: .utf8)
let metadata = Metadata(initialClientMetadata)
let metadata = try Metadata(initialClientMetadata)

let sem = DispatchSemaphore(value: 0)
let method = helloServerStream
Expand Down Expand Up @@ -266,7 +266,7 @@ let clientPing = "ping"
let serverPong = "pong"

func callBiDiStream(channel: Channel) throws {
let metadata = Metadata(initialClientMetadata)
let metadata = try Metadata(initialClientMetadata)

let sem = DispatchSemaphore(value: 0)
let method = helloBiDiStream
Expand Down Expand Up @@ -353,7 +353,7 @@ func handleUnary(requestHandler: Handler) throws {
XCTAssertEqual(requestHandler.method, hello)
let initialMetadata = requestHandler.requestMetadata
verify_metadata(initialMetadata, expected: initialClientMetadata)
let initialMetadataToSend = Metadata(initialServerMetadata)
let initialMetadataToSend = try Metadata(initialServerMetadata)
let receiveSem = DispatchSemaphore(value: 0)
var inputMessage: Data?
try requestHandler.receiveMessage(initialMetadata: initialMetadataToSend) {
Expand All @@ -377,7 +377,7 @@ func handleUnary(requestHandler: Handler) throws {
let replyMessage = (inputMessage == nil || inputMessage!.count < sizeThresholdForReturningDataVerbatim)
? serverText.data(using: .utf8)!
: inputMessage!
let trailingMetadataToSend = Metadata(trailingServerMetadata)
let trailingMetadataToSend = try Metadata(trailingServerMetadata)
if let inputMessage = inputMessage,
inputMessage.count >= sizeThresholdForReturningDataVerbatim
|| inputMessage == evenClientText.data(using: .utf8)! {
Expand All @@ -398,7 +398,7 @@ func handleServerStream(requestHandler: Handler) throws {
let initialMetadata = requestHandler.requestMetadata
verify_metadata(initialMetadata, expected: initialClientMetadata)

let initialMetadataToSend = Metadata(initialServerMetadata)
let initialMetadataToSend = try Metadata(initialServerMetadata)
try requestHandler.receiveMessage(initialMetadata: initialMetadataToSend) {
if let messageData = $0 {
let messageString = String(data: messageData, encoding: .utf8)
Expand All @@ -416,7 +416,7 @@ func handleServerStream(requestHandler: Handler) throws {
requestHandler.call.messageQueueEmpty.wait()
}

let trailingMetadataToSend = Metadata(trailingServerMetadata)
let trailingMetadataToSend = try Metadata(trailingServerMetadata)
try requestHandler.sendStatus(ServerStatus(
// We need to return status OK here, as it seems like the server might never send out the last few messages once it
// has been asked to send a non-OK status. Alternatively, we could send a non-OK status here, but then we would need
Expand All @@ -432,7 +432,7 @@ func handleBiDiStream(requestHandler: Handler) throws {
let initialMetadata = requestHandler.requestMetadata
verify_metadata(initialMetadata, expected: initialClientMetadata)

let initialMetadataToSend = Metadata(initialServerMetadata)
let initialMetadataToSend = try Metadata(initialServerMetadata)
let sendMetadataSem = DispatchSemaphore(value: 0)
try requestHandler.sendMetadata(initialMetadata: initialMetadataToSend) { _ in
_ = sendMetadataSem.signal()
Expand Down Expand Up @@ -463,7 +463,7 @@ func handleBiDiStream(requestHandler: Handler) throws {
requestHandler.call.messageQueueEmpty.wait()
}

let trailingMetadataToSend = Metadata(trailingServerMetadata)
let trailingMetadataToSend = try Metadata(trailingServerMetadata)
let sem = DispatchSemaphore(value: 0)
try requestHandler.sendStatus(ServerStatus(
// We need to return status OK here, as it seems like the server might never send out the last few messages once it
Expand Down

0 comments on commit 7b4f47d

Please sign in to comment.