Skip to content

Commit d655afe

Browse files
committed
Merge branch 'master' of github.com:restsharp/RestSharp
2 parents 87c81d1 + 7d70af4 commit d655afe

Some content is hidden

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

44 files changed

+65
-27175
lines changed

RestSharp.Silverlight/RestSharp.Silverlight.csproj

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -50,7 +50,7 @@
5050
<ItemGroup>
5151
<Reference Include="mscorlib" />
5252
<Reference Include="Newtonsoft.Json">
53-
<HintPath>..\packages\Newtonsoft.Json.4.0.3\lib\sl4\Newtonsoft.Json.dll</HintPath>
53+
<HintPath>..\packages\Newtonsoft.Json.4.0.4\lib\sl4\Newtonsoft.Json.dll</HintPath>
5454
</Reference>
5555
<Reference Include="System.ServiceModel" />
5656
<Reference Include="System.ServiceModel.Web" />
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
11
<?xml version="1.0" encoding="utf-8"?>
22
<packages>
3-
<package id="Newtonsoft.Json" version="4.0.3" />
3+
<package id="Newtonsoft.Json" version="4.0.4" />
44
</packages>

RestSharp.Tests/JsonTests.cs

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -312,6 +312,17 @@ public void Can_Deserialize_JScript_Json_Dates()
312312
Assert.Equal(new DateTime(1910, 9, 25, 9, 30, 25, DateTimeKind.Utc), bd.Value);
313313
}
314314

315+
[Fact]
316+
public void Can_Deserialize_Unix_Json_Dates()
317+
{
318+
var doc = CreateUnixDateJson();
319+
var d = new JsonDeserializer();
320+
var response = new RestResponse { Content = doc };
321+
var bd = d.Deserialize<Birthdate>(response);
322+
323+
Assert.Equal(new DateTime(2011, 6, 30, 8, 15, 46, DateTimeKind.Utc), bd.Value);
324+
}
325+
315326
[Fact]
316327
public void Can_Deserialize_JsonNet_Dates()
317328
{
@@ -511,6 +522,14 @@ private string CreateJScriptDateJson()
511522
return JsonConvert.SerializeObject(bd, new JavaScriptDateTimeConverter());
512523
}
513524

525+
private string CreateUnixDateJson()
526+
{
527+
var doc = new JObject();
528+
doc["Value"] = 1309421746;
529+
530+
return doc.ToString();
531+
}
532+
514533
private string CreateJson()
515534
{
516535
var doc = new JObject();

RestSharp.Tests/RestSharp.Tests.csproj

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -53,9 +53,8 @@
5353
<DocumentationFile>bin\Release\RestSharp.Tests.xml</DocumentationFile>
5454
</PropertyGroup>
5555
<ItemGroup>
56-
<Reference Include="Newtonsoft.Json, Version=4.0.3.0, Culture=neutral, PublicKeyToken=30ad4fe6b2a6aeed, processorArchitecture=MSIL">
57-
<SpecificVersion>False</SpecificVersion>
58-
<HintPath>..\packages\Newtonsoft.Json.4.0.3\lib\net40\Newtonsoft.Json.dll</HintPath>
56+
<Reference Include="Newtonsoft.Json">
57+
<HintPath>..\packages\Newtonsoft.Json.4.0.4\lib\net40\Newtonsoft.Json.dll</HintPath>
5958
</Reference>
6059
<Reference Include="System" />
6160
<Reference Include="System.Core">

RestSharp.Tests/packages.config

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
<?xml version="1.0" encoding="utf-8"?>
22
<packages>
3-
<package id="Newtonsoft.Json" version="4.0.3" />
3+
<package id="Newtonsoft.Json" version="4.0.4" />
44
<package id="xunit" version="1.8.0.1549" />
55
<package id="xunit.extensions" version="1.8.0.1549" />
66
</packages>

RestSharp.WindowsPhone.Mango/RestSharp.WindowsPhone.Mango.csproj

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -44,7 +44,7 @@
4444
</PropertyGroup>
4545
<ItemGroup>
4646
<Reference Include="Newtonsoft.Json">
47-
<HintPath>..\packages\Newtonsoft.Json.4.0.3\lib\sl3-wp\Newtonsoft.Json.dll</HintPath>
47+
<HintPath>..\packages\Newtonsoft.Json.4.0.4\lib\sl3-wp\Newtonsoft.Json.dll</HintPath>
4848
</Reference>
4949
<Reference Include="System.Windows" />
5050
<Reference Include="system" />
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
11
<?xml version="1.0" encoding="utf-8"?>
22
<packages>
3-
<package id="Newtonsoft.Json" version="4.0.3" />
3+
<package id="Newtonsoft.Json" version="4.0.4" />
44
</packages>

RestSharp.WindowsPhone/RestSharp.WindowsPhone.csproj

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -45,7 +45,7 @@
4545
<ItemGroup>
4646
<Reference Include="mscorlib" />
4747
<Reference Include="Newtonsoft.Json">
48-
<HintPath>..\packages\Newtonsoft.Json.4.0.3\lib\sl3-wp\Newtonsoft.Json.dll</HintPath>
48+
<HintPath>..\packages\Newtonsoft.Json.4.0.4\lib\sl3-wp\Newtonsoft.Json.dll</HintPath>
4949
</Reference>
5050
<Reference Include="System.Windows" />
5151
<Reference Include="system" />
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
11
<?xml version="1.0" encoding="utf-8"?>
22
<packages>
3-
<package id="Newtonsoft.Json" version="4.0.3" />
3+
<package id="Newtonsoft.Json" version="4.0.4" />
44
</packages>

RestSharp/Extensions/StringExtensions.cs

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -101,6 +101,13 @@ public static DateTime ParseJsonDate(this string input, CultureInfo culture)
101101

102102
input = input.RemoveSurroundingQuotes();
103103

104+
long unix;
105+
if (Int64.TryParse(input, out unix))
106+
{
107+
var epoch = new DateTime(1970, 1, 1, 0, 0, 0, DateTimeKind.Utc);
108+
return epoch.AddSeconds(unix);
109+
}
110+
104111
if (input.Contains("/Date("))
105112
{
106113
return ExtractDate(input, @"\\/Date\((-?\d+)(-|\+)?([0-9]{4})?\)\\/", culture);

0 commit comments

Comments
 (0)