From b35590d6aae27620c401fabaea767625ad3561a7 Mon Sep 17 00:00:00 2001 From: waiting <1661926154@qq.com> Date: Wed, 13 Nov 2024 18:21:48 +0800 Subject: [PATCH] test(grpc): fix --- packages/grpc/src/comsumer/clients.ts | 9 +++++---- .../test/fixtures/base-app-stream/src/provider/math.ts | 6 +++++- 2 files changed, 10 insertions(+), 5 deletions(-) diff --git a/packages/grpc/src/comsumer/clients.ts b/packages/grpc/src/comsumer/clients.ts index beb41169de67..165c5a16dc1e 100644 --- a/packages/grpc/src/comsumer/clients.ts +++ b/packages/grpc/src/comsumer/clients.ts @@ -113,9 +113,10 @@ export class GRPCClients extends Map { } let genericFunctionName; + const rpcMethod = options.metadata.get('rpc.method.type')?.[0]; switch (genericFunctionSelector) { case 0: - if (! options.metadata.get('rpc.method.type')) { + if (!rpcMethod) { options.metadata.set('rpc.method.type', 'unary'); } genericFunctionName = new ClientUnaryRequest( @@ -125,7 +126,7 @@ export class GRPCClients extends Map { ); break; case 1: - if (! options.metadata.get('rpc.method.type')) { + if (!rpcMethod) { options.metadata.set('rpc.method.type', 'server'); // server streaming } genericFunctionName = new ClientReadableRequest( @@ -135,7 +136,7 @@ export class GRPCClients extends Map { ); break; case 2: - if (! options.metadata.get('rpc.method.type')) { + if (!rpcMethod) { options.metadata.set('rpc.method.type', 'client'); // client streaming } genericFunctionName = new ClientWritableRequest( @@ -145,7 +146,7 @@ export class GRPCClients extends Map { ); break; case 3: - if (! options.metadata.get('rpc.method.type')) { + if (!rpcMethod) { options.metadata.set('rpc.method.type', 'bidi'); // bidirectional streaming } genericFunctionName = new ClientDuplexStreamRequest( diff --git a/packages/grpc/test/fixtures/base-app-stream/src/provider/math.ts b/packages/grpc/test/fixtures/base-app-stream/src/provider/math.ts index 0a493d3a36a0..5202a1232370 100644 --- a/packages/grpc/test/fixtures/base-app-stream/src/provider/math.ts +++ b/packages/grpc/test/fixtures/base-app-stream/src/provider/math.ts @@ -1,4 +1,5 @@ -import { GrpcMethod, GrpcStreamTypeEnum, MSProviderType, Provide, Provider } from '@midwayjs/core'; +import { GrpcMethod, GrpcStreamTypeEnum, Inject, MSProviderType, Provide, Provider } from '@midwayjs/core'; +import { Context } from '../../../../../src'; import { math } from '../interface'; import { Metadata } from '@grpc/grpc-js'; @@ -8,6 +9,9 @@ import { Metadata } from '@grpc/grpc-js'; @Provider(MSProviderType.GRPC, { package: 'math' }) export class Math implements math.Math { + @Inject() + ctx: Context; + sumDataList = []; @GrpcMethod()