Skip to content

Commit 36b380e

Browse files
committed
Merge pull request #582 from carolynvs/upgrade-flurl
Upgrade to Flurl.Http 0.7
2 parents 262153b + 034b4db commit 36b380e

28 files changed

+426
-236
lines changed

src/corelib/Authentication/AuthenticatedHttpClientFactory.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ public override HttpClient CreateClient(Url url, HttpMessageHandler handler)
1616
{
1717
return new HttpClient(handler)
1818
{
19-
Timeout = FlurlHttp.Configuration.DefaultTimeout
19+
Timeout = FlurlHttp.GlobalSettings.DefaultTimeout
2020
};
2121
}
2222

src/corelib/Compute/v2_6/Console.cs

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
using System;
2+
using Newtonsoft.Json;
23
using OpenStack.Serialization;
34

45
namespace OpenStack.Compute.v2_6
@@ -12,11 +13,13 @@ public class Console
1213
/// <summary>
1314
/// The console type.
1415
/// </summary>
16+
[JsonProperty("type")]
1517
public RemoteConsoleType Type { get; set; }
1618

1719
/// <summary>
1820
/// The console URL.
1921
/// </summary>
22+
[JsonProperty("url")]
2023
public Uri Url { get; set; }
2124
}
2225
}

src/corelib/ContentDeliveryNetworks/v1/ServiceOperationFailedException.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@ public ServiceOperationFailedException(IEnumerable<ServiceError> errors)
2727
/// <param name="context">The <see cref="T:System.Runtime.Serialization.StreamingContext" /> that contains contextual information about the source or destination.</param>
2828
private ServiceOperationFailedException(SerializationInfo info, StreamingContext context) : base(info, context)
2929
{
30-
Errors = JsonConvert.DeserializeObject<IEnumerable<ServiceError>>(info.GetString("service_errors"));
30+
Errors = OpenStackNet.Configuration.FlurlHttpSettings.JsonSerializer.Deserialize<IEnumerable<ServiceError>>(info.GetString("service_errors"));
3131
}
3232

3333
/// <summary>
@@ -48,7 +48,7 @@ private ServiceOperationFailedException(SerializationInfo info, StreamingContext
4848
public override void GetObjectData(SerializationInfo info, StreamingContext context)
4949
{
5050
// ReSharper disable once ExceptionNotDocumented
51-
info.AddValue("service_errors", JsonConvert.SerializeObject(Errors));
51+
info.AddValue("service_errors", OpenStackNet.Configuration.FlurlHttpSettings.JsonSerializer.Serialize(Errors));
5252
base.GetObjectData(info, context);
5353
}
5454
}

src/corelib/Extensions/FlurlExtensions.cs

Lines changed: 23 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@
66
using System.Net.Http;
77
using System.Threading.Tasks;
88
using Flurl.Http;
9+
using OpenStack;
910
using OpenStack.Authentication;
1011

1112
// ReSharper disable once CheckNamespace
@@ -17,17 +18,6 @@ namespace Flurl.Extensions
1718
/// <exclude/>
1819
public static class FlurlExtensions
1920
{
20-
/// <summary>
21-
/// Allow a specific HTTP status code.
22-
/// </summary>
23-
/// <param name="client">The client.</param>
24-
/// <param name="statusCode">The allowed status code.</param>
25-
/// <returns></returns>
26-
public static FlurlClient AllowHttpStatus(this FlurlClient client, HttpStatusCode statusCode)
27-
{
28-
return client.AllowHttpStatus(((int)statusCode).ToString(CultureInfo.InvariantCulture));
29-
}
30-
3121
/// <summary>
3222
/// Allow a specific HTTP status code.
3323
/// </summary>
@@ -106,8 +96,28 @@ public static PreparedRequest Authenticate(this string url, IAuthenticationProvi
10696
/// </returns>
10797
public static PreparedRequest Authenticate(this Url url, IAuthenticationProvider authenticationProvider)
10898
{
109-
var client = new PreparedRequest(url, autoDispose: true);
110-
return client.Authenticate(authenticationProvider);
99+
return url.PrepareRequest().Authenticate(authenticationProvider);
100+
}
101+
102+
/// <summary>
103+
/// Builds a prepared Flurl request which can be executed at a later time.
104+
/// </summary>
105+
/// <param name="url">The URL.</param>
106+
public static PreparedRequest PrepareRequest(this string url)
107+
{
108+
return new Url(url).PrepareRequest();
109+
}
110+
111+
/// <summary>
112+
/// Builds a prepared Flurl request which can be executed at a later time.
113+
/// </summary>
114+
/// <param name="url">The URL.</param>
115+
public static PreparedRequest PrepareRequest(this Url url)
116+
{
117+
return new PreparedRequest(url, autoDispose: true)
118+
{
119+
Settings = OpenStackNet.Configuration.FlurlHttpSettings
120+
};
111121
}
112122

113123
/// <summary>

src/corelib/Extensions/TypeExtensions.cs

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,15 @@ public static string GetAssemblyFileVersion(this Type type)
3131
}
3232
}
3333

34+
/// <summary />
35+
public static T Clone<T>(this T src)
36+
where T : new()
37+
{
38+
var dest = new T();
39+
src.CopyProperties(dest);
40+
return dest;
41+
}
42+
3443
/// <summary />
3544
public static void CopyProperties<T>(this T src, T dest)
3645
{

src/corelib/Flurl/PreparedRequest.cs

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -2,8 +2,6 @@
22
using System.Net.Http;
33
using System.Threading;
44
using System.Threading.Tasks;
5-
using Flurl;
6-
using Flurl.Http;
75
using Flurl.Http.Content;
86

97
// ReSharper disable once CheckNamespace
@@ -97,7 +95,7 @@ public PreparedRequest(Url url, bool autoDispose) : base(url, autoDispose)
9795
public PreparedRequest PreparePatchJson(object data, CancellationToken cancellationToken = default(CancellationToken))
9896
{
9997
Verb = new HttpMethod("PATCH");
100-
Content = new CapturedJsonContent(data);
98+
Content = new CapturedJsonContent(Settings.JsonSerializer.Serialize(data));
10199
CancellationToken = cancellationToken;
102100
return this;
103101
}
@@ -108,7 +106,7 @@ public PreparedRequest(Url url, bool autoDispose) : base(url, autoDispose)
108106
public PreparedRequest PreparePostJson(object data, CancellationToken cancellationToken = default(CancellationToken))
109107
{
110108
Verb = HttpMethod.Post;
111-
Content = new CapturedJsonContent(data);
109+
Content = new CapturedJsonContent(Settings.JsonSerializer.Serialize(data));
112110
CancellationToken = cancellationToken;
113111
return this;
114112
}
@@ -119,7 +117,7 @@ public PreparedRequest(Url url, bool autoDispose) : base(url, autoDispose)
119117
public PreparedRequest PreparePutJson(object data, CancellationToken cancellationToken = default(CancellationToken))
120118
{
121119
Verb = HttpMethod.Put;
122-
Content = new CapturedJsonContent(data);
120+
Content = new CapturedJsonContent(Settings.JsonSerializer.Serialize(data));
123121
CancellationToken = cancellationToken;
124122
return this;
125123
}

src/corelib/OpenStack.csproj

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -48,12 +48,12 @@
4848
<AssemblyOriginatorKeyFile Condition="'$(KeyConfiguration)' != 'Final'">..\..\build\keys\OpenStackNetV1.dev.snk</AssemblyOriginatorKeyFile>
4949
</PropertyGroup>
5050
<ItemGroup>
51-
<Reference Include="Flurl, Version=1.0.8.0, Culture=neutral, PublicKeyToken=1308302a96879dfb, processorArchitecture=MSIL">
52-
<HintPath>..\packages\Flurl.Signed.1.0.8\lib\portable-net40+sl50+win+wpa81+wp80+MonoAndroid10+MonoTouch10\Flurl.dll</HintPath>
51+
<Reference Include="Flurl, Version=1.0.10.0, Culture=neutral, PublicKeyToken=1308302a96879dfb, processorArchitecture=MSIL">
52+
<HintPath>..\packages\Flurl.Signed.1.0.10\lib\portable-net40+sl50+win+wpa81+wp80+MonoAndroid10+MonoTouch10\Flurl.dll</HintPath>
5353
<Private>True</Private>
5454
</Reference>
55-
<Reference Include="Flurl.Http, Version=0.6.2.0, Culture=neutral, PublicKeyToken=1308302a96879dfb, processorArchitecture=MSIL">
56-
<HintPath>..\packages\Flurl.Http.Signed.0.6.2.2015062601\lib\net45\Flurl.Http.dll</HintPath>
55+
<Reference Include="Flurl.Http, Version=0.7.0.0, Culture=neutral, PublicKeyToken=1308302a96879dfb, processorArchitecture=MSIL">
56+
<HintPath>..\packages\Flurl.Http.Signed.0.7.0\lib\net45\Flurl.Http.dll</HintPath>
5757
<Private>True</Private>
5858
</Reference>
5959
<Reference Include="Marvin.JsonPatch, Version=0.7.0.0, Culture=neutral, PublicKeyToken=686c63b2d045ab44, processorArchitecture=MSIL">

0 commit comments

Comments
 (0)