mirror of
https://github.com/wiremock/WireMock.Net.git
synced 2026-04-23 08:48:28 +02:00
Add Grpc ProtoBuf support (request-response) (#1047)
* ProtoBuf
* .
* x
* ---
* x
* fx
* ...
* sc
* ...
* .
* groen
* x
* fix tests
* ok!?
* fix tests
* fix tests
* !
* x
* 6
* .
* x
* ivaluematcher
* transformer
* .
* sc
* .
* mapping
* x
* tra
* com
* ...
* .
* .
* .
* AddProtoDefinition
* .
* set
* grpahj
* .
* .
* IdOrText
* ...
* async
* async2
* .
* t
* nuget
* <PackageReference Include="ProtoBufJsonConverter" Version="0.2.0-preview-04" />
* http version
* tests
* .WithHttpVersion("2")
* <PackageReference Include="ProtoBufJsonConverter" Version="0.2.0" />
* HttpVersionParser
This commit is contained in:
@@ -98,4 +98,9 @@ public class MappingModel
|
||||
/// The probability when this request should be matched. Value is between 0 and 1. [Optional]
|
||||
/// </summary>
|
||||
public double? Probability { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// The Grpc ProtoDefinition which is used for this mapping (request and response). [Optional]
|
||||
/// </summary>
|
||||
public string? ProtoDefinition { get; set; }
|
||||
}
|
||||
@@ -70,13 +70,22 @@ public class MatcherModel
|
||||
/// ContentTransferEncoding Matcher (base64)
|
||||
/// </summary>
|
||||
public MatcherModel? ContentTransferEncodingMatcher { get; set; }
|
||||
#endregion
|
||||
|
||||
#region MimePartMatcher + ProtoBufMatcher
|
||||
/// <summary>
|
||||
/// Content Matcher
|
||||
/// </summary>
|
||||
public MatcherModel? ContentMatcher { get; set; }
|
||||
#endregion
|
||||
|
||||
#region ProtoBufMatcher
|
||||
/// <summary>
|
||||
/// The full type of the protobuf (request/response) message object. Format is "{package-name}.{type-name}".
|
||||
/// </summary>
|
||||
public string? ProtoBufMessageType { get; set; }
|
||||
#endregion
|
||||
|
||||
#region XPathMatcher
|
||||
/// <summary>
|
||||
/// Array of namespace prefix and uri. (optional)
|
||||
@@ -86,7 +95,7 @@ public class MatcherModel
|
||||
|
||||
#region GraphQLMatcher
|
||||
/// <summary>
|
||||
/// Mapping of custom GraphQL Scalar name to ClrType. (optional)
|
||||
/// Mapping of custom GraphQL Scalar name to ClrType. (optional)
|
||||
/// </summary>
|
||||
public IDictionary<string, Type>? CustomScalars { get; set; }
|
||||
#endregion
|
||||
|
||||
@@ -28,6 +28,11 @@ public class RequestModel
|
||||
/// </summary>
|
||||
public string[]? Methods { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// The HTTP Version
|
||||
/// </summary>
|
||||
public string? HttpVersion { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Reject on match for Methods.
|
||||
/// </summary>
|
||||
|
||||
@@ -35,7 +35,7 @@ public class ResponseModel
|
||||
public bool? BodyAsJsonIndented { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Gets or sets the body (as bytearray).
|
||||
/// Gets or sets the body (as byte array).
|
||||
/// </summary>
|
||||
public byte[]? BodyAsBytes { get; set; }
|
||||
|
||||
@@ -84,6 +84,11 @@ public class ResponseModel
|
||||
/// </summary>
|
||||
public string? HeadersRaw { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Gets or sets the Trailing Headers.
|
||||
/// </summary>
|
||||
public IDictionary<string, object>? TrailingHeaders { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Gets or sets the delay in milliseconds.
|
||||
/// </summary>
|
||||
@@ -123,4 +128,16 @@ public class ResponseModel
|
||||
/// Gets or sets the WebProxy settings.
|
||||
/// </summary>
|
||||
public WebProxyModel? WebProxy { get; set; }
|
||||
|
||||
#region ProtoBuf
|
||||
/// <summary>
|
||||
/// Gets or sets the proto definition.
|
||||
/// </summary>
|
||||
public string? ProtoDefinition { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Gets or sets the full type of the protobuf (request/response) message object. Format is "{package-name}.{type-name}".
|
||||
/// </summary>
|
||||
public string? ProtoBufMessageType { get; set; }
|
||||
#endregion
|
||||
}
|
||||
@@ -55,6 +55,11 @@ public class LogRequestModel
|
||||
/// </summary>
|
||||
public string Method { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// The HTTP Version.
|
||||
/// </summary>
|
||||
public string HttpVersion { get; set; } = null!;
|
||||
|
||||
/// <summary>
|
||||
/// The Headers.
|
||||
/// </summary>
|
||||
|
||||
@@ -1,4 +1,6 @@
|
||||
using System.Collections.Generic;
|
||||
using System.Text.RegularExpressions;
|
||||
using JetBrains.Annotations;
|
||||
using WireMock.Handlers;
|
||||
using WireMock.Types;
|
||||
|
||||
@@ -114,6 +116,11 @@ public class SettingsModel
|
||||
/// </summary>
|
||||
public QueryParameterMultipleValueSupport? QueryParameterMultipleValueSupport { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// A list of Grpc ProtoDefinitions which can be used.
|
||||
/// </summary>
|
||||
public Dictionary<string, string>? ProtoDefinitions { get; set; }
|
||||
|
||||
#if NETSTANDARD1_3_OR_GREATER || NET461
|
||||
/// <summary>
|
||||
/// Server client certificate mode
|
||||
|
||||
Reference in New Issue
Block a user