Skip to content

Commit 2d81905

Browse files
committed
support http/2 and upgrade to 4.6.1 netframework
1 parent 1a6f8bd commit 2d81905

File tree

12 files changed

+94
-14
lines changed

12 files changed

+94
-14
lines changed

AADClient.Console/AADClient.Console.csproj

Lines changed: 18 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,9 +9,10 @@
99
<AppDesignerFolder>Properties</AppDesignerFolder>
1010
<RootNamespace>AADClient</RootNamespace>
1111
<AssemblyName>AADClient</AssemblyName>
12-
<TargetFrameworkVersion>v4.5.2</TargetFrameworkVersion>
12+
<TargetFrameworkVersion>v4.6.1</TargetFrameworkVersion>
1313
<FileAlignment>512</FileAlignment>
1414
<AutoGenerateBindingRedirects>true</AutoGenerateBindingRedirects>
15+
<TargetFrameworkProfile />
1516
</PropertyGroup>
1617
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
1718
<PlatformTarget>AnyCPU</PlatformTarget>
@@ -43,12 +44,28 @@
4344
<HintPath>..\packages\Newtonsoft.Json.6.0.6\lib\net45\Newtonsoft.Json.dll</HintPath>
4445
</Reference>
4546
<Reference Include="System" />
47+
<Reference Include="System.Buffers, Version=4.0.3.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL">
48+
<HintPath>..\packages\System.Buffers.4.5.1\lib\net461\System.Buffers.dll</HintPath>
49+
</Reference>
4650
<Reference Include="System.Core" />
4751
<Reference Include="System.IdentityModel" />
4852
<Reference Include="System.IdentityModel.Tokens.Jwt, Version=4.0.20622.1351, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
4953
<HintPath>..\packages\System.IdentityModel.Tokens.Jwt.4.0.2.206221351\lib\net45\System.IdentityModel.Tokens.Jwt.dll</HintPath>
5054
<Private>True</Private>
5155
</Reference>
56+
<Reference Include="System.Memory, Version=4.0.1.1, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL">
57+
<HintPath>..\packages\System.Memory.4.5.4\lib\net461\System.Memory.dll</HintPath>
58+
</Reference>
59+
<Reference Include="System.Net.Http.WinHttpHandler, Version=5.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
60+
<HintPath>..\packages\System.Net.Http.WinHttpHandler.5.0.0\lib\net461\System.Net.Http.WinHttpHandler.dll</HintPath>
61+
</Reference>
62+
<Reference Include="System.Numerics" />
63+
<Reference Include="System.Numerics.Vectors, Version=4.1.4.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
64+
<HintPath>..\packages\System.Numerics.Vectors.4.5.0\lib\net46\System.Numerics.Vectors.dll</HintPath>
65+
</Reference>
66+
<Reference Include="System.Runtime.CompilerServices.Unsafe, Version=4.0.4.1, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
67+
<HintPath>..\packages\System.Runtime.CompilerServices.Unsafe.4.5.3\lib\net461\System.Runtime.CompilerServices.Unsafe.dll</HintPath>
68+
</Reference>
5269
<Reference Include="System.Windows.Forms" />
5370
<Reference Include="System.Xml.Linq" />
5471
<Reference Include="System.Data.DataSetExtensions" />

AADClient.Console/App.config

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
1-
<?xml version="1.0" encoding="utf-8" ?>
1+
<?xml version="1.0" encoding="utf-8"?>
22
<configuration>
33
<startup>
4-
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5.2" />
4+
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.6.1"/>
55
</startup>
6-
</configuration>
6+
</configuration>

AADClient.Console/packages.config

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,5 +3,10 @@
33
<package id="Microsoft.AspNet.WebApi.Client" version="5.2.2" targetFramework="net451" />
44
<package id="Microsoft.IdentityModel.Clients.ActiveDirectory" version="2.14.201151115" targetFramework="net45" />
55
<package id="Newtonsoft.Json" version="6.0.6" targetFramework="net451" />
6+
<package id="System.Buffers" version="4.5.1" targetFramework="net461" />
67
<package id="System.IdentityModel.Tokens.Jwt" version="4.0.2.206221351" targetFramework="net452" />
8+
<package id="System.Memory" version="4.5.4" targetFramework="net461" />
9+
<package id="System.Net.Http.WinHttpHandler" version="5.0.0" targetFramework="net461" />
10+
<package id="System.Numerics.Vectors" version="4.5.0" targetFramework="net461" />
11+
<package id="System.Runtime.CompilerServices.Unsafe" version="4.5.3" targetFramework="net461" />
712
</packages>

ARMClient.Authentication/ARMClient.Authentication.csproj

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,8 +9,9 @@
99
<AppDesignerFolder>Properties</AppDesignerFolder>
1010
<RootNamespace>ARMClient.Authentication</RootNamespace>
1111
<AssemblyName>ARMClient.Authentication</AssemblyName>
12-
<TargetFrameworkVersion>v4.5</TargetFrameworkVersion>
12+
<TargetFrameworkVersion>v4.6.1</TargetFrameworkVersion>
1313
<FileAlignment>512</FileAlignment>
14+
<TargetFrameworkProfile />
1415
<!--
1516
<NuGetPackageImportStamp>
1617
</NuGetPackageImportStamp>

ARMClient.Console/ARMClient.Console.csproj

Lines changed: 18 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,9 +9,10 @@
99
<AppDesignerFolder>Properties</AppDesignerFolder>
1010
<RootNamespace>ARMClient</RootNamespace>
1111
<AssemblyName>ARMClient</AssemblyName>
12-
<TargetFrameworkVersion>v4.5</TargetFrameworkVersion>
12+
<TargetFrameworkVersion>v4.6.1</TargetFrameworkVersion>
1313
<FileAlignment>512</FileAlignment>
1414
<AutoGenerateBindingRedirects>true</AutoGenerateBindingRedirects>
15+
<TargetFrameworkProfile />
1516
</PropertyGroup>
1617
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
1718
<PlatformTarget>AnyCPU</PlatformTarget>
@@ -45,12 +46,28 @@
4546
<HintPath>..\packages\Newtonsoft.Json.6.0.6\lib\net45\Newtonsoft.Json.dll</HintPath>
4647
</Reference>
4748
<Reference Include="System" />
49+
<Reference Include="System.Buffers, Version=4.0.3.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL">
50+
<HintPath>..\packages\System.Buffers.4.5.1\lib\net461\System.Buffers.dll</HintPath>
51+
</Reference>
4852
<Reference Include="System.Core" />
4953
<Reference Include="System.Net.Http" />
5054
<Reference Include="System.Net.Http.Formatting, Version=5.2.2.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
5155
<SpecificVersion>False</SpecificVersion>
5256
<HintPath>..\packages\Microsoft.AspNet.WebApi.Client.5.2.2\lib\net45\System.Net.Http.Formatting.dll</HintPath>
5357
</Reference>
58+
<Reference Include="System.Memory, Version=4.0.1.1, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL">
59+
<HintPath>..\packages\System.Memory.4.5.4\lib\net461\System.Memory.dll</HintPath>
60+
</Reference>
61+
<Reference Include="System.Net.Http.WinHttpHandler, Version=5.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
62+
<HintPath>..\packages\System.Net.Http.WinHttpHandler.5.0.0\lib\net461\System.Net.Http.WinHttpHandler.dll</HintPath>
63+
</Reference>
64+
<Reference Include="System.Numerics" />
65+
<Reference Include="System.Numerics.Vectors, Version=4.1.4.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
66+
<HintPath>..\packages\System.Numerics.Vectors.4.5.0\lib\net46\System.Numerics.Vectors.dll</HintPath>
67+
</Reference>
68+
<Reference Include="System.Runtime.CompilerServices.Unsafe, Version=4.0.4.1, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
69+
<HintPath>..\packages\System.Runtime.CompilerServices.Unsafe.4.5.3\lib\net461\System.Runtime.CompilerServices.Unsafe.dll</HintPath>
70+
</Reference>
5471
<Reference Include="System.Windows.Forms" />
5572
<Reference Include="System.Xml.Linq" />
5673
<Reference Include="System.Data.DataSetExtensions" />

ARMClient.Console/App.config

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
<?xml version="1.0"?>
22
<configuration>
33
<startup>
4-
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5"/>
4+
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.6.1"/>
55
</startup>
66
</configuration>

ARMClient.Console/HttpLoggingHandler.cs

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,11 @@ protected override async Task<HttpResponseMessage> SendAsync(HttpRequestMessage
2828
const ConsoleColor successColor = ConsoleColor.Green;
2929
const ConsoleColor failureColor = ConsoleColor.Red;
3030

31+
if (InnerHandler is WinHttpHandler)
32+
{
33+
request.Version = new Version(2, 0);
34+
}
35+
3136
ConsoleColor originalColor = Console.ForegroundColor;
3237
if (_verbose)
3338
{

ARMClient.Console/Program.cs

Lines changed: 13 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -214,13 +214,14 @@ static int Main(string[] args)
214214

215215
var content = ParseHttpContent(verb, _parameters);
216216
var headers = _parameters.GetValue<Dictionary<string, List<string>>>("-h", requires: false);
217+
var http2 = _parameters.Get("-http2", requires: false) != null;
217218
_parameters.ThrowIfUnknown();
218219

219220
var uri = Utils.EnsureAbsoluteUri(path, persistentAuthHelper);
220221
var accessToken = Utils.GetDefaultToken();
221222
if (!String.IsNullOrEmpty(accessToken))
222223
{
223-
return HttpInvoke(uri, new TokenCacheInfo { AccessToken = accessToken }, verb, verbose, content, headers).Result;
224+
return HttpInvoke(uri, new TokenCacheInfo { AccessToken = accessToken }, verb, verbose, content, headers, http2).Result;
224225
}
225226

226227
var env = ARMConfiguration.GetEnvironmentByRequest(uri) ?? Utils.GetDefaultEnv();
@@ -233,7 +234,7 @@ static int Main(string[] args)
233234
var resource = GetResource(uri, persistentAuthHelper.ARMConfiguration);
234235
var subscriptionId = GetTenantOrSubscription(uri);
235236
var cacheInfo = persistentAuthHelper.GetToken(subscriptionId, resource).Result ?? persistentAuthHelper.GetTokenByResource(resource).Result;
236-
return HttpInvoke(uri, cacheInfo, verb, verbose, content, headers).Result;
237+
return HttpInvoke(uri, cacheInfo, verb, verbose, content, headers, http2).Result;
237238
}
238239
else
239240
{
@@ -359,8 +360,9 @@ static void PrintUsage()
359360

360361
Console.WriteLine();
361362
Console.WriteLine("Call ARM api");
362-
Console.WriteLine(" ARMClient.exe [get|post|put|patch|delete] [url] (<@file|content>) (-h \"header: value\") (-verbose)");
363+
Console.WriteLine(" ARMClient.exe [get|post|put|patch|delete] [url] (<@file|content>) (-h \"header: value\") (-verbose) (-http2)");
363364
Console.WriteLine(" Use '-h' multiple times to add more than one custom HTTP header.");
365+
Console.WriteLine(" Use '-http2' to force http/2.");
364366

365367
Console.WriteLine();
366368
Console.WriteLine("Copy token to clipboard");
@@ -417,9 +419,15 @@ static HttpContent ParseHttpContent(string verb, CommandLineParameters parameter
417419
return null;
418420
}
419421

420-
static async Task<int> HttpInvoke(Uri uri, TokenCacheInfo cacheInfo, string verb, bool verbose, HttpContent content, Dictionary<string, List<string>> headers)
422+
static async Task<int> HttpInvoke(Uri uri, TokenCacheInfo cacheInfo, string verb, bool verbose, HttpContent content, Dictionary<string, List<string>> headers, bool http2)
421423
{
422-
var handler = new HttpLoggingHandler(new HttpClientHandler(), verbose);
424+
var winhttp = http2 ? new WinHttpHandler() : null;
425+
if (Utils.GetSkipSslVerify() && winhttp != null)
426+
{
427+
winhttp.ServerCertificateValidationCallback = delegate { return true; };
428+
}
429+
430+
var handler = new HttpLoggingHandler((HttpMessageHandler)winhttp ?? new HttpClientHandler(), verbose);
423431
return await Utils.HttpInvoke(uri, cacheInfo, verb, handler, content, headers);
424432
}
425433

ARMClient.Console/packages.config

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,4 +3,9 @@
33
<package id="Microsoft.AspNet.WebApi.Client" version="5.2.2" targetFramework="net451" />
44
<package id="Microsoft.IdentityModel.Clients.ActiveDirectory" version="2.14.201151115" targetFramework="net45" />
55
<package id="Newtonsoft.Json" version="6.0.6" targetFramework="net451" />
6+
<package id="System.Buffers" version="4.5.1" targetFramework="net461" />
7+
<package id="System.Memory" version="4.5.4" targetFramework="net461" />
8+
<package id="System.Net.Http.WinHttpHandler" version="5.0.0" targetFramework="net461" />
9+
<package id="System.Numerics.Vectors" version="4.5.0" targetFramework="net461" />
10+
<package id="System.Runtime.CompilerServices.Unsafe" version="4.5.3" targetFramework="net461" />
611
</packages>

RDFEClient.Console/App.config

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
<?xml version="1.0"?>
22
<configuration>
33
<startup>
4-
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5"/>
4+
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.6.1"/>
55
</startup>
66
</configuration>

0 commit comments

Comments
 (0)