Skip to content

Commit d6eeb19

Browse files
authored
Merge pull request #49 from bcuff/net461
Re-added support for NET Framework 4.6.1
2 parents 9c7c500 + e2c64f7 commit d6eeb19

File tree

9 files changed

+108
-14
lines changed

9 files changed

+108
-14
lines changed

.gitignore

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -203,3 +203,5 @@ FakesAssemblies/
203203

204204
# snk key file
205205
*.snk
206+
207+
.ionide/

src/Elasticsearch.Net.Aws/ElasticSearch.Net.Aws.IntegrationTests/ElasticSearch.Net.Aws.IntegrationTests.csproj

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
<Project Sdk="Microsoft.NET.Sdk">
22

33
<PropertyGroup>
4-
<TargetFramework>netcoreapp2.2</TargetFramework>
4+
<TargetFrameworks>netcoreapp2.2;net461</TargetFrameworks>
55
<AssemblyName>ElasticSearch.Net.Aws.IntegrationTests</AssemblyName>
66
<PackageId>ElasticSearch.Net.Aws.IntegrationTests</PackageId>
77
<GenerateRuntimeConfigurationFiles>true</GenerateRuntimeConfigurationFiles>
@@ -17,8 +17,9 @@
1717
<ItemGroup>
1818
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="15.*" />
1919
<PackageReference Include="NUnit" Version="3.7.*" />
20-
<PackageReference Include="NEST" Version="7.0.0-beta1" />
20+
<PackageReference Include="NEST" Version="7.0.0" />
2121
<PackageReference Include="NUnit3TestAdapter" Version="3.8.0" />
22+
<PackageReference Include="Newtonsoft.Json" Version="12.0.2" />
2223
</ItemGroup>
2324

2425
<ItemGroup>
Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
11
{
2-
"endpoint": "<your aws elasticsearch service endpoint>",
3-
"region": "us-east-1"
2+
"endpoint": "https://search-dice-preview-logging-k4u5ga2hk4tk5muztuduyi7tea.us-east-1.es.amazonaws.com",
3+
"region": "us-east-1"
44
}

src/Elasticsearch.Net.Aws/ElasticSearch.Net.Aws.Tests/ElasticSearch.Net.Aws.Tests.csproj

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
<Project Sdk="Microsoft.NET.Sdk">
22

33
<PropertyGroup>
4-
<TargetFrameworks>netcoreapp2.0</TargetFrameworks>
4+
<TargetFrameworks>netcoreapp2.0;net461</TargetFrameworks>
55
<AssemblyName>ElasticSearch.Net.Aws.Tests</AssemblyName>
66
<PackageId>ElasticSearch.Net.Aws.Tests</PackageId>
77
<GenerateRuntimeConfigurationFiles>true</GenerateRuntimeConfigurationFiles>

src/Elasticsearch.Net.Aws/ElasticSearch.Net.Aws.Tests/SignUtilTests.cs

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,9 @@
44
using Amazon.Runtime;
55
using Elasticsearch.Net.Aws;
66
using NUnit.Framework;
7+
#if NETFRAMEWORK
8+
using System.Net;
9+
#endif
710

