Skip to content

Commit cb770b3

Browse files
committed
split httphandler into different projects
Signed-off-by: Thomas Brüggemann <[email protected]>
1 parent f5f3d8f commit cb770b3

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

52 files changed

+3291
-159
lines changed

Docker.DotNet.sln

Lines changed: 73 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,15 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Docker.DotNet.X509", "src\D
1515
EndProject
1616
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Docker.DotNet.Tests", "test\Docker.DotNet.Tests\Docker.DotNet.Tests.csproj", "{248C5D51-2B33-4A06-A0EA-AA709F752E52}"
1717
EndProject
18+
Project("{A1B2C3D4-E5F6-47A8-9B0C-1234567890AB}") = "Docker.DotNet.NPipe", "src\Docker.DotNet.NPipe\Docker.DotNet.NPipe.csproj", "{A1B2C3D4-E5F6-47A8-9B0C-1234567890AB}"
19+
EndProject
20+
Project("{B2C3D4E5-F6A7-48B9-0C1D-2345678901BC}") = "Docker.DotNet.Unix", "src\Docker.DotNet.Unix\Docker.DotNet.Unix.csproj", "{B2C3D4E5-F6A7-48B9-0C1D-2345678901BC}"
21+
EndProject
22+
Project("{D4E5F6A7-B8C9-40D1-2E3F-4567890123DE}") = "Docker.DotNet.LegacyHttp", "src\Docker.DotNet.LegacyHttp\Docker.DotNet.LegacyHttp.csproj", "{D4E5F6A7-B8C9-40D1-2E3F-4567890123DE}"
23+
EndProject
24+
Project("{E5F6A7B8-C9D0-41E2-3F45-5678901234EF}") = "Docker.DotNet.NativeHttp", "src\Docker.DotNet.NativeHttp\Docker.DotNet.NativeHttp.csproj", "{E5F6A7B8-C9D0-41E2-3F45-5678901234EF}"
25+
EndProject
26+
1827
Global
1928
GlobalSection(SolutionConfigurationPlatforms) = preSolution
2029
Debug|Any CPU = Debug|Any CPU
@@ -25,6 +34,66 @@ Global
2534
Release|x86 = Release|x86
2635
EndGlobalSection
2736
GlobalSection(ProjectConfigurationPlatforms) = postSolution
37+
{D4E5F6A7-B8C9-40D1-2E3F-4567890123DE}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
38+
{D4E5F6A7-B8C9-40D1-2E3F-4567890123DE}.Debug|Any CPU.Build.0 = Debug|Any CPU
39+
{D4E5F6A7-B8C9-40D1-2E3F-4567890123DE}.Debug|x64.ActiveCfg = Debug|Any CPU
40+
{D4E5F6A7-B8C9-40D1-2E3F-4567890123DE}.Debug|x64.Build.0 = Debug|Any CPU
41+
{D4E5F6A7-B8C9-40D1-2E3F-4567890123DE}.Debug|x86.ActiveCfg = Debug|Any CPU
42+
{D4E5F6A7-B8C9-40D1-2E3F-4567890123DE}.Debug|x86.Build.0 = Debug|Any CPU
43+
{D4E5F6A7-B8C9-40D1-2E3F-4567890123DE}.Release|Any CPU.ActiveCfg = Release|Any CPU
44+
{D4E5F6A7-B8C9-40D1-2E3F-4567890123DE}.Release|Any CPU.Build.0 = Release|Any CPU
45+
{D4E5F6A7-B8C9-40D1-2E3F-4567890123DE}.Release|x64.ActiveCfg = Release|Any CPU
46+
{D4E5F6A7-B8C9-40D1-2E3F-4567890123DE}.Release|x64.Build.0 = Release|Any CPU
47+
{D4E5F6A7-B8C9-40D1-2E3F-4567890123DE}.Release|x86.ActiveCfg = Release|Any CPU
48+
{D4E5F6A7-B8C9-40D1-2E3F-4567890123DE}.Release|x86.Build.0 = Release|Any CPU
49+
{E5F6A7B8-C9D0-41E2-3F45-5678901234EF}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
50+
{E5F6A7B8-C9D0-41E2-3F45-5678901234EF}.Debug|Any CPU.Build.0 = Debug|Any CPU
51+
{E5F6A7B8-C9D0-41E2-3F45-5678901234EF}.Debug|x64.ActiveCfg = Debug|Any CPU
52+
{E5F6A7B8-C9D0-41E2-3F45-5678901234EF}.Debug|x64.Build.0 = Debug|Any CPU
53+
{E5F6A7B8-C9D0-41E2-3F45-5678901234EF}.Debug|x86.ActiveCfg = Debug|Any CPU
54+
{E5F6A7B8-C9D0-41E2-3F45-5678901234EF}.Debug|x86.Build.0 = Debug|Any CPU
55+
{E5F6A7B8-C9D0-41E2-3F45-5678901234EF}.Release|Any CPU.ActiveCfg = Release|Any CPU
56+
{E5F6A7B8-C9D0-41E2-3F45-5678901234EF}.Release|Any CPU.Build.0 = Release|Any CPU
57+
{E5F6A7B8-C9D0-41E2-3F45-5678901234EF}.Release|x64.ActiveCfg = Release|Any CPU
58+
{E5F6A7B8-C9D0-41E2-3F45-5678901234EF}.Release|x64.Build.0 = Release|Any CPU
59+
{E5F6A7B8-C9D0-41E2-3F45-5678901234EF}.Release|x86.ActiveCfg = Release|Any CPU
60+
{E5F6A7B8-C9D0-41E2-3F45-5678901234EF}.Release|x86.Build.0 = Release|Any CPU
61+
{A1B2C3D4-E5F6-47A8-9B0C-1234567890AB}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
62+
{A1B2C3D4-E5F6-47A8-9B0C-1234567890AB}.Debug|Any CPU.Build.0 = Debug|Any CPU
63+
{A1B2C3D4-E5F6-47A8-9B0C-1234567890AB}.Debug|x64.ActiveCfg = Debug|Any CPU
64+
{A1B2C3D4-E5F6-47A8-9B0C-1234567890AB}.Debug|x64.Build.0 = Debug|Any CPU
65+
{A1B2C3D4-E5F6-47A8-9B0C-1234567890AB}.Debug|x86.ActiveCfg = Debug|Any CPU
66+
{A1B2C3D4-E5F6-47A8-9B0C-1234567890AB}.Debug|x86.Build.0 = Debug|Any CPU
67+
{A1B2C3D4-E5F6-47A8-9B0C-1234567890AB}.Release|Any CPU.ActiveCfg = Release|Any CPU
68+
{A1B2C3D4-E5F6-47A8-9B0C-1234567890AB}.Release|Any CPU.Build.0 = Release|Any CPU
69+
{A1B2C3D4-E5F6-47A8-9B0C-1234567890AB}.Release|x64.ActiveCfg = Release|Any CPU
70+
{A1B2C3D4-E5F6-47A8-9B0C-1234567890AB}.Release|x64.Build.0 = Release|Any CPU
71+
{A1B2C3D4-E5F6-47A8-9B0C-1234567890AB}.Release|x86.ActiveCfg = Release|Any CPU
72+
{A1B2C3D4-E5F6-47A8-9B0C-1234567890AB}.Release|x86.Build.0 = Release|Any CPU
73+
{B2C3D4E5-F6A7-48B9-0C1D-2345678901BC}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
74+
{B2C3D4E5-F6A7-48B9-0C1D-2345678901BC}.Debug|Any CPU.Build.0 = Debug|Any CPU
75+
{B2C3D4E5-F6A7-48B9-0C1D-2345678901BC}.Debug|x64.ActiveCfg = Debug|Any CPU
76+
{B2C3D4E5-F6A7-48B9-0C1D-2345678901BC}.Debug|x64.Build.0 = Debug|Any CPU
77+
{B2C3D4E5-F6A7-48B9-0C1D-2345678901BC}.Debug|x86.ActiveCfg = Debug|Any CPU
78+
{B2C3D4E5-F6A7-48B9-0C1D-2345678901BC}.Debug|x86.Build.0 = Debug|Any CPU
79+
{B2C3D4E5-F6A7-48B9-0C1D-2345678901BC}.Release|Any CPU.ActiveCfg = Release|Any CPU
80+
{B2C3D4E5-F6A7-48B9-0C1D-2345678901BC}.Release|Any CPU.Build.0 = Release|Any CPU
81+
{B2C3D4E5-F6A7-48B9-0C1D-2345678901BC}.Release|x64.ActiveCfg = Release|Any CPU
82+
{B2C3D4E5-F6A7-48B9-0C1D-2345678901BC}.Release|x64.Build.0 = Release|Any CPU
83+
{B2C3D4E5-F6A7-48B9-0C1D-2345678901BC}.Release|x86.ActiveCfg = Release|Any CPU
84+
{B2C3D4E5-F6A7-48B9-0C1D-2345678901BC}.Release|x86.Build.0 = Release|Any CPU
85+
{C3D4E5F6-A7B8-49C0-1D2E-3456789012CD}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
86+
{C3D4E5F6-A7B8-49C0-1D2E-3456789012CD}.Debug|Any CPU.Build.0 = Debug|Any CPU
87+
{C3D4E5F6-A7B8-49C0-1D2E-3456789012CD}.Debug|x64.ActiveCfg = Debug|Any CPU
88+
{C3D4E5F6-A7B8-49C0-1D2E-3456789012CD}.Debug|x64.Build.0 = Debug|Any CPU
89+
{C3D4E5F6-A7B8-49C0-1D2E-3456789012CD}.Debug|x86.ActiveCfg = Debug|Any CPU
90+
{C3D4E5F6-A7B8-49C0-1D2E-3456789012CD}.Debug|x86.Build.0 = Debug|Any CPU
91+
{C3D4E5F6-A7B8-49C0-1D2E-3456789012CD}.Release|Any CPU.ActiveCfg = Release|Any CPU
92+
{C3D4E5F6-A7B8-49C0-1D2E-3456789012CD}.Release|Any CPU.Build.0 = Release|Any CPU
93+
{C3D4E5F6-A7B8-49C0-1D2E-3456789012CD}.Release|x64.ActiveCfg = Release|Any CPU
94+
{C3D4E5F6-A7B8-49C0-1D2E-3456789012CD}.Release|x64.Build.0 = Release|Any CPU
95+
{C3D4E5F6-A7B8-49C0-1D2E-3456789012CD}.Release|x86.ActiveCfg = Release|Any CPU
96+
{C3D4E5F6-A7B8-49C0-1D2E-3456789012CD}.Release|x86.Build.0 = Release|Any CPU
2897
{C2EA98A7-FC7A-4EA6-A316-562A832D3D9A}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
2998
{C2EA98A7-FC7A-4EA6-A316-562A832D3D9A}.Debug|Any CPU.Build.0 = Debug|Any CPU
3099
{C2EA98A7-FC7A-4EA6-A316-562A832D3D9A}.Debug|x64.ActiveCfg = Debug|Any CPU
@@ -78,9 +147,13 @@ Global
78147
HideSolutionNode = FALSE
79148
EndGlobalSection
80149
GlobalSection(NestedProjects) = preSolution
150+
{D4E5F6A7-B8C9-40D1-2E3F-4567890123DE} = {85990620-78A6-4381-8BD6-84E6D0CF0649}
151+
{E5F6A7B8-C9D0-41E2-3F45-5678901234EF} = {85990620-78A6-4381-8BD6-84E6D0CF0649}
81152
{C2EA98A7-FC7A-4EA6-A316-562A832D3D9A} = {85990620-78A6-4381-8BD6-84E6D0CF0649}
82153
{E1F24B25-E027-45E0-A6E1-E08138F1F95D} = {85990620-78A6-4381-8BD6-84E6D0CF0649}
83154
{89BD76AD-78C9-4E4A-96A2-E5DA6D4AFA44} = {85990620-78A6-4381-8BD6-84E6D0CF0649}
155+
{A1B2C3D4-E5F6-47A8-9B0C-1234567890AB} = {85990620-78A6-4381-8BD6-84E6D0CF0649}
156+
{B2C3D4E5-F6A7-48B9-0C1D-2345678901BC} = {85990620-78A6-4381-8BD6-84E6D0CF0649}
84157
{248C5D51-2B33-4A06-A0EA-AA709F752E52} = {AA4B8CC2-1431-4FC7-9DF3-533EC6C86D3A}
85158
EndGlobalSection
86159
EndGlobal
Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
<Project Sdk="Microsoft.NET.Sdk">
2+
<PropertyGroup>
3+
<AssemblyName>Docker.DotNet.LegacyHttp</AssemblyName>
4+
<PackageId>Docker.DotNet.LegacyHttp</PackageId>
5+
<Description>Docker.DotNet.LegacyHttp is a library that allows you to connect via http(s) with a Docker engine programmatically in your .NET applications.</Description>
6+
</PropertyGroup>
7+
<ItemGroup>
8+
<ProjectReference Include="..\Docker.DotNet\Docker.DotNet.csproj" />
9+
</ItemGroup>
10+
<ItemGroup>
11+
<Using Include="System" />
12+
<Using Include="System.Net.Http" />
13+
<Using Include="System.Net.Http.Headers" />
14+
<Using Include="System.Runtime.InteropServices" />
15+
<Using Include="System.Security" />
16+
<Using Include="System.Text" />
17+
<Using Include="System.Threading" />
18+
<Using Include="System.Threading.Tasks" />
19+
</ItemGroup>
20+
</Project>
Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
using System;
2+
using Microsoft.Extensions.Logging;
3+
4+
namespace Docker.DotNet.LegacyHttp
5+
{
6+
public class LegacyHttpHandlerFactory : IDockerHandlerFactory
7+
{
8+
public Tuple<HttpMessageHandler, Uri> CreateHandler(Uri uri, DockerClientConfiguration configuration, ILogger logger)
9+
{
10+
var builder = new UriBuilder(uri)
11+
{
12+
Scheme = configuration.Credentials.IsTlsCredentials() ? "https" : "http"
13+
};
14+
uri = builder.Uri;
15+
return new Tuple<HttpMessageHandler, Uri>(
16+
new Microsoft.Net.Http.Client.ManagedHandler(logger),
17+
uri
18+
);
19+
}
20+
}
21+
}

