mirror of
https://github.com/wiremock/WireMock.Net.git
synced 2026-03-31 22:53:27 +02:00
Use latest ProtoBufJsonConverter to support WellKnownTypes (#1161)
* Use latest ProtoBufJsonConverter to support WellKnownTypes * Fix * 02 * WireMockServer_WithBodyAsProtoBuf_WithWellKnownTypes * . * extra test * 0.4.0-preview-06 * 7 * <PackageReference Include="ProtoBufJsonConverter" Version="0.4.0-preview-08" /> * Update README.md * <PackageReference Include="ProtoBufJsonConverter" Version="0.4.0-preview-09" /> * <PackageReference Include="ProtoBufJsonConverter" Version="0.4.0" /> * Update README.md
This commit is contained in:
@@ -79,7 +79,7 @@ public interface IBodyData
|
||||
/// <summary>
|
||||
/// Gets or sets the proto definition.
|
||||
/// </summary>
|
||||
public Func<IdOrText>? ProtoDefinition { get; set; }
|
||||
public Func<IdOrTexts>? ProtoDefinition { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Gets or sets the full type of the protobuf (request/response) message object. Format is "{package-name}.{type-name}".
|
||||
|
||||
@@ -1,35 +0,0 @@
|
||||
// Copyright © WireMock.Net
|
||||
|
||||
namespace WireMock.Models;
|
||||
|
||||
/// <summary>
|
||||
/// A structure defining an (optional) Id and a Text.
|
||||
/// </summary>
|
||||
public readonly struct IdOrText
|
||||
{
|
||||
/// <summary>
|
||||
/// The Id [optional].
|
||||
/// </summary>
|
||||
public string? Id { get; }
|
||||
|
||||
/// <summary>
|
||||
/// The Text.
|
||||
/// </summary>
|
||||
public string Text { get; }
|
||||
|
||||
/// <summary>
|
||||
/// When Id is defined, return the Id, else the Text.
|
||||
/// </summary>
|
||||
public string Value => Id ?? Text;
|
||||
|
||||
/// <summary>
|
||||
/// Create a IdOrText
|
||||
/// </summary>
|
||||
/// <param name="id">The Id [optional]</param>
|
||||
/// <param name="text">The Text.</param>
|
||||
public IdOrText(string? id, string text)
|
||||
{
|
||||
Id = id;
|
||||
Text = text;
|
||||
}
|
||||
}
|
||||
59
src/WireMock.Net.Abstractions/Models/IdOrTexts.cs
Normal file
59
src/WireMock.Net.Abstractions/Models/IdOrTexts.cs
Normal file
@@ -0,0 +1,59 @@
|
||||
// Copyright © WireMock.Net
|
||||
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
|
||||
namespace WireMock.Models;
|
||||
|
||||
/// <summary>
|
||||
/// A structure defining an (optional) Id and a Text.
|
||||
/// </summary>
|
||||
public readonly struct IdOrTexts
|
||||
{
|
||||
/// <summary>
|
||||
/// The Id [optional].
|
||||
/// </summary>
|
||||
public string? Id { get; }
|
||||
|
||||
/// <summary>
|
||||
/// The Text.
|
||||
/// </summary>
|
||||
public IReadOnlyList<string> Texts { get; }
|
||||
|
||||
/// <summary>
|
||||
/// Create a IdOrText
|
||||
/// </summary>
|
||||
/// <param name="id">The Id [optional]</param>
|
||||
/// <param name="text">The Text.</param>
|
||||
public IdOrTexts(string? id, string text) : this(id, [text])
|
||||
{
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Create a IdOrText
|
||||
/// </summary>
|
||||
/// <param name="id">The Id [optional]</param>
|
||||
/// <param name="texts">The Texts.</param>
|
||||
public IdOrTexts(string? id, IReadOnlyList<string> texts)
|
||||
{
|
||||
Id = id;
|
||||
Texts = texts;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// When Id is defined, return process the Id, else process the Texts.
|
||||
/// </summary>
|
||||
/// <param name="id">Callback to process the id.</param>
|
||||
/// <param name="texts">Callback to process the texts.</param>
|
||||
public void Value(Action<string> id, Action<IReadOnlyList<string>> texts)
|
||||
{
|
||||
if (Id != null)
|
||||
{
|
||||
id(Id);
|
||||
}
|
||||
else
|
||||
{
|
||||
texts(Texts);
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user