mirror of
https://github.com/wiremock/WireMock.Net.git
synced 2026-04-30 12:44:32 +02:00
Update the logic for ProxyAndRecord (#747)
* . * set * . * . * . * . * prio * appsettings * TinyMapperUtils * set * p * nullable * . * , * fs * . * . * --PreferProxyMapping
This commit is contained in:
@@ -0,0 +1,169 @@
|
||||
{
|
||||
"Guid": "501d5907-7f73-46dc-a1c6-1a48f39b103a",
|
||||
"Title": "",
|
||||
"Request": {
|
||||
"Path": {
|
||||
"Matchers": [
|
||||
{
|
||||
"Name": "WildcardMatcher",
|
||||
"Pattern": "/post",
|
||||
"IgnoreCase": false
|
||||
}
|
||||
]
|
||||
},
|
||||
"Methods": [
|
||||
"POST"
|
||||
],
|
||||
"Headers": [
|
||||
{
|
||||
"Name": "Accept",
|
||||
"Matchers": [
|
||||
{
|
||||
"Name": "WildcardMatcher",
|
||||
"Pattern": "*/*",
|
||||
"IgnoreCase": true
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"Name": "Connection",
|
||||
"Matchers": [
|
||||
{
|
||||
"Name": "WildcardMatcher",
|
||||
"Pattern": "keep-alive",
|
||||
"IgnoreCase": true
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"Name": "Host",
|
||||
"Matchers": [
|
||||
{
|
||||
"Name": "WildcardMatcher",
|
||||
"Pattern": "localhost:9091",
|
||||
"IgnoreCase": true
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"Name": "User-Agent",
|
||||
"Matchers": [
|
||||
{
|
||||
"Name": "WildcardMatcher",
|
||||
"Pattern": "PostmanRuntime/7.29.0",
|
||||
"IgnoreCase": true
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"Name": "Accept-Encoding",
|
||||
"Matchers": [
|
||||
{
|
||||
"Name": "WildcardMatcher",
|
||||
"Pattern": "gzip, deflate, br",
|
||||
"IgnoreCase": true
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"Name": "Authorization",
|
||||
"Matchers": [
|
||||
{
|
||||
"Name": "WildcardMatcher",
|
||||
"Pattern": "BASIC 1234",
|
||||
"IgnoreCase": true
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"Name": "Content-Type",
|
||||
"Matchers": [
|
||||
{
|
||||
"Name": "WildcardMatcher",
|
||||
"Pattern": "application/vnd.contoso+json",
|
||||
"IgnoreCase": true
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"Name": "Content-Length",
|
||||
"Matchers": [
|
||||
{
|
||||
"Name": "WildcardMatcher",
|
||||
"Pattern": "16",
|
||||
"IgnoreCase": true
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"Name": "postmanecho",
|
||||
"Matchers": [
|
||||
{
|
||||
"Name": "WildcardMatcher",
|
||||
"Pattern": "post",
|
||||
"IgnoreCase": true
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"Name": "Test123",
|
||||
"Matchers": [
|
||||
{
|
||||
"Name": "WildcardMatcher",
|
||||
"Pattern": "application/vnd.contoso+json",
|
||||
"IgnoreCase": true
|
||||
}
|
||||
]
|
||||
}
|
||||
],
|
||||
"Body": {
|
||||
"Matcher": {
|
||||
"Name": "JsonMatcher",
|
||||
"Pattern": {
|
||||
"test": 42
|
||||
},
|
||||
"IgnoreCase": true
|
||||
}
|
||||
}
|
||||
},
|
||||
"Response": {
|
||||
"StatusCode": 200,
|
||||
"BodyAsJson": {
|
||||
"args": {},
|
||||
"data": {
|
||||
"test": "Stef"
|
||||
},
|
||||
"files": {},
|
||||
"form": {},
|
||||
"headers": {
|
||||
"x-forwarded-proto": "http",
|
||||
"x-forwarded-port": "80",
|
||||
"host": "postman-echo.com",
|
||||
"x-amzn-trace-id": "Root=1-624a96e3-023cf5a15966164e7156c20d",
|
||||
"content-length": "11",
|
||||
"accept": "*/*",
|
||||
"user-agent": "PostmanRuntime/7.29.0",
|
||||
"accept-encoding": "gzip, deflate, br",
|
||||
"authorization": "BASIC 1234",
|
||||
"cookie": "sails.sid=s%3AMpD3hNdjm1Ilte_ml7vgmEopThEhwAbr.HDn7RFcO3qK7oVXIxK3Pxk23g1qHDrNZIN4NozK5oog",
|
||||
"postmanecho": "post",
|
||||
"test123": "application/vnd.contoso+json",
|
||||
"postman-token": "050b1136-19ed-4fbe-ad2a-338a20237321",
|
||||
"content-type": "application/vnd.contoso+json"
|
||||
},
|
||||
"json": {
|
||||
"test": "Stef"
|
||||
},
|
||||
"url": "http://postman-echo.com/post"
|
||||
},
|
||||
"Headers": {
|
||||
"Content-Type": "application/json; charset=utf-8",
|
||||
"Content-Length": "663",
|
||||
"Date": "Mon, 04 Apr 2022 06:57:39 GMT",
|
||||
"Connection": "keep-alive",
|
||||
"ETag": "W/\"297-FimzXopdNUy6DBi49iOW6Tm9q0o\"",
|
||||
"Vary": "Accept-Encoding",
|
||||
"Set-Cookie": "sails.sid=s%3AhtpOsTOJqbHuXmMAZT6cyHLR6FBx1XhV.0loKIsdu5GJKgjJeha16NVWYl%2B0BvPeEQYHcLBCLJ20; Path=/; HttpOnly"
|
||||
}
|
||||
}
|
||||
}
|
||||
53
examples/WireMock.Net.Console.Proxy.NETCoreApp/Program.cs
Normal file
53
examples/WireMock.Net.Console.Proxy.NETCoreApp/Program.cs
Normal file
@@ -0,0 +1,53 @@
|
||||
using Newtonsoft.Json;
|
||||
using WireMock.Logging;
|
||||
using WireMock.RequestBuilders;
|
||||
using WireMock.ResponseBuilders;
|
||||
using WireMock.Server;
|
||||
using WireMock.Settings;
|
||||
|
||||
namespace WireMock.Net.Console.Proxy.NETCoreApp;
|
||||
|
||||
static class Program
|
||||
{
|
||||
static void Main(params string[] args)
|
||||
{
|
||||
var server = WireMockServer.Start(new WireMockServerSettings
|
||||
{
|
||||
Logger = new WireMockConsoleLogger(),
|
||||
Urls = new[] { "http://localhost:9091/", "https://localhost:9443/" },
|
||||
StartAdminInterface = true,
|
||||
ReadStaticMappings = true,
|
||||
WatchStaticMappings = true,
|
||||
WatchStaticMappingsInSubdirectories = true,
|
||||
ProxyAndRecordSettings = new ProxyAndRecordSettings
|
||||
{
|
||||
Url = "http://postman-echo.com/post",
|
||||
SaveMapping = true,
|
||||
SaveMappingToFile = true,
|
||||
ExcludedHeaders = new[] { "Postman-Token" },
|
||||
ExcludedCookies = new[] { "sails.sid" }
|
||||
}
|
||||
});
|
||||
|
||||
//server
|
||||
// .Given(Request.Create().UsingGet())
|
||||
// .RespondWith(Response.Create()
|
||||
// .WithProxy(new ProxyAndRecordSettings
|
||||
// {
|
||||
// Url = "http://postman-echo.com/post",
|
||||
// SaveMapping = true,
|
||||
// SaveMappingToFile = true
|
||||
// }));
|
||||
|
||||
System.Console.WriteLine("Press any key to stop the server");
|
||||
System.Console.ReadKey();
|
||||
server.Stop();
|
||||
|
||||
System.Console.WriteLine("Displaying all requests");
|
||||
var allRequests = server.LogEntries;
|
||||
System.Console.WriteLine(JsonConvert.SerializeObject(allRequests, Formatting.Indented));
|
||||
|
||||
System.Console.WriteLine("Press any key to quit");
|
||||
System.Console.ReadKey();
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,19 @@
|
||||
<Project Sdk="Microsoft.NET.Sdk">
|
||||
|
||||
<PropertyGroup>
|
||||
<OutputType>Exe</OutputType>
|
||||
<TargetFramework>net6.0</TargetFramework>
|
||||
<ApplicationIcon>../../resources/WireMock.Net-Logo.ico</ApplicationIcon>
|
||||
</PropertyGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<ProjectReference Include="..\..\src\WireMock.Net\WireMock.Net.csproj" />
|
||||
<ProjectReference Include="..\..\src\WireMock.Net.Abstractions\WireMock.Net.Abstractions.csproj" />
|
||||
<PackageReference Include="Newtonsoft.Json" Version="11.0.2" />
|
||||
</ItemGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<Folder Include="__admin\mappings\" />
|
||||
</ItemGroup>
|
||||
|
||||
</Project>
|
||||
Reference in New Issue
Block a user