src/Docker.DotNet/Microsoft.Net.Http.Client/BufferedReadStream.cs renamed to src/Docker.DotNet.LegacyHttp/Microsoft.Net.Http.Client/BufferedReadStream.cs

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,9 @@
1+
using System.Buffers;
2+
using System.IO;
3+
using System.Net.Sockets;
4+
using Docker.DotNet;
5+
using Microsoft.Extensions.Logging;
6+
17
namespace Microsoft.Net.Http.Client;
28

39
internal sealed class BufferedReadStream : WriteClosableStream, IPeekableStream

src/Docker.DotNet/Microsoft.Net.Http.Client/ChunkedReadStream.cs renamed to src/Docker.DotNet.LegacyHttp/Microsoft.Net.Http.Client/ChunkedReadStream.cs

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,6 @@
1+
using System.Globalization;
2+
using System.IO;
3+
14
namespace Microsoft.Net.Http.Client;
25

36
internal sealed class ChunkedReadStream : Stream

src/Docker.DotNet/Microsoft.Net.Http.Client/ChunkedWriteStream.cs renamed to src/Docker.DotNet.LegacyHttp/Microsoft.Net.Http.Client/ChunkedWriteStream.cs

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
1+
using System.IO;
2+
13
namespace Microsoft.Net.Http.Client;
24

35
internal sealed class ChunkedWriteStream : Stream

src/Docker.DotNet/Microsoft.Net.Http.Client/ContentLengthReadStream.cs renamed to src/Docker.DotNet.LegacyHttp/Microsoft.Net.Http.Client/ContentLengthReadStream.cs

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
1+
using System.IO;
2+
13
namespace Microsoft.Net.Http.Client;
24

35
internal class ContentLengthReadStream : Stream

src/Docker.DotNet/Microsoft.Net.Http.Client/HttpConnection.cs renamed to src/Docker.DotNet.LegacyHttp/Microsoft.Net.Http.Client/HttpConnection.cs

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,8 @@
1+
using System.Collections.Generic;
2+
using System.Globalization;
3+
using System.Linq;
4+
using System.Net;
5+
16
namespace Microsoft.Net.Http.Client;
27

38
internal sealed class HttpConnection : IDisposable

src/Docker.DotNet/Microsoft.Net.Http.Client/HttpConnectionResponseContent.cs renamed to src/Docker.DotNet.LegacyHttp/Microsoft.Net.Http.Client/HttpConnectionResponseContent.cs

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,6 @@
1+
using System.IO;
2+
using Docker.DotNet;
3+
14
namespace Microsoft.Net.Http.Client;
25

36
public class HttpConnectionResponseContent : HttpContent

src/Docker.DotNet/Microsoft.Net.Http.Client/ManagedHandler.cs renamed to src/Docker.DotNet.LegacyHttp/Microsoft.Net.Http.Client/ManagedHandler.cs

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,16 @@
11
namespace Microsoft.Net.Http.Client;
22

33
using System;
4+
using System.Collections.Generic;
5+
using System.Globalization;
6+
using System.IO;
7+
using System.Linq;
8+
using System.Net;
9+
using System.Net.Security;
10+
using System.Net.Sockets;
11+
using System.Security.Authentication;
12+
using System.Security.Cryptography.X509Certificates;
13+
using Microsoft.Extensions.Logging;
414

515
public class ManagedHandler : HttpMessageHandler
616
{

0 commit comments

Comments
 (0)