@@ -116,6 +116,15 @@ private Guid ConvertMappingAndRegisterAsRespondProvider(MappingModel mappingMode
116
116
respondProvider . WithProbability ( mappingModel . Probability . Value ) ;
117
117
}
118
118
119
+ if ( mappingModel . ProtoDefinition != null )
120
+ {
121
+ respondProvider . WithProtoDefinition ( mappingModel . ProtoDefinition ) ;
122
+ }
123
+ else if ( mappingModel . ProtoDefinitions != null )
124
+ {
125
+ respondProvider . WithProtoDefinition ( mappingModel . ProtoDefinitions ) ;
126
+ }
127
+
119
128
var responseBuilder = InitResponseBuilder ( mappingModel . Response ) ;
120
129
respondProvider . RespondWith ( responseBuilder ) ;
121
130
@@ -317,6 +326,22 @@ private static IResponseBuilder InitResponseBuilder(ResponseModel responseModel)
317
326
}
318
327
}
319
328
329
+ if ( responseModel . TrailingHeaders != null )
330
+ {
331
+ foreach ( var entry in responseModel . TrailingHeaders )
332
+ {
333
+ if ( entry . Value is string value )
334
+ {
335
+ responseBuilder . WithTrailingHeader ( entry . Key , value ) ;
336
+ }
337
+ else
338
+ {
339
+ var headers = JsonUtils . ParseJTokenToObject < string [ ] > ( entry . Value ) ;
340
+ responseBuilder . WithTrailingHeader ( entry . Key , headers ) ;
341
+ }
342
+ }
343
+ }
344
+
320
345
if ( responseModel . BodyAsBytes != null )
321
346
{
322
347
responseBuilder = responseBuilder . WithBody ( responseModel . BodyAsBytes , responseModel . BodyDestination , ToEncoding ( responseModel . BodyEncoding ) ) ;
@@ -327,7 +352,25 @@ private static IResponseBuilder InitResponseBuilder(ResponseModel responseModel)
327
352
}
328
353
else if ( responseModel . BodyAsJson != null )
329
354
{
330
- responseBuilder = responseBuilder . WithBodyAsJson ( responseModel . BodyAsJson , ToEncoding ( responseModel . BodyEncoding ) , responseModel . BodyAsJsonIndented == true ) ;
355
+ if ( responseModel . ProtoBufMessageType != null )
356
+ {
357
+ if ( responseModel . ProtoDefinition != null )
358
+ {
359
+ responseBuilder = responseBuilder . WithBodyAsProtoBuf ( responseModel . ProtoDefinition , responseModel . ProtoBufMessageType , responseModel . BodyAsJson ) ;
360
+ }
361
+ else if ( responseModel . ProtoDefinitions != null )
362
+ {
363
+ responseBuilder = responseBuilder . WithBodyAsProtoBuf ( responseModel . ProtoDefinitions , responseModel . ProtoBufMessageType , responseModel . BodyAsJson ) ;
364
+ }
365
+ else
366
+ {
367
+ responseBuilder = responseBuilder . WithBodyAsProtoBuf ( responseModel . ProtoBufMessageType , responseModel . BodyAsJson ) ;
368
+ }
369
+ }
370
+ else
371
+ {
372
+ responseBuilder = responseBuilder . WithBodyAsJson ( responseModel . BodyAsJson , ToEncoding ( responseModel . BodyEncoding ) , responseModel . BodyAsJsonIndented == true ) ;
373
+ }
331
374
}
332
375
else if ( responseModel . BodyAsFile != null )
333
376
{
0 commit comments