811
namespace Tests
912
{
@@ -18,11 +21,20 @@ public void SetUp()
1821
{
1922
var encoding = new UTF8Encoding(false);
2023
_sampleBody = encoding.GetBytes("Action=ListUsers&Version=2010-05-08");
24+
#if NETCOREAPP
2125
var request = new System.Net.Http.HttpRequestMessage(System.Net.Http.HttpMethod.Post, "https://iam.amazonaws.com/");
2226
request.Content = new System.Net.Http.ByteArrayContent(_sampleBody);
2327
request.Content.Headers.TryAddWithoutValidation("Content-Type", "application/x-www-form-urlencoded; charset=utf-8");
2428
request.Headers.TryAddWithoutValidation("X-Amz-Date", "20110909T233600Z");
2529
_sampleRequest = new HttpRequestMessageAdapter(request);
30+
#else
31+
var request = HttpWebRequest.CreateHttp("https://iam.amazonaws.com/");
32+
request.Method = "POST";
33+
//request.Content = new System.Net.Http.ByteArrayContent(_sampleBody);
34+
request.ContentType = "application/x-www-form-urlencoded; charset=utf-8";
35+
request.Headers["X-Amz-Date"] = "20110909T233600Z";
36+
_sampleRequest = new HttpWebRequestAdapter(request);
37+
#endif
2638
}
2739

2840
[Test]

src/Elasticsearch.Net.Aws/Elasticsearch.Net.Aws/AwsHttpConnection.cs

Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
using System;
22
using System.IO;
3+
using System.Net;
34
using System.Net.Http;
45
using Amazon;
56
using Amazon.Runtime;
@@ -43,12 +44,42 @@ public AwsHttpConnection() : this(
4344
{
4445
}
4546

47+
#if NETSTANDARD
4648
protected override HttpRequestMessage CreateHttpRequestMessage(RequestData requestData)
4749
{
4850
var request = base.CreateHttpRequestMessage(requestData);
4951
SignRequest(new HttpRequestMessageAdapter(request), requestData);
5052
return request;
5153
}
54+
#else
55+
static int _createHttpRequestDepth;
56+
57+
HttpWebRequest CreateWebRequestInternal(RequestData requestData, Func<RequestData, HttpWebRequest> creator)
58+
{
59+
_createHttpRequestDepth++;
60+
HttpWebRequest ret;
61+
try
62+
{
63+
ret = creator(requestData);
64+
}
65+
finally
66+
{
67+
_createHttpRequestDepth--;
68+
}
69+
if (_createHttpRequestDepth == 0)
70+
{
71+
SignRequest(new HttpWebRequestAdapter(ret), requestData);
72+
}
73+
return ret;
74+
75+
}
76+
77+
protected override HttpWebRequest CreateHttpWebRequest(RequestData requestData)
78+
=> CreateWebRequestInternal(requestData, base.CreateHttpWebRequest);
79+
80+
protected override HttpWebRequest CreateWebRequest(RequestData requestData)
81+
=> CreateWebRequestInternal(requestData, base.CreateWebRequest);
82+
#endif
5283

5384
private void SignRequest(IRequest request, RequestData requestData)
5485
{

src/Elasticsearch.Net.Aws/Elasticsearch.Net.Aws/Elasticsearch.Net.Aws.csproj

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,22 +1,22 @@
11
<Project Sdk="Microsoft.NET.Sdk">
22

33
<PropertyGroup>
4-
<VersionPrefix>7.0.0</VersionPrefix>
5-
<TargetFrameworks>netstandard2.0</TargetFrameworks>
4+
<VersionPrefix>7.0.1</VersionPrefix>
5+
<TargetFrameworks>netstandard2.0;net461</TargetFrameworks>
66
<AssemblyName>Elasticsearch.Net.Aws</AssemblyName>
77
<PackageId>Elasticsearch.Net.Aws</PackageId>
8-
<PackageVersion>7.0.0</PackageVersion>
8+
<PackageVersion>7.0.1</PackageVersion>
99
<Authors>Brandon Cuff</Authors>
1010
<Description>Enables request signing necessary for using the AWS Elasticsearch service.</Description>
1111
<Copyright>Copyright 2015</Copyright>
1212
<PackageLicenseUrl>https://raw.githubusercontent.com/bcuff/elasticsearch-net-aws/master/LICENSE</PackageLicenseUrl>
1313
<PackageProjectUrl>https://github.com/bcuff/elasticsearch-net-aws</PackageProjectUrl>
14-
<PackageReleaseNotes>Support NEST 7.0.0</PackageReleaseNotes>
14+
<PackageReleaseNotes>Support NET Framework 4.6.1</PackageReleaseNotes>
1515
<PackageTags>elasticsearch elastic search aws amazon</PackageTags>
1616
<RepositoryUrl>https://github.com/bcuff/elasticsearch-net-aws</RepositoryUrl>
17-
<AssemblyVersion>7.0.0</AssemblyVersion>
18-
<FileVersion>7.0.0</FileVersion>
19-
<Version>7.0.0</Version>
17+
<AssemblyVersion>7.0.1</AssemblyVersion>
18+
<FileVersion>7.0.1</FileVersion>
19+
<Version>7.0.1</Version>
2020
</PropertyGroup>
2121

2222
<PropertyGroup Condition="'$(Configuration)' == 'Release'">

src/Elasticsearch.Net.Aws/Elasticsearch.Net.Aws/HttpRequestMessageAdapter.cs

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
1-
using System;
1+
#if NETSTANDARD
2+
using System;
23
using System.Net.Http;
34
using System.Collections.Generic;
45
using System.Linq;
@@ -43,4 +44,5 @@ public HttpRequestMessageAdapter(HttpRequestMessage message)
4344
public string Method => _message.Method.ToString();
4445
public Uri RequestUri => _message.RequestUri;
4546
}
46-
}
47+
}
48+
#endif
Lines changed: 46 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,46 @@
1+
#if NETFRAMEWORK
2+
using System;
3+
using System.Collections.Generic;
4+
using System.Net;
5+
using System.Text;
6+
7+
namespace Elasticsearch.Net.Aws
8+
{
9+
class HttpWebRequestAdapter : IRequest, IHeaders
10+
{
11+
readonly HttpWebRequest _request;
12+
public HttpWebRequestAdapter(HttpWebRequest request)
13+
{
14+
_request = request;
15+
}
16+
17+
public IHeaders Headers => this;
18+
19+
public string Method => _request.Method;
20+
21+
public Uri RequestUri => _request.Address;
22+
23+
public string XAmzDate
24+
{
25+
get => _request.Headers["x-amz-date"];
26+
set => _request.Headers["x-amz-date"] = value;
27+
}
28+
29+
public string Authorization
30+
{
31+
get => _request.Headers[HttpRequestHeader.Authorization];
32+
set => _request.Headers[HttpRequestHeader.Authorization] = value;
33+
}
34+
35+
public string XAmzSecurityToken
36+
{
37+
get => _request.Headers["x-amz-security-token"];
38+
set => _request.Headers["x-amz-security-token"] = value;
39+
}
40+
41+
public IEnumerable<string> Keys => _request.Headers.AllKeys;
42+
43+
public IEnumerable<string> GetValues(string name) => _request.Headers.GetValues(name);
44+
}
45+
}
46+
#endif

0 commit comments

Comments
 (0)