@@ -241,7 +241,10 @@ final class ProtobufCodeGeneratorTests: XCTestCase {
241
241
@available(macOS 15.0, iOS 18.0, watchOS 11.0, tvOS 18.0, visionOS 2.0, *)
242
242
public protocol Helloworld_GreeterStreamingServiceProtocol: GRPCCore.RegistrableRPCService {
243
243
/// Sends a greeting.
244
- func sayHello(request: GRPCCore.ServerRequest.Stream<Helloworld_HelloRequest>) async throws -> GRPCCore.ServerResponse.Stream<Helloworld_HelloReply>
244
+ func sayHello(
245
+ request: GRPCCore.ServerRequest.Stream<Helloworld_HelloRequest>,
246
+ context: GRPCCore.ServerContext
247
+ ) async throws -> GRPCCore.ServerResponse.Stream<Helloworld_HelloReply>
245
248
}
246
249
247
250
/// Conformance to `GRPCCore.RegistrableRPCService`.
@@ -253,8 +256,11 @@ final class ProtobufCodeGeneratorTests: XCTestCase {
253
256
forMethod: Helloworld_Greeter.Method.SayHello.descriptor,
254
257
deserializer: GRPCProtobuf.ProtobufDeserializer<Helloworld_HelloRequest>(),
255
258
serializer: GRPCProtobuf.ProtobufSerializer<Helloworld_HelloReply>(),
256
- handler: { request in
257
- try await self.sayHello(request: request)
259
+ handler: { request, context in
260
+ try await self.sayHello(
261
+ request: request,
262
+ context: context
263
+ )
258
264
}
259
265
)
260
266
}
@@ -264,19 +270,29 @@ final class ProtobufCodeGeneratorTests: XCTestCase {
264
270
@available(macOS 15.0, iOS 18.0, watchOS 11.0, tvOS 18.0, visionOS 2.0, *)
265
271
public protocol Helloworld_GreeterServiceProtocol: Helloworld_Greeter.StreamingServiceProtocol {
266
272
/// Sends a greeting.
267
- func sayHello(request: GRPCCore.ServerRequest.Single<Helloworld_HelloRequest>) async throws -> GRPCCore.ServerResponse.Single<Helloworld_HelloReply>
273
+ func sayHello(
274
+ request: GRPCCore.ServerRequest.Single<Helloworld_HelloRequest>,
275
+ context: GRPCCore.ServerContext
276
+ ) async throws -> GRPCCore.ServerResponse.Single<Helloworld_HelloReply>
268
277
}
269
278
270
279
/// Partial conformance to `Helloworld_GreeterStreamingServiceProtocol`.
271
280
@available(macOS 15.0, iOS 18.0, watchOS 11.0, tvOS 18.0, visionOS 2.0, *)
272
281
extension Helloworld_Greeter.ServiceProtocol {
273
- public func sayHello(request: GRPCCore.ServerRequest.Stream<Helloworld_HelloRequest>) async throws -> GRPCCore.ServerResponse.Stream<Helloworld_HelloReply> {
274
- let response = try await self.sayHello(request: GRPCCore.ServerRequest.Single(stream: request))
282
+ public func sayHello(
283
+ request: GRPCCore.ServerRequest.Stream<Helloworld_HelloRequest>,
284
+ context: GRPCCore.ServerContext
285
+ ) async throws -> GRPCCore.ServerResponse.Stream<Helloworld_HelloReply> {
286
+ let response = try await self.sayHello(
287
+ request: GRPCCore.ServerRequest.Single(stream: request),
288
+ context: context
289
+ )
275
290
return GRPCCore.ServerResponse.Stream(single: response)
276
291
}
277
292
}
278
293
"""
279
294
)
295
+
280
296
try testCodeGeneration (
281
297
proto: Google_Protobuf_FileDescriptorProto . helloWorldEmptyPackage,
282
298
indentation: 2 ,
@@ -348,7 +364,10 @@ final class ProtobufCodeGeneratorTests: XCTestCase {
348
364
@available(macOS 15.0, iOS 18.0, watchOS 11.0, tvOS 18.0, visionOS 2.0, *)
349
365
package protocol GreeterStreamingServiceProtocol: GRPCCore.RegistrableRPCService {
350
366
/// Sends a greeting.
351
- func sayHello(request: GRPCCore.ServerRequest.Stream<HelloRequest>) async throws -> GRPCCore.ServerResponse.Stream<HelloReply>
367
+ func sayHello(
368
+ request: GRPCCore.ServerRequest.Stream<HelloRequest>,
369
+ context: GRPCCore.ServerContext
370
+ ) async throws -> GRPCCore.ServerResponse.Stream<HelloReply>
352
371
}
353
372
354
373
/// Conformance to `GRPCCore.RegistrableRPCService`.
@@ -360,8 +379,11 @@ final class ProtobufCodeGeneratorTests: XCTestCase {
360
379
forMethod: Greeter.Method.SayHello.descriptor,
361
380
deserializer: GRPCProtobuf.ProtobufDeserializer<HelloRequest>(),
362
381
serializer: GRPCProtobuf.ProtobufSerializer<HelloReply>(),
363
- handler: { request in
364
- try await self.sayHello(request: request)
382
+ handler: { request, context in
383
+ try await self.sayHello(
384
+ request: request,
385
+ context: context
386
+ )
365
387
}
366
388
)
367
389
}
@@ -371,14 +393,23 @@ final class ProtobufCodeGeneratorTests: XCTestCase {
371
393
@available(macOS 15.0, iOS 18.0, watchOS 11.0, tvOS 18.0, visionOS 2.0, *)
372
394
package protocol GreeterServiceProtocol: Greeter.StreamingServiceProtocol {
373
395
/// Sends a greeting.
374
- func sayHello(request: GRPCCore.ServerRequest.Single<HelloRequest>) async throws -> GRPCCore.ServerResponse.Single<HelloReply>
396
+ func sayHello(
397
+ request: GRPCCore.ServerRequest.Single<HelloRequest>,
398
+ context: GRPCCore.ServerContext
399
+ ) async throws -> GRPCCore.ServerResponse.Single<HelloReply>
375
400
}
376
401
377
402
/// Partial conformance to `GreeterStreamingServiceProtocol`.
378
403
@available(macOS 15.0, iOS 18.0, watchOS 11.0, tvOS 18.0, visionOS 2.0, *)
379
404
extension Greeter.ServiceProtocol {
380
- package func sayHello(request: GRPCCore.ServerRequest.Stream<HelloRequest>) async throws -> GRPCCore.ServerResponse.Stream<HelloReply> {
381
- let response = try await self.sayHello(request: GRPCCore.ServerRequest.Single(stream: request))
405
+ package func sayHello(
406
+ request: GRPCCore.ServerRequest.Stream<HelloRequest>,
407
+ context: GRPCCore.ServerContext
408
+ ) async throws -> GRPCCore.ServerResponse.Stream<HelloReply> {
409
+ let response = try await self.sayHello(
410
+ request: GRPCCore.ServerRequest.Single(stream: request),
411
+ context: context
412
+ )
382
413
return GRPCCore.ServerResponse.Stream(single: response)
383
414
}
384
415
}
0 commit comments