update to RC2 - part2

This commit is contained in:
Nikolay Molchanov 2016-05-19 04:23:50 +03:00
parent 8bbaeade68
commit a029aa1bca
80 changed files with 557 additions and 375 deletions
Build
Flurl.Http.Library
Flurl.Http.PCL
Flurl.slnNuGet.Config
PackageTesters
Test
global.json
src

@ -1,2 +0,0 @@
mkdir ..\publish
call NuGet.exe pack Flurl.Http.nuspec -OutputDirectory ../publish/ >> pack.log

@ -1,2 +0,0 @@
mkdir ..\publish
call NuGet.exe pack Flurl.nuspec -OutputDirectory ../publish/ >> pack.log

3
Build/build.flurl.cmd Normal file

@ -0,0 +1,3 @@
cd ..\src\Flurl.Library\
call dotnet restore
call dotnet build --configuration Release

@ -0,0 +1,3 @@
cd ..\src\Flurl.Http.Library\
call dotnet restore
call dotnet build --configuration Release

@ -2,7 +2,7 @@
<package >
<metadata>
<id>Flurl.Http</id>
<version>1.0.0</version>
<version>1.0.0-beta</version>
<title>Flurl.Http</title>
<authors>Todd Menier</authors>
<projectUrl>http://tmenier.github.io/Flurl</projectUrl>
@ -41,57 +41,48 @@
</releaseNotes>
<tags>httpclient rest json http fluent portable url uri tdd assert async</tags>
<dependencies>
<group>
<dependency id="Newtonsoft.Json" version="8.0.3" />
<dependency id="Flurl" version="2.1.0" />
</group>
<group targetFramework="MonoAndroid1.0">
<dependency id="Microsoft.Bcl.Async" version="1.0.168" />
<dependency id="Microsoft.Net.Http" version="2.2.29" />
<dependency id="PCLStorage" version="1.0.2" />
<dependency id="Newtonsoft.Json" version="8.0.3" />
<dependency id="Flurl" version="2.1.0-beta2" />
</group>
<group targetFramework="MonoTouch1.0">
<dependency id="Microsoft.Bcl.Async" version="1.0.168" />
<dependency id="Microsoft.Net.Http" version="2.2.29" />
<dependency id="PCLStorage" version="1.0.2" />
</group>
<group targetFramework="Windows8.0">
<dependency id="Microsoft.Bcl.Async" version="1.0.168" />
<dependency id="Microsoft.Net.Http" version="2.2.29" />
<dependency id="PCLStorage" version="1.0.2" />
</group>
<group targetFramework="WindowsPhoneApp8.1">
<dependency id="Microsoft.Bcl.Async" version="1.0.168" />
<dependency id="Microsoft.Net.Http" version="2.2.29" />
<dependency id="PCLStorage" version="1.0.2" />
<dependency id="Newtonsoft.Json" version="8.0.3" />
<dependency id="Flurl" version="2.1.0-beta2" />
</group>
<group targetFramework="Xamarin.iOS1.0">
<dependency id="Microsoft.Bcl.Async" version="1.0.168" />
<dependency id="Microsoft.Net.Http" version="2.2.29" />
<dependency id="PCLStorage" version="1.0.2" />
<dependency id="Newtonsoft.Json" version="8.0.3" />
<dependency id="Flurl" version="2.1.0-beta2" />
</group>
<group targetFramework="Xamarin.Mac2.0">
<dependency id="Microsoft.Bcl.Async" version="1.0.168" />
<dependency id="Microsoft.Net.Http" version="2.2.29" />
<dependency id="PCLStorage" version="1.0.2" />
<dependency id="Newtonsoft.Json" version="8.0.3" />
<dependency id="Flurl" version="2.1.0-beta2" />
</group>
<group targetFramework="Xamarin.TVOS1.0">
<dependency id="Microsoft.Bcl.Async" version="1.0.168" />
<dependency id="Microsoft.Net.Http" version="2.2.29" />
<dependency id="PCLStorage" version="1.0.2" />
<dependency id="Newtonsoft.Json" version="8.0.3" />
<dependency id="Flurl" version="2.1.0-beta2" />
</group>
<group targetFramework="Xamarin.WatchOS1.0">
<dependency id="Microsoft.Bcl.Async" version="1.0.168" />
<dependency id="Microsoft.Net.Http" version="2.2.29" />
<dependency id="PCLStorage" version="1.0.2" />
<dependency id="Newtonsoft.Json" version="8.0.3" />
<dependency id="Flurl" version="2.1.0-beta2" />
</group>
<group targetFramework="portable45-net45+win8+wpa81">
<dependency id="Newtonsoft.Json" version="8.0.3" />
<dependency id="Flurl" version="2.1.0-beta2" />
<dependency id="Microsoft.Bcl.Async" version="1.0.168" />
<dependency id="Microsoft.Net.Http" version="2.2.29" />
<dependency id="PCLStorage" version="1.0.2" />
</group>
<group targetFramework="net45" />
<group targetFramework="net45">
<dependency id="Newtonsoft.Json" version="8.0.3" />
<dependency id="Flurl" version="2.1.0-beta2" />
</group>
<group targetFramework="uap10">
<dependency id="Newtonsoft.Json" version="8.0.3" />
<dependency id="Flurl" version="2.1.0-beta2" />
</group>
<group targetFramework=".NETStandard1.4">
<dependency id="Newtonsoft.Json" version="8.0.3" />
<dependency id="Flurl" version="2.1.0-beta2" />
<dependency id="System.Dynamic.Runtime" version="4.0.10" />
<dependency id="System.IO.FileSystem" version="4.0.0" />
<dependency id="System.Net.Http" version="4.0.0" />
@ -101,7 +92,6 @@
</dependencies>
</metadata>
<files>
<file src="..\Flurl.Http.PCL\bin\Release\Flurl.Http.*" target="lib\portable-net45+win8+wpa81" />
<file src="..\Flurl.Http.Library\bin\Release\**\Flurl.Http.*" target="lib\" />
<file src="..\..\src\Flurl.Http.Library\bin\Release\**\Flurl.Http.*" target="lib\" />
</files>
</package>

@ -2,7 +2,7 @@
<package >
<metadata>
<id>Flurl</id>
<version>2.1.0</version>
<version>2.1.0-beta2</version>
<title>Flurl</title>
<authors>Todd Menier</authors>
<projectUrl>http://tmenier.github.io/Flurl</projectUrl>
@ -37,7 +37,9 @@
<dependencies>
<group targetFramework="MonoAndroid1.0" />
<group targetFramework="MonoTouch1.0" />
<group targetFramework=".NETFramework4.0" />
<group targetFramework="net40" />
<group targetFramework="net45" />
<group targetFramework="uap10" />
<group targetFramework="portable45-net45+win8+wpa81" />
<group targetFramework="Windows8.0" />
<group targetFramework="WindowsPhoneApp8.1" />
@ -52,6 +54,6 @@
</dependencies>
</metadata>
<files>
<file src="..\Flurl.Library\bin\Release\**\Flurl.*" target="lib\" />
<file src="..\..\src\Flurl.Library\bin\Release\**\Flurl.*" target="lib\" />
</files>
</package>

7
Build/pack.flurl.cmd Normal file

@ -0,0 +1,7 @@
SET dir=%cd%
call build.flurl.cmd
cd %dir%
mkdir publish
nuget.exe pack nuspec\Flurl.nuspec -OutputDirectory publish >> pack.log

@ -0,0 +1,7 @@
SET dir=%cd%
call build.flurl.http.cmd
cd %dir%
mkdir publish
nuget.exe pack nuspec\Flurl.http.nuspec -OutputDirectory publish >> pack.log

@ -1,31 +0,0 @@
{
"title": "Flurl.Http",
"version": "1.0.0",
"dependencies": {
"Flurl": "2.1.0",
"Newtonsoft.Json": "8.0.3"
},
"buildOptions": {
"compile": {
"include": [ "../Flurl.Http.Shared/**/*.cs" ]
},
"optimize": true,
"outputName": "Flurl.Http",
"xmlDoc": true
},
"frameworks": {
"netstandard1.1": {
"imports": "dnxcore50",
"dependencies": {
"System.Dynamic.Runtime": "4.0.10",
"System.IO.FileSystem": "4.0.0",
"System.Net.Http": "4.0.0",
"System.Text.RegularExpressions": "4.0.10",
"System.Threading": "4.0.10"
}
}
}
}

@ -1,110 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" />
<PropertyGroup>
<MinimumVisualStudioVersion>11.0</MinimumVisualStudioVersion>
<Configuration Condition=" '$(Configuration)' == '' ">Release</Configuration>
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
<ProjectGuid>{4C163DD1-318A-42C0-ACF2-9E0D766D8900}</ProjectGuid>
<OutputType>Library</OutputType>
<AppDesignerFolder>Properties</AppDesignerFolder>
<RootNamespace>Flurl.Http</RootNamespace>
<AssemblyName>Flurl.Http</AssemblyName>
<TargetFrameworkVersion>v4.5</TargetFrameworkVersion>
<TargetFrameworkProfile>Profile111</TargetFrameworkProfile>
<FileAlignment>512</FileAlignment>
<ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
<SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\</SolutionDir>
<RestorePackages>true</RestorePackages>
<NuGetPackageImportStamp>
</NuGetPackageImportStamp>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
<DebugSymbols>true</DebugSymbols>
<DebugType>full</DebugType>
<Optimize>false</Optimize>
<OutputPath>bin\Debug\</OutputPath>
<DefineConstants>DEBUG;TRACE</DefineConstants>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
<DebugType>pdbonly</DebugType>
<Optimize>true</Optimize>
<OutputPath>bin\Release\</OutputPath>
<DefineConstants>TRACE</DefineConstants>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
<DocumentationFile>bin\Release\Flurl.Http.xml</DocumentationFile>
</PropertyGroup>
<ItemGroup>
<Compile Include="DownloadExtensions.cs" />
<Compile Include="NoOpTask.cs" />
</ItemGroup>
<ItemGroup>
<None Include="app.config" />
<None Include="packages.config">
<SubType>Designer</SubType>
</None>
</ItemGroup>
<ItemGroup>
<Folder Include="Properties\" />
</ItemGroup>
<ItemGroup>
<Reference Include="Flurl, Version=2.1.0.0, Culture=neutral, processorArchitecture=MSIL">
<HintPath>..\packages\Flurl.2.1.0\lib\netstandard1.1\Flurl.dll</HintPath>
<Private>True</Private>
</Reference>
<Reference Include="Microsoft.Threading.Tasks, Version=1.0.12.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
<HintPath>..\packages\Microsoft.Bcl.Async.1.0.168\lib\portable-net45+win8+wpa81\Microsoft.Threading.Tasks.dll</HintPath>
<Private>True</Private>
</Reference>
<Reference Include="Microsoft.Threading.Tasks.Extensions, Version=1.0.12.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
<HintPath>..\packages\Microsoft.Bcl.Async.1.0.168\lib\portable-net45+win8+wpa81\Microsoft.Threading.Tasks.Extensions.dll</HintPath>
<Private>True</Private>
</Reference>
<Reference Include="Newtonsoft.Json, Version=8.0.0.0, Culture=neutral, PublicKeyToken=30ad4fe6b2a6aeed, processorArchitecture=MSIL">
<HintPath>..\packages\Newtonsoft.Json.8.0.3\lib\portable-net40+sl5+wp80+win8+wpa81\Newtonsoft.Json.dll</HintPath>
<Private>True</Private>
</Reference>
<Reference Include="PCLStorage, Version=1.0.2.0, Culture=neutral, PublicKeyToken=286fe515a2c35b64, processorArchitecture=MSIL">
<HintPath>..\packages\PCLStorage.1.0.2\lib\portable-net45+wp8+wpa81+win8+monoandroid+monotouch+Xamarin.iOS+Xamarin.Mac\PCLStorage.dll</HintPath>
<Private>True</Private>
</Reference>
<Reference Include="PCLStorage.Abstractions, Version=1.0.2.0, Culture=neutral, PublicKeyToken=286fe515a2c35b64, processorArchitecture=MSIL">
<HintPath>..\packages\PCLStorage.1.0.2\lib\portable-net45+wp8+wpa81+win8+monoandroid+monotouch+Xamarin.iOS+Xamarin.Mac\PCLStorage.Abstractions.dll</HintPath>
<Private>True</Private>
</Reference>
<Reference Include="System.Net.Http.Extensions, Version=1.5.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
<HintPath>..\packages\Microsoft.Net.Http.2.2.29\lib\portable-net45+win8+wpa81\System.Net.Http.Extensions.dll</HintPath>
<Private>True</Private>
</Reference>
<Reference Include="System.Net.Http.Primitives, Version=4.2.29.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
<HintPath>..\packages\Microsoft.Net.Http.2.2.29\lib\portable-net45+win8+wpa81\System.Net.Http.Primitives.dll</HintPath>
<Private>True</Private>
</Reference>
</ItemGroup>
<Import Project="..\Flurl.Http.Shared\Flurl.Http.Shared.projitems" Label="Shared" />
<Import Project="$(MSBuildExtensionsPath32)\Microsoft\Portable\$(TargetFrameworkVersion)\Microsoft.Portable.CSharp.targets" />
<PropertyGroup>
<PostBuildEvent>
</PostBuildEvent>
</PropertyGroup>
<Import Project="..\packages\Microsoft.Bcl.Build.1.0.21\build\Microsoft.Bcl.Build.targets" Condition="Exists('..\packages\Microsoft.Bcl.Build.1.0.21\build\Microsoft.Bcl.Build.targets')" />
<Target Name="EnsureNuGetPackageBuildImports" BeforeTargets="PrepareForBuild">
<PropertyGroup>
<ErrorText>This project references NuGet package(s) that are missing on this computer. Use NuGet Package Restore to download them. For more information, see http://go.microsoft.com/fwlink/?LinkID=322105. The missing file is {0}.</ErrorText>
</PropertyGroup>
<Error Condition="!Exists('..\packages\Microsoft.Bcl.Build.1.0.21\build\Microsoft.Bcl.Build.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\Microsoft.Bcl.Build.1.0.21\build\Microsoft.Bcl.Build.targets'))" />
</Target>
<PropertyGroup>
<PreBuildEvent>$(SolutionDir)Flurl.Http.CodeGen\bin\$(ConfigurationName)\Flurl.Http.CodeGen.exe $(SolutionDir)Flurl.Http.Shared\HttpExtensions.cs</PreBuildEvent>
</PropertyGroup>
<!-- To modify your build process, add your task inside one of the targets below and uncomment it.
Other similar extension points exist, see Microsoft.Common.targets.
<Target Name="BeforeBuild">
</Target>
<Target Name="AfterBuild">
</Target>
-->
</Project>

@ -1,15 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<runtime>
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
<dependentAssembly>
<assemblyIdentity name="System.Threading.Tasks" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-2.6.10.0" newVersion="2.6.10.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Runtime" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-2.6.10.0" newVersion="2.6.10.0" />
</dependentAssembly>
</assemblyBinding>
</runtime>
</configuration>

@ -1,10 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<packages>
<package id="Flurl" version="2.1.0" targetFramework="portable45-net45+win8+wpa81" />
<package id="Microsoft.Bcl" version="1.1.10" targetFramework="portable45-net45+win8+wpa81" />
<package id="Microsoft.Bcl.Async" version="1.0.168" targetFramework="portable45-net45+win8+wpa81" />
<package id="Microsoft.Bcl.Build" version="1.0.21" targetFramework="portable45-net45+win8+wpa81" />
<package id="Microsoft.Net.Http" version="2.2.29" targetFramework="portable45-net45+win8+wpa81" />
<package id="Newtonsoft.Json" version="8.0.3" targetFramework="portable45-net45+win8+wpa81" />
<package id="PCLStorage" version="1.0.2" targetFramework="portable45-net45+win8+wpa81" />
</packages>

195
Flurl.sln

@ -3,63 +3,50 @@ Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio 14
VisualStudioVersion = 14.0.25123.0
MinimumVisualStudioVersion = 10.0.40219.1
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Solution Items", "Solution Items", "{EB46FFA3-B1A5-4137-8B5F-8CC9F7422A12}"
ProjectSection(SolutionItems) = preProject
Build\Flurl.Http.nuspec = Build\Flurl.Http.nuspec
Build\Flurl.nuspec = Build\Flurl.nuspec
global.json = global.json
NuGet.Config = NuGet.Config
README.md = README.md
EndProjectSection
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "test", "test", "{CF0659E1-9C0D-4D35-8FBA-CC5E94619853}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Flurl.Http.PCL", "Flurl.Http.PCL\Flurl.Http.PCL.csproj", "{4C163DD1-318A-42C0-ACF2-9E0D766D8900}"
Project("{D954291E-2A0B-460D-934E-DC6B0785DB48}") = "Flurl.Test.Shared", "test\Flurl.Test.Shared\Flurl.Test.Shared.shproj", "{4C7C0861-84F6-436E-8FA6-4C318B336A7B}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Flurl.Test.NET45", "test\Flurl.Test.NET45\Flurl.Test.NET45.csproj", "{3F6BE828-FA29-429E-99E1-F1FCDFDC1205}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Flurl.Test.PCL", "test\Flurl.Test.PCL\Flurl.Test.PCL.csproj", "{49CB777F-D13D-401A-9206-48A6B2ECB276}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Flurl.Http.CodeGen", "src\Flurl.Http.CodeGen\Flurl.Http.CodeGen.csproj", "{0571F8FF-1649-433C-97F3-7341942AC886}"
EndProject
Project("{8BB2217D-0F2D-49D1-97BC-3654ED321F3B}") = "Flurl.Http.Library", "src\Flurl.Http.Library\Flurl.Http.Library.xproj", "{52C8C00D-9BD2-4642-B103-F0A8C564FE05}"
ProjectSection(ProjectDependencies) = postProject
{0571F8FF-1649-433C-97F3-7341942AC886} = {0571F8FF-1649-433C-97F3-7341942AC886}
EndProjectSection
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Test", "Test", "{CF0659E1-9C0D-4D35-8FBA-CC5E94619853}"
EndProject
Project("{D954291E-2A0B-460D-934E-DC6B0785DB48}") = "Flurl.Test.Shared", "Test\Flurl.Test.Shared\Flurl.Test.Shared.shproj", "{4C7C0861-84F6-436E-8FA6-4C318B336A7B}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Flurl.Test.NET45", "Test\Flurl.Test.NET45\Flurl.Test.NET45.csproj", "{3F6BE828-FA29-429E-99E1-F1FCDFDC1205}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Flurl.Test.PCL", "Test\Flurl.Test.PCL\Flurl.Test.PCL.csproj", "{49CB777F-D13D-401A-9206-48A6B2ECB276}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Flurl.Http.CodeGen", "Flurl.Http.CodeGen\Flurl.Http.CodeGen.csproj", "{0571F8FF-1649-433C-97F3-7341942AC886}"
EndProject
Project("{8BB2217D-0F2D-49D1-97BC-3654ED321F3B}") = "Flurl.Http.Library", "Flurl.Http.Library\Flurl.Http.Library.xproj", "{52C8C00D-9BD2-4642-B103-F0A8C564FE05}"
ProjectSection(ProjectDependencies) = postProject
{4C163DD1-318A-42C0-ACF2-9E0D766D8900} = {4C163DD1-318A-42C0-ACF2-9E0D766D8900}
{0571F8FF-1649-433C-97F3-7341942AC886} = {0571F8FF-1649-433C-97F3-7341942AC886}
EndProjectSection
EndProject
Project("{8BB2217D-0F2D-49D1-97BC-3654ED321F3B}") = "Flurl.Library", "Flurl.Library\Flurl.Library.xproj", "{52CE5E08-8F02-4F75-8B64-8E00E3262A0F}"
Project("{8BB2217D-0F2D-49D1-97BC-3654ED321F3B}") = "Flurl.Library", "src\Flurl.Library\Flurl.Library.xproj", "{52CE5E08-8F02-4F75-8B64-8E00E3262A0F}"
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "PackageTesters", "PackageTesters", "{FA115433-6141-4A60-B3F2-8A5972632B50}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "PackageTester.PCL", "PackageTesters\PackageTester.PCL\PackageTester.PCL.csproj", "{0A32978C-BC48-4DFB-B1F7-B88541B0D686}"
EndProject
Project("{D954291E-2A0B-460D-934E-DC6B0785DB48}") = "PackageTester.Shared", "PackageTesters\PackageTester.Shared\PackageTester.Shared.shproj", "{19C1BEFD-9DF7-4EFA-9D7D-37B0DC6EEF54}"
EndProject
Project("{8BB2217D-0F2D-49D1-97BC-3654ED321F3B}") = "PackageTester.NET", "PackageTesters\PackageTester.NET\PackageTester.NET.xproj", "{037B6DCC-8249-474C-AD60-60DE9E917EDC}"
EndProject
Project("{D954291E-2A0B-460D-934E-DC6B0785DB48}") = "Flurl.Http.Shared", "Flurl.Http.Shared\Flurl.Http.Shared.shproj", "{734E6962-97E2-4318-9A2D-C87E76921AFB}"
Project("{D954291E-2A0B-460D-934E-DC6B0785DB48}") = "Flurl.Http.Shared", "src\Flurl.Http.Shared\Flurl.Http.Shared.shproj", "{734E6962-97E2-4318-9A2D-C87E76921AFB}"
EndProject
Project("{D954291E-2A0B-460D-934E-DC6B0785DB48}") = "Flurl.Shared", "Flurl.Shared\Flurl.Shared.shproj", "{ED944C76-9613-474E-9861-54E41A3E77CD}"
Project("{D954291E-2A0B-460D-934E-DC6B0785DB48}") = "Flurl.Shared", "src\Flurl.Shared\Flurl.Shared.shproj", "{ED944C76-9613-474E-9861-54E41A3E77CD}"
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "src", "src", "{2E0F19CD-3A0D-42BF-8F85-85B113FD546C}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "PackageTester.NET461", "PackageTesters\PackageTester.NET461\PackageTester.NET461.csproj", "{49B676BA-5D42-42B4-A8D5-DA5C11560C08}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "PackageTester.PCL", "PackageTesters\PackageTester.PCL\PackageTester.PCL.csproj", "{E593C013-23C2-40A2-B4E5-984F13005A52}"
EndProject
Project("{D954291E-2A0B-460D-934E-DC6B0785DB48}") = "PackageTester.Shared", "PackageTesters\PackageTester.Shared\PackageTester.Shared.shproj", "{19C1BEFD-9DF7-4EFA-9D7D-37B0DC6EEF54}"
EndProject
Global
GlobalSection(SharedMSBuildProjectFiles) = preSolution
Test\Flurl.Test.Shared\Flurl.Test.Shared.projitems*{4c7c0861-84f6-436e-8fa6-4c318b336a7b}*SharedItemsImports = 13
PackageTesters\PackageTester.Shared\PackageTester.Shared.projitems*{19c1befd-9df7-4efa-9d7d-37b0dc6eef54}*SharedItemsImports = 13
PackageTesters\PackageTester.Shared\PackageTester.Shared.projitems*{49b676ba-5d42-42b4-a8d5-da5c11560c08}*SharedItemsImports = 4
src\Flurl.Http.Shared\Flurl.Http.Shared.projitems*{49cb777f-d13d-401a-9206-48a6b2ecb276}*SharedItemsImports = 4
Test\Flurl.Test.Shared\Flurl.Test.Shared.projitems*{49cb777f-d13d-401a-9206-48a6b2ecb276}*SharedItemsImports = 4
Flurl.Shared\Flurl.Shared.projitems*{49cb777f-d13d-401a-9206-48a6b2ecb276}*SharedItemsImports = 4
Flurl.Http.Shared\Flurl.Http.Shared.projitems*{4c163dd1-318a-42c0-acf2-9e0d766d8900}*SharedItemsImports = 4
PackageTesters\PackageTester.Shared\PackageTester.Shared.projitems*{0a32978c-bc48-4dfb-b1f7-b88541b0d686}*SharedItemsImports = 4
Flurl.Http.Shared\Flurl.Http.Shared.projitems*{734e6962-97e2-4318-9a2d-c87e76921afb}*SharedItemsImports = 13
Flurl.Shared\Flurl.Shared.projitems*{ed944c76-9613-474e-9861-54e41a3e77cd}*SharedItemsImports = 13
Flurl.Http.Shared\Flurl.Http.Shared.projitems*{3f6be828-fa29-429e-99e1-f1fcdfdc1205}*SharedItemsImports = 4
Test\Flurl.Test.Shared\Flurl.Test.Shared.projitems*{3f6be828-fa29-429e-99e1-f1fcdfdc1205}*SharedItemsImports = 4
Flurl.Shared\Flurl.Shared.projitems*{3f6be828-fa29-429e-99e1-f1fcdfdc1205}*SharedItemsImports = 4
src\Flurl.Shared\Flurl.Shared.projitems*{49cb777f-d13d-401a-9206-48a6b2ecb276}*SharedItemsImports = 4
src\Flurl.Http.Shared\Flurl.Http.Shared.projitems*{734e6962-97e2-4318-9a2d-c87e76921afb}*SharedItemsImports = 13
src\Flurl.Shared\Flurl.Shared.projitems*{ed944c76-9613-474e-9861-54e41a3e77cd}*SharedItemsImports = 13
PackageTesters\PackageTester.Shared\PackageTester.Shared.projitems*{e593c013-23c2-40a2-b4e5-984f13005a52}*SharedItemsImports = 4
EndGlobalSection
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Ad-Hoc|Any CPU = Ad-Hoc|Any CPU
@ -80,30 +67,6 @@ Global
Release|Mixed Platforms = Release|Mixed Platforms
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
{4C163DD1-318A-42C0-ACF2-9E0D766D8900}.Ad-Hoc|Any CPU.ActiveCfg = Release|Any CPU
{4C163DD1-318A-42C0-ACF2-9E0D766D8900}.Ad-Hoc|Any CPU.Build.0 = Release|Any CPU
{4C163DD1-318A-42C0-ACF2-9E0D766D8900}.Ad-Hoc|iPhone.ActiveCfg = Release|Any CPU
{4C163DD1-318A-42C0-ACF2-9E0D766D8900}.Ad-Hoc|iPhoneSimulator.ActiveCfg = Release|Any CPU
{4C163DD1-318A-42C0-ACF2-9E0D766D8900}.Ad-Hoc|Mixed Platforms.ActiveCfg = Release|Any CPU
{4C163DD1-318A-42C0-ACF2-9E0D766D8900}.Ad-Hoc|Mixed Platforms.Build.0 = Release|Any CPU
{4C163DD1-318A-42C0-ACF2-9E0D766D8900}.AppStore|Any CPU.ActiveCfg = Release|Any CPU
{4C163DD1-318A-42C0-ACF2-9E0D766D8900}.AppStore|Any CPU.Build.0 = Release|Any CPU
{4C163DD1-318A-42C0-ACF2-9E0D766D8900}.AppStore|iPhone.ActiveCfg = Release|Any CPU
{4C163DD1-318A-42C0-ACF2-9E0D766D8900}.AppStore|iPhoneSimulator.ActiveCfg = Release|Any CPU
{4C163DD1-318A-42C0-ACF2-9E0D766D8900}.AppStore|Mixed Platforms.ActiveCfg = Release|Any CPU
{4C163DD1-318A-42C0-ACF2-9E0D766D8900}.AppStore|Mixed Platforms.Build.0 = Release|Any CPU
{4C163DD1-318A-42C0-ACF2-9E0D766D8900}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{4C163DD1-318A-42C0-ACF2-9E0D766D8900}.Debug|Any CPU.Build.0 = Debug|Any CPU
{4C163DD1-318A-42C0-ACF2-9E0D766D8900}.Debug|iPhone.ActiveCfg = Debug|Any CPU
{4C163DD1-318A-42C0-ACF2-9E0D766D8900}.Debug|iPhoneSimulator.ActiveCfg = Debug|Any CPU
{4C163DD1-318A-42C0-ACF2-9E0D766D8900}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU
{4C163DD1-318A-42C0-ACF2-9E0D766D8900}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU
{4C163DD1-318A-42C0-ACF2-9E0D766D8900}.Release|Any CPU.ActiveCfg = Release|Any CPU
{4C163DD1-318A-42C0-ACF2-9E0D766D8900}.Release|Any CPU.Build.0 = Release|Any CPU
{4C163DD1-318A-42C0-ACF2-9E0D766D8900}.Release|iPhone.ActiveCfg = Release|Any CPU
{4C163DD1-318A-42C0-ACF2-9E0D766D8900}.Release|iPhoneSimulator.ActiveCfg = Release|Any CPU
{4C163DD1-318A-42C0-ACF2-9E0D766D8900}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU
{4C163DD1-318A-42C0-ACF2-9E0D766D8900}.Release|Mixed Platforms.Build.0 = Release|Any CPU
{3F6BE828-FA29-429E-99E1-F1FCDFDC1205}.Ad-Hoc|Any CPU.ActiveCfg = Release|Any CPU
{3F6BE828-FA29-429E-99E1-F1FCDFDC1205}.Ad-Hoc|Any CPU.Build.0 = Release|Any CPU
{3F6BE828-FA29-429E-99E1-F1FCDFDC1205}.Ad-Hoc|iPhone.ActiveCfg = Release|Any CPU
@ -240,36 +203,6 @@ Global
{52CE5E08-8F02-4F75-8B64-8E00E3262A0F}.Release|iPhoneSimulator.Build.0 = Release|Any CPU
{52CE5E08-8F02-4F75-8B64-8E00E3262A0F}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU
{52CE5E08-8F02-4F75-8B64-8E00E3262A0F}.Release|Mixed Platforms.Build.0 = Release|Any CPU
{0A32978C-BC48-4DFB-B1F7-B88541B0D686}.Ad-Hoc|Any CPU.ActiveCfg = Release|Any CPU
{0A32978C-BC48-4DFB-B1F7-B88541B0D686}.Ad-Hoc|Any CPU.Build.0 = Release|Any CPU
{0A32978C-BC48-4DFB-B1F7-B88541B0D686}.Ad-Hoc|iPhone.ActiveCfg = Release|Any CPU
{0A32978C-BC48-4DFB-B1F7-B88541B0D686}.Ad-Hoc|iPhone.Build.0 = Release|Any CPU
{0A32978C-BC48-4DFB-B1F7-B88541B0D686}.Ad-Hoc|iPhoneSimulator.ActiveCfg = Release|Any CPU
{0A32978C-BC48-4DFB-B1F7-B88541B0D686}.Ad-Hoc|iPhoneSimulator.Build.0 = Release|Any CPU
{0A32978C-BC48-4DFB-B1F7-B88541B0D686}.Ad-Hoc|Mixed Platforms.ActiveCfg = Release|Any CPU
{0A32978C-BC48-4DFB-B1F7-B88541B0D686}.Ad-Hoc|Mixed Platforms.Build.0 = Release|Any CPU
{0A32978C-BC48-4DFB-B1F7-B88541B0D686}.AppStore|Any CPU.ActiveCfg = Release|Any CPU
{0A32978C-BC48-4DFB-B1F7-B88541B0D686}.AppStore|Any CPU.Build.0 = Release|Any CPU
{0A32978C-BC48-4DFB-B1F7-B88541B0D686}.AppStore|iPhone.ActiveCfg = Release|Any CPU
{0A32978C-BC48-4DFB-B1F7-B88541B0D686}.AppStore|iPhone.Build.0 = Release|Any CPU
{0A32978C-BC48-4DFB-B1F7-B88541B0D686}.AppStore|iPhoneSimulator.ActiveCfg = Release|Any CPU
{0A32978C-BC48-4DFB-B1F7-B88541B0D686}.AppStore|iPhoneSimulator.Build.0 = Release|Any CPU
{0A32978C-BC48-4DFB-B1F7-B88541B0D686}.AppStore|Mixed Platforms.ActiveCfg = Release|Any CPU
{0A32978C-BC48-4DFB-B1F7-B88541B0D686}.AppStore|Mixed Platforms.Build.0 = Release|Any CPU
{0A32978C-BC48-4DFB-B1F7-B88541B0D686}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{0A32978C-BC48-4DFB-B1F7-B88541B0D686}.Debug|Any CPU.Build.0 = Debug|Any CPU
{0A32978C-BC48-4DFB-B1F7-B88541B0D686}.Debug|iPhone.ActiveCfg = Debug|Any CPU
{0A32978C-BC48-4DFB-B1F7-B88541B0D686}.Debug|iPhone.Build.0 = Debug|Any CPU
{0A32978C-BC48-4DFB-B1F7-B88541B0D686}.Debug|iPhoneSimulator.ActiveCfg = Debug|Any CPU
{0A32978C-BC48-4DFB-B1F7-B88541B0D686}.Debug|iPhoneSimulator.Build.0 = Debug|Any CPU
{0A32978C-BC48-4DFB-B1F7-B88541B0D686}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU
{0A32978C-BC48-4DFB-B1F7-B88541B0D686}.Release|Any CPU.ActiveCfg = Release|Any CPU
{0A32978C-BC48-4DFB-B1F7-B88541B0D686}.Release|Any CPU.Build.0 = Release|Any CPU
{0A32978C-BC48-4DFB-B1F7-B88541B0D686}.Release|iPhone.ActiveCfg = Release|Any CPU
{0A32978C-BC48-4DFB-B1F7-B88541B0D686}.Release|iPhone.Build.0 = Release|Any CPU
{0A32978C-BC48-4DFB-B1F7-B88541B0D686}.Release|iPhoneSimulator.ActiveCfg = Release|Any CPU
{0A32978C-BC48-4DFB-B1F7-B88541B0D686}.Release|iPhoneSimulator.Build.0 = Release|Any CPU
{0A32978C-BC48-4DFB-B1F7-B88541B0D686}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU
{037B6DCC-8249-474C-AD60-60DE9E917EDC}.Ad-Hoc|Any CPU.ActiveCfg = Debug|Any CPU
{037B6DCC-8249-474C-AD60-60DE9E917EDC}.Ad-Hoc|Any CPU.Build.0 = Debug|Any CPU
{037B6DCC-8249-474C-AD60-60DE9E917EDC}.Ad-Hoc|iPhone.ActiveCfg = Debug|Any CPU
@ -300,6 +233,70 @@ Global
{037B6DCC-8249-474C-AD60-60DE9E917EDC}.Release|iPhoneSimulator.ActiveCfg = Release|Any CPU
{037B6DCC-8249-474C-AD60-60DE9E917EDC}.Release|iPhoneSimulator.Build.0 = Release|Any CPU
{037B6DCC-8249-474C-AD60-60DE9E917EDC}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU
{49B676BA-5D42-42B4-A8D5-DA5C11560C08}.Ad-Hoc|Any CPU.ActiveCfg = Release|Any CPU
{49B676BA-5D42-42B4-A8D5-DA5C11560C08}.Ad-Hoc|Any CPU.Build.0 = Release|Any CPU
{49B676BA-5D42-42B4-A8D5-DA5C11560C08}.Ad-Hoc|iPhone.ActiveCfg = Release|Any CPU
{49B676BA-5D42-42B4-A8D5-DA5C11560C08}.Ad-Hoc|iPhone.Build.0 = Release|Any CPU
{49B676BA-5D42-42B4-A8D5-DA5C11560C08}.Ad-Hoc|iPhoneSimulator.ActiveCfg = Release|Any CPU
{49B676BA-5D42-42B4-A8D5-DA5C11560C08}.Ad-Hoc|iPhoneSimulator.Build.0 = Release|Any CPU
{49B676BA-5D42-42B4-A8D5-DA5C11560C08}.Ad-Hoc|Mixed Platforms.ActiveCfg = Release|Any CPU
{49B676BA-5D42-42B4-A8D5-DA5C11560C08}.Ad-Hoc|Mixed Platforms.Build.0 = Release|Any CPU
{49B676BA-5D42-42B4-A8D5-DA5C11560C08}.AppStore|Any CPU.ActiveCfg = Release|Any CPU
{49B676BA-5D42-42B4-A8D5-DA5C11560C08}.AppStore|Any CPU.Build.0 = Release|Any CPU
{49B676BA-5D42-42B4-A8D5-DA5C11560C08}.AppStore|iPhone.ActiveCfg = Release|Any CPU
{49B676BA-5D42-42B4-A8D5-DA5C11560C08}.AppStore|iPhone.Build.0 = Release|Any CPU
{49B676BA-5D42-42B4-A8D5-DA5C11560C08}.AppStore|iPhoneSimulator.ActiveCfg = Release|Any CPU
{49B676BA-5D42-42B4-A8D5-DA5C11560C08}.AppStore|iPhoneSimulator.Build.0 = Release|Any CPU
{49B676BA-5D42-42B4-A8D5-DA5C11560C08}.AppStore|Mixed Platforms.ActiveCfg = Release|Any CPU
{49B676BA-5D42-42B4-A8D5-DA5C11560C08}.AppStore|Mixed Platforms.Build.0 = Release|Any CPU
{49B676BA-5D42-42B4-A8D5-DA5C11560C08}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{49B676BA-5D42-42B4-A8D5-DA5C11560C08}.Debug|Any CPU.Build.0 = Debug|Any CPU
{49B676BA-5D42-42B4-A8D5-DA5C11560C08}.Debug|iPhone.ActiveCfg = Debug|Any CPU
{49B676BA-5D42-42B4-A8D5-DA5C11560C08}.Debug|iPhone.Build.0 = Debug|Any CPU
{49B676BA-5D42-42B4-A8D5-DA5C11560C08}.Debug|iPhoneSimulator.ActiveCfg = Debug|Any CPU
{49B676BA-5D42-42B4-A8D5-DA5C11560C08}.Debug|iPhoneSimulator.Build.0 = Debug|Any CPU
{49B676BA-5D42-42B4-A8D5-DA5C11560C08}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU
{49B676BA-5D42-42B4-A8D5-DA5C11560C08}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU
{49B676BA-5D42-42B4-A8D5-DA5C11560C08}.Release|Any CPU.ActiveCfg = Release|Any CPU
{49B676BA-5D42-42B4-A8D5-DA5C11560C08}.Release|Any CPU.Build.0 = Release|Any CPU
{49B676BA-5D42-42B4-A8D5-DA5C11560C08}.Release|iPhone.ActiveCfg = Release|Any CPU
{49B676BA-5D42-42B4-A8D5-DA5C11560C08}.Release|iPhone.Build.0 = Release|Any CPU
{49B676BA-5D42-42B4-A8D5-DA5C11560C08}.Release|iPhoneSimulator.ActiveCfg = Release|Any CPU
{49B676BA-5D42-42B4-A8D5-DA5C11560C08}.Release|iPhoneSimulator.Build.0 = Release|Any CPU
{49B676BA-5D42-42B4-A8D5-DA5C11560C08}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU
{49B676BA-5D42-42B4-A8D5-DA5C11560C08}.Release|Mixed Platforms.Build.0 = Release|Any CPU
{E593C013-23C2-40A2-B4E5-984F13005A52}.Ad-Hoc|Any CPU.ActiveCfg = Release|Any CPU
{E593C013-23C2-40A2-B4E5-984F13005A52}.Ad-Hoc|Any CPU.Build.0 = Release|Any CPU
{E593C013-23C2-40A2-B4E5-984F13005A52}.Ad-Hoc|iPhone.ActiveCfg = Release|Any CPU
{E593C013-23C2-40A2-B4E5-984F13005A52}.Ad-Hoc|iPhone.Build.0 = Release|Any CPU
{E593C013-23C2-40A2-B4E5-984F13005A52}.Ad-Hoc|iPhoneSimulator.ActiveCfg = Release|Any CPU
{E593C013-23C2-40A2-B4E5-984F13005A52}.Ad-Hoc|iPhoneSimulator.Build.0 = Release|Any CPU
{E593C013-23C2-40A2-B4E5-984F13005A52}.Ad-Hoc|Mixed Platforms.ActiveCfg = Release|Any CPU
{E593C013-23C2-40A2-B4E5-984F13005A52}.Ad-Hoc|Mixed Platforms.Build.0 = Release|Any CPU
{E593C013-23C2-40A2-B4E5-984F13005A52}.AppStore|Any CPU.ActiveCfg = Release|Any CPU
{E593C013-23C2-40A2-B4E5-984F13005A52}.AppStore|Any CPU.Build.0 = Release|Any CPU
{E593C013-23C2-40A2-B4E5-984F13005A52}.AppStore|iPhone.ActiveCfg = Release|Any CPU
{E593C013-23C2-40A2-B4E5-984F13005A52}.AppStore|iPhone.Build.0 = Release|Any CPU
{E593C013-23C2-40A2-B4E5-984F13005A52}.AppStore|iPhoneSimulator.ActiveCfg = Release|Any CPU
{E593C013-23C2-40A2-B4E5-984F13005A52}.AppStore|iPhoneSimulator.Build.0 = Release|Any CPU
{E593C013-23C2-40A2-B4E5-984F13005A52}.AppStore|Mixed Platforms.ActiveCfg = Release|Any CPU
{E593C013-23C2-40A2-B4E5-984F13005A52}.AppStore|Mixed Platforms.Build.0 = Release|Any CPU
{E593C013-23C2-40A2-B4E5-984F13005A52}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{E593C013-23C2-40A2-B4E5-984F13005A52}.Debug|Any CPU.Build.0 = Debug|Any CPU
{E593C013-23C2-40A2-B4E5-984F13005A52}.Debug|iPhone.ActiveCfg = Debug|Any CPU
{E593C013-23C2-40A2-B4E5-984F13005A52}.Debug|iPhone.Build.0 = Debug|Any CPU
{E593C013-23C2-40A2-B4E5-984F13005A52}.Debug|iPhoneSimulator.ActiveCfg = Debug|Any CPU
{E593C013-23C2-40A2-B4E5-984F13005A52}.Debug|iPhoneSimulator.Build.0 = Debug|Any CPU
{E593C013-23C2-40A2-B4E5-984F13005A52}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU
{E593C013-23C2-40A2-B4E5-984F13005A52}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU
{E593C013-23C2-40A2-B4E5-984F13005A52}.Release|Any CPU.ActiveCfg = Release|Any CPU
{E593C013-23C2-40A2-B4E5-984F13005A52}.Release|Any CPU.Build.0 = Release|Any CPU
{E593C013-23C2-40A2-B4E5-984F13005A52}.Release|iPhone.ActiveCfg = Release|Any CPU
{E593C013-23C2-40A2-B4E5-984F13005A52}.Release|iPhone.Build.0 = Release|Any CPU
{E593C013-23C2-40A2-B4E5-984F13005A52}.Release|iPhoneSimulator.ActiveCfg = Release|Any CPU
{E593C013-23C2-40A2-B4E5-984F13005A52}.Release|iPhoneSimulator.Build.0 = Release|Any CPU
{E593C013-23C2-40A2-B4E5-984F13005A52}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU
{E593C013-23C2-40A2-B4E5-984F13005A52}.Release|Mixed Platforms.Build.0 = Release|Any CPU
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
@ -308,8 +305,14 @@ Global
{4C7C0861-84F6-436E-8FA6-4C318B336A7B} = {CF0659E1-9C0D-4D35-8FBA-CC5E94619853}
{3F6BE828-FA29-429E-99E1-F1FCDFDC1205} = {CF0659E1-9C0D-4D35-8FBA-CC5E94619853}
{49CB777F-D13D-401A-9206-48A6B2ECB276} = {CF0659E1-9C0D-4D35-8FBA-CC5E94619853}
{0A32978C-BC48-4DFB-B1F7-B88541B0D686} = {FA115433-6141-4A60-B3F2-8A5972632B50}
{19C1BEFD-9DF7-4EFA-9D7D-37B0DC6EEF54} = {FA115433-6141-4A60-B3F2-8A5972632B50}
{0571F8FF-1649-433C-97F3-7341942AC886} = {2E0F19CD-3A0D-42BF-8F85-85B113FD546C}
{52C8C00D-9BD2-4642-B103-F0A8C564FE05} = {2E0F19CD-3A0D-42BF-8F85-85B113FD546C}
{52CE5E08-8F02-4F75-8B64-8E00E3262A0F} = {2E0F19CD-3A0D-42BF-8F85-85B113FD546C}
{037B6DCC-8249-474C-AD60-60DE9E917EDC} = {FA115433-6141-4A60-B3F2-8A5972632B50}
{734E6962-97E2-4318-9A2D-C87E76921AFB} = {2E0F19CD-3A0D-42BF-8F85-85B113FD546C}
{ED944C76-9613-474E-9861-54E41A3E77CD} = {2E0F19CD-3A0D-42BF-8F85-85B113FD546C}
{49B676BA-5D42-42B4-A8D5-DA5C11560C08} = {FA115433-6141-4A60-B3F2-8A5972632B50}
{E593C013-23C2-40A2-B4E5-984F13005A52} = {FA115433-6141-4A60-B3F2-8A5972632B50}
{19C1BEFD-9DF7-4EFA-9D7D-37B0DC6EEF54} = {FA115433-6141-4A60-B3F2-8A5972632B50}
EndGlobalSection
EndGlobal

@ -4,7 +4,7 @@
<!--To inherit the global NuGet package sources remove the <clear/> line below -->
<clear />
<add key="api.nuget.org" value="https://api.nuget.org/v3/index.json" />
<add key="Package source" value="E:\workspaces\Flurl\publish\" />
<add key="Flurl feed" value="https://www.myget.org/F/flurl/api/v3/index.json" />
</packageSources>
<disabledPackageSources>
<add key="Microsoft and .NET" value="true" />

@ -8,7 +8,6 @@
"frameworks": {
"net45": { },
"net461": { },
"netcoreapp1.0": {
"imports": "dnxcore50",
"dependencies": {
@ -20,7 +19,7 @@
}
},
"dependencies": {
"Flurl": "2.1.0",
"Flurl.Http": "1.0.0"
"Flurl": "2.1.0-beta2",
"Flurl.Http": "1.0.0-beta"
}
}

@ -0,0 +1,6 @@
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<startup>
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.6.1" />
</startup>
</configuration>

@ -0,0 +1,4 @@
namespace PackageTester.NET461
{
public class Net461Tester : Tester { }
}

@ -0,0 +1,83 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="14.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" />
<PropertyGroup>
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
<ProjectGuid>{49B676BA-5D42-42B4-A8D5-DA5C11560C08}</ProjectGuid>
<OutputType>Exe</OutputType>
<AppDesignerFolder>Properties</AppDesignerFolder>
<RootNamespace>PackageTester.NET461</RootNamespace>
<AssemblyName>PackageTester.NET461</AssemblyName>
<TargetFrameworkVersion>v4.6.1</TargetFrameworkVersion>
<FileAlignment>512</FileAlignment>
<AutoGenerateBindingRedirects>true</AutoGenerateBindingRedirects>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
<PlatformTarget>AnyCPU</PlatformTarget>
<DebugSymbols>true</DebugSymbols>
<DebugType>full</DebugType>
<Optimize>false</Optimize>
<OutputPath>bin\Debug\</OutputPath>
<DefineConstants>DEBUG;TRACE</DefineConstants>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
<PlatformTarget>AnyCPU</PlatformTarget>
<DebugType>pdbonly</DebugType>
<Optimize>true</Optimize>
<OutputPath>bin\Release\</OutputPath>
<DefineConstants>TRACE</DefineConstants>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
</PropertyGroup>
<ItemGroup>
<Reference Include="Flurl, Version=2.1.0.0, Culture=neutral, processorArchitecture=MSIL">
<HintPath>..\..\packages\Flurl.2.1.0-beta2\lib\net40\Flurl.dll</HintPath>
<Private>True</Private>
</Reference>
<Reference Include="Flurl.Http, Version=1.0.0.0, Culture=neutral, processorArchitecture=MSIL">
<HintPath>..\..\packages\Flurl.Http.1.0.0-beta\lib\netstandard1.4\Flurl.Http.dll</HintPath>
<Private>True</Private>
</Reference>
<Reference Include="Newtonsoft.Json, Version=8.0.0.0, Culture=neutral, PublicKeyToken=30ad4fe6b2a6aeed, processorArchitecture=MSIL">
<HintPath>..\..\packages\Newtonsoft.Json.8.0.3\lib\net45\Newtonsoft.Json.dll</HintPath>
<Private>True</Private>
</Reference>
<Reference Include="System" />
<Reference Include="System.Core" />
<Reference Include="System.Xml.Linq" />
<Reference Include="System.Data.DataSetExtensions" />
<Reference Include="Microsoft.CSharp" />
<Reference Include="System.Data" />
<Reference Include="System.Net.Http" />
<Reference Include="System.Xml" />
</ItemGroup>
<ItemGroup>
<None Include="App.config" />
<None Include="packages.config" />
</ItemGroup>
<ItemGroup>
<Folder Include="Properties\" />
</ItemGroup>
<ItemGroup>
<Compile Include="Net461Tester.cs" />
<Compile Include="Program.cs" />
</ItemGroup>
<ItemGroup>
<ProjectReference Include="..\PackageTester.PCL\PackageTester.PCL.csproj">
<Project>{e593c013-23c2-40a2-b4e5-984f13005a52}</Project>
<Name>PackageTester.PCL</Name>
</ProjectReference>
</ItemGroup>
<Import Project="..\PackageTester.Shared\PackageTester.Shared.projitems" Label="Shared" />
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
<!-- To modify your build process, add your task inside one of the targets below and uncomment it.
Other similar extension points exist, see Microsoft.Common.targets.
<Target Name="BeforeBuild">
</Target>
<Target Name="AfterBuild">
</Target>
-->
</Project>

@ -0,0 +1,32 @@
using System;
using System.IO;
using System.Threading.Tasks;
using PackageTester.PCL;
namespace PackageTester.NET461
{
class Program
{
static void Main(string[] args)
{
TestAllPlatformsAsync().Wait();
Console.ReadLine();
}
private static async Task TestAllPlatformsAsync()
{
Cleanup();
await new Net461Tester().DoTestsAsync(Console.WriteLine);
Cleanup();
await new PclTester().DoTestsAsync(Console.WriteLine);
}
private static void Cleanup()
{
var file = "c:\\flurl\\google.txt";
if (File.Exists(file))
File.Delete(file);
}
}
}

@ -0,0 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<packages>
<package id="Flurl" version="2.1.0-beta2" targetFramework="net461" />
<package id="Flurl.Http" version="1.0.0-beta" targetFramework="net461" />
<package id="Newtonsoft.Json" version="8.0.3" targetFramework="net461" />
</packages>

@ -1,11 +1,11 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<Project ToolsVersion="14.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" />
<PropertyGroup>
<MinimumVisualStudioVersion>11.0</MinimumVisualStudioVersion>
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
<ProjectGuid>{0A32978C-BC48-4DFB-B1F7-B88541B0D686}</ProjectGuid>
<ProjectGuid>{E593C013-23C2-40A2-B4E5-984F13005A52}</ProjectGuid>
<OutputType>Library</OutputType>
<AppDesignerFolder>Properties</AppDesignerFolder>
<RootNamespace>PackageTester.PCL</RootNamespace>
@ -15,10 +15,6 @@
<ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
<TargetFrameworkProfile>Profile111</TargetFrameworkProfile>
<TargetFrameworkVersion>v4.5</TargetFrameworkVersion>
<SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\</SolutionDir>
<RestorePackages>true</RestorePackages>
<NuGetPackageImportStamp>
</NuGetPackageImportStamp>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
<DebugSymbols>true</DebugSymbols>
@ -38,23 +34,16 @@
<WarningLevel>4</WarningLevel>
</PropertyGroup>
<ItemGroup>
<Compile Include="PclTester.cs" />
</ItemGroup>
<ItemGroup>
<None Include="app.config">
<SubType>Designer</SubType>
</None>
<None Include="packages.config">
<SubType>Designer</SubType>
</None>
<!-- A reference to the entire .NET Framework is automatically included -->
<Folder Include="Properties\" />
</ItemGroup>
<ItemGroup>
<Reference Include="Flurl, Version=2.1.0.0, Culture=neutral, processorArchitecture=MSIL">
<HintPath>..\..\packages\Flurl.2.1.0\lib\netstandard1.1\Flurl.dll</HintPath>
<HintPath>..\..\packages\Flurl.2.1.0-beta2\lib\netstandard1.1\Flurl.dll</HintPath>
<Private>True</Private>
</Reference>
<Reference Include="Flurl.Http, Version=0.0.0.0, Culture=neutral, processorArchitecture=MSIL">
<HintPath>..\..\packages\Flurl.Http.1.0.0\lib\portable-net45+win8+wpa81\Flurl.Http.dll</HintPath>
<Reference Include="Flurl.Http, Version=1.0.0.0, Culture=neutral, processorArchitecture=MSIL">
<HintPath>..\..\packages\Flurl.Http.1.0.0-beta\lib\portable45-net45+win8+wpa81\Flurl.Http.dll</HintPath>
<Private>True</Private>
</Reference>
<Reference Include="Microsoft.Threading.Tasks, Version=1.0.12.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
@ -87,16 +76,17 @@
</Reference>
</ItemGroup>
<ItemGroup>
<Folder Include="Properties\" />
<None Include="packages.config" />
</ItemGroup>
<ItemGroup>
<Compile Include="PclTester.cs" />
</ItemGroup>
<Import Project="..\PackageTester.Shared\PackageTester.Shared.projitems" Label="Shared" />
<Import Project="$(MSBuildExtensionsPath32)\Microsoft\Portable\$(TargetFrameworkVersion)\Microsoft.Portable.CSharp.targets" />
<Import Project="..\..\packages\Microsoft.Bcl.Build.1.0.21\build\Microsoft.Bcl.Build.targets" Condition="Exists('..\..\packages\Microsoft.Bcl.Build.1.0.21\build\Microsoft.Bcl.Build.targets')" />
<Target Name="EnsureNuGetPackageBuildImports" BeforeTargets="PrepareForBuild">
<PropertyGroup>
<ErrorText>This project references NuGet package(s) that are missing on this computer. Use NuGet Package Restore to download them. For more information, see http://go.microsoft.com/fwlink/?LinkID=322105. The missing file is {0}.</ErrorText>
</PropertyGroup>
<Error Condition="!Exists('..\..\packages\Microsoft.Bcl.Build.1.0.21\build\Microsoft.Bcl.Build.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\..\packages\Microsoft.Bcl.Build.1.0.21\build\Microsoft.Bcl.Build.targets'))" />
<Import Project="..\..\packages\Microsoft.Bcl.Build.1.0.14\tools\Microsoft.Bcl.Build.targets" Condition="Exists('..\..\packages\Microsoft.Bcl.Build.1.0.14\tools\Microsoft.Bcl.Build.targets')" />
<Target Name="EnsureBclBuildImported" BeforeTargets="BeforeBuild" Condition="'$(BclBuildImported)' == ''">
<Error Condition="!Exists('..\..\packages\Microsoft.Bcl.Build.1.0.14\tools\Microsoft.Bcl.Build.targets')" Text="This project references NuGet package(s) that are missing on this computer. Enable NuGet Package Restore to download them. For more information, see http://go.microsoft.com/fwlink/?LinkID=317567." HelpKeyword="BCLBUILD2001" />
<Error Condition="Exists('..\..\packages\Microsoft.Bcl.Build.1.0.14\tools\Microsoft.Bcl.Build.targets')" Text="The build restored NuGet packages. Build the project again to include these packages in the build. For more information, see http://go.microsoft.com/fwlink/?LinkID=317568." HelpKeyword="BCLBUILD2002" />
</Target>
<!-- To modify your build process, add your task inside one of the targets below and uncomment it.
Other similar extension points exist, see Microsoft.Common.targets.

@ -1,10 +1,4 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace PackageTester
namespace PackageTester.PCL
{
public class PclTester : Tester { }
}

@ -1,10 +1,10 @@
<?xml version="1.0" encoding="utf-8"?>
<packages>
<package id="Flurl" version="2.1.0" targetFramework="portable45-net45+win8+wpa81" />
<package id="Flurl.Http" version="1.0.0" targetFramework="portable45-net45+win8+wpa81" />
<package id="Flurl" version="2.1.0-beta2" targetFramework="portable45-net45+win8+wpa81" />
<package id="Flurl.Http" version="1.0.0-beta" targetFramework="portable45-net45+win8+wpa81" />
<package id="Microsoft.Bcl" version="1.1.10" targetFramework="portable45-net45+win8+wpa81" />
<package id="Microsoft.Bcl.Async" version="1.0.168" targetFramework="portable45-net45+win8+wpa81" />
<package id="Microsoft.Bcl.Build" version="1.0.21" targetFramework="portable45-net45+win8+wpa81" />
<package id="Microsoft.Bcl.Build" version="1.0.14" targetFramework="portable45-net45+win8+wpa81" />
<package id="Microsoft.Net.Http" version="2.2.29" targetFramework="portable45-net45+win8+wpa81" />
<package id="Newtonsoft.Json" version="8.0.3" targetFramework="portable45-net45+win8+wpa81" />
<package id="PCLStorage" version="1.0.2" targetFramework="portable45-net45+win8+wpa81" />

@ -36,8 +36,8 @@
<HintPath>..\..\packages\Newtonsoft.Json.8.0.3\lib\net45\Newtonsoft.Json.dll</HintPath>
<Private>True</Private>
</Reference>
<Reference Include="nunit.framework, Version=3.2.1.0, Culture=neutral, PublicKeyToken=2638cd05610744eb, processorArchitecture=MSIL">
<HintPath>..\..\packages\NUnit.3.2.1\lib\net45\nunit.framework.dll</HintPath>
<Reference Include="nunit.framework, Version=2.6.4.14350, Culture=neutral, PublicKeyToken=96d09a1eb7f44a77, processorArchitecture=MSIL">
<HintPath>..\..\packages\NUnit.2.6.4\lib\nunit.framework.dll</HintPath>
<Private>True</Private>
</Reference>
<Reference Include="System" />
@ -50,15 +50,16 @@
<Reference Include="System.Xml" />
</ItemGroup>
<ItemGroup>
<Compile Include="DownloadExtensions.cs" />
<Compile Include="NoOpTask.cs" />
<Compile Include="Properties\AssemblyInfo.cs" />
</ItemGroup>
<ItemGroup>
<None Include="packages.config" />
</ItemGroup>
<Import Project="..\Test\Flurl.Test.Shared\Flurl.Test.Shared.projitems" Label="Shared" Condition="Exists('..\Test\Flurl.Test.Shared\Flurl.Test.Shared.projitems')" />
<Import Project="..\Flurl.Test.Shared\Flurl.Test.Shared.projitems" Label="Shared" Condition="Exists('..\Flurl.Test.Shared\Flurl.Test.Shared.projitems')" />
<Import Project="..\..\Flurl.Http.Shared\Flurl.Http.Shared.projitems" Label="Shared" />
<Import Project="..\..\Flurl.Shared\Flurl.Shared.projitems" Label="Shared" />
<Import Project="..\..\src\Flurl.Http.Shared\Flurl.Http.Shared.projitems" Label="Shared" />
<Import Project="..\..\src\Flurl.Shared\Flurl.Shared.projitems" Label="Shared" />
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
<PropertyGroup>
<PreBuildEvent>

@ -6,4 +6,4 @@ namespace Flurl.Http
{
public static readonly Task Instance = Task.FromResult(0);
}
}
}

@ -1,5 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
<packages>
<package id="Newtonsoft.Json" version="8.0.3" targetFramework="net45" />
<package id="NUnit" version="3.2.1" targetFramework="net45" />
<package id="NUnit" version="2.6.4" targetFramework="net45" />
</packages>

@ -68,4 +68,4 @@ namespace Flurl.Http
return FileSystem.Current.LocalStorage.CreateFolderAsync(path, CreationCollisionOption.OpenIfExists);
}
}
}
}

@ -32,6 +32,18 @@
<WarningLevel>4</WarningLevel>
</PropertyGroup>
<ItemGroup>
<Reference Include="Microsoft.Threading.Tasks, Version=1.0.12.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
<HintPath>..\..\packages\Microsoft.Bcl.Async.1.0.168\lib\net40\Microsoft.Threading.Tasks.dll</HintPath>
<Private>True</Private>
</Reference>
<Reference Include="Microsoft.Threading.Tasks.Extensions, Version=1.0.12.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
<HintPath>..\..\packages\Microsoft.Bcl.Async.1.0.168\lib\net40\Microsoft.Threading.Tasks.Extensions.dll</HintPath>
<Private>True</Private>
</Reference>
<Reference Include="Microsoft.Threading.Tasks.Extensions.Desktop, Version=1.0.168.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
<HintPath>..\..\packages\Microsoft.Bcl.Async.1.0.168\lib\net40\Microsoft.Threading.Tasks.Extensions.Desktop.dll</HintPath>
<Private>True</Private>
</Reference>
<Reference Include="Newtonsoft.Json, Version=6.0.0.0, Culture=neutral, PublicKeyToken=30ad4fe6b2a6aeed, processorArchitecture=MSIL">
<SpecificVersion>False</SpecificVersion>
<HintPath>..\..\packages\Newtonsoft.Json.6.0.3\lib\net45\Newtonsoft.Json.dll</HintPath>
@ -59,21 +71,23 @@
<Reference Include="System.Xml" />
</ItemGroup>
<ItemGroup>
<Compile Include="DownloadExtensionsPCL.cs" />
<Compile Include="NoOpTaskPCL.cs" />
<Compile Include="Properties\AssemblyInfo.cs" />
</ItemGroup>
<ItemGroup>
<None Include="app.config" />
<None Include="packages.config" />
</ItemGroup>
<ItemGroup>
<ProjectReference Include="..\..\Flurl.Http.PCL\Flurl.Http.PCL.csproj">
<Project>{4c163dd1-318a-42c0-acf2-9e0d766d8900}</Project>
<Name>Flurl.Http.PCL</Name>
</ProjectReference>
</ItemGroup>
<Import Project="..\Flurl.Test.Shared\Flurl.Test.Shared.projitems" Label="Shared" Condition="Exists('..\Flurl.Test.Shared\Flurl.Test.Shared.projitems')" />
<Import Project="..\..\Flurl.Shared\Flurl.Shared.projitems" Label="Shared" />
<Import Project="..\..\src\Flurl.Shared\Flurl.Shared.projitems" Label="Shared" />
<Import Project="..\..\src\Flurl.Http.Shared\Flurl.Http.Shared.projitems" Label="Shared" />
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
<Import Project="..\..\packages\Microsoft.Bcl.Build.1.0.14\tools\Microsoft.Bcl.Build.targets" Condition="Exists('..\..\packages\Microsoft.Bcl.Build.1.0.14\tools\Microsoft.Bcl.Build.targets')" />
<Target Name="EnsureBclBuildImported" BeforeTargets="BeforeBuild" Condition="'$(BclBuildImported)' == ''">
<Error Condition="!Exists('..\..\packages\Microsoft.Bcl.Build.1.0.14\tools\Microsoft.Bcl.Build.targets')" Text="This project references NuGet package(s) that are missing on this computer. Enable NuGet Package Restore to download them. For more information, see http://go.microsoft.com/fwlink/?LinkID=317567." HelpKeyword="BCLBUILD2001" />
<Error Condition="Exists('..\..\packages\Microsoft.Bcl.Build.1.0.14\tools\Microsoft.Bcl.Build.targets')" Text="The build restored NuGet packages. Build the project again to include these packages in the build. For more information, see http://go.microsoft.com/fwlink/?LinkID=317568." HelpKeyword="BCLBUILD2002" />
</Target>
<!-- To modify your build process, add your task inside one of the targets below and uncomment it.
Other similar extension points exist, see Microsoft.Common.targets.
<Target Name="BeforeBuild">

@ -0,0 +1,9 @@
using System.Threading.Tasks;
namespace Flurl.Http
{
internal static class NoOpTask
{
public static readonly Task Instance = TaskEx.FromResult(0);
}
}

@ -1,6 +1,10 @@
<?xml version="1.0" encoding="utf-8"?>
<packages>
<package id="Microsoft.Bcl" version="1.1.8" targetFramework="net45" />
<package id="Microsoft.Bcl.Async" version="1.0.168" targetFramework="net45" />
<package id="Microsoft.Bcl.Build" version="1.0.14" targetFramework="net45" />
<package id="Newtonsoft.Json" version="8.0.3" targetFramework="net45" />
<package id="NUnit" version="2.6.4" targetFramework="net45" />
<package id="PCLStorage" version="1.0.2" targetFramework="net45" />
<package id="System.Linq" version="4.0.0" targetFramework="net45" />
</packages>

@ -1,5 +1,5 @@
{
"projects": [ ".", "test" ],
"projects": [ "src", "test" ],
"sdk": {
"version": "1.0.0-preview1-002702"
}

@ -1,9 +1,5 @@
using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace Flurl.Http.CodeGen
{

@ -1,8 +1,5 @@
using System;
using System.Collections.Generic;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace Flurl.Http.CodeGen
{

@ -1,8 +1,6 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace Flurl.Http.CodeGen
{

@ -0,0 +1,51 @@
{
"title": "Flurl.Http",
"version": "1.0.0-beta",
"dependencies": {
"Flurl": "2.1.0-beta2",
"Newtonsoft.Json": "8.0.3"
},
"buildOptions": {
"compile": {
"include": [ "../Flurl.Http.Shared/**/*.cs" ]
},
"optimize": true,
"outputName": "Flurl.Http",
"xmlDoc": true
},
"frameworks": {
"portable45-net45+win8+wpa81": {
"buildOptions": {
"define": [ "PORTABLE" ] },
"dependencies": {
"Microsoft.Bcl.Async": "1.0.168",
"Microsoft.Net.Http": "2.2.29",
"PCLStorage": "1.0.2"
},
"frameworkAssemblies": {
"System.Collections": "4.0.0.0",
"System.Dynamic.Runtime": "4.0.0.0",
"System.Linq": "4.0.0.0",
"System.Runtime.Extensions": "4.0.0.0",
"System.Text.Encoding": "4.0.0.0",
"System.Text.RegularExpressions": "4.0.0.0",
"System.Threading": "4.0.0.0"
}
},
"netstandard1.4": {
"buildOptions": {
"define": [ "NETSTD" ] },
"imports": "dnxcore50",
"dependencies": {
"System.Dynamic.Runtime": "4.0.10",
"System.IO.FileSystem": "4.0.0",
"System.Net.Http": "4.0.0",
"System.Text.RegularExpressions": "4.0.10",
"System.Threading": "4.0.10"
}
}
}
}

@ -0,0 +1,71 @@
#if NETSTD
using System.IO;
using System.Linq;
using System.Net.Http;
using System.Threading.Tasks;
namespace Flurl.Http
{
public static class DownloadExtensions
{
/// <summary>
/// Asynchronously downloads a file at the specified URL.
/// </summary>
/// <param name="localFolderPath">Path of local folder where file is to be downloaded.</param>
/// <param name="localFileName">Name of local file. If not specified, the source filename (last segment of the URL) is used.</param>
/// <param name="bufferSize">Buffer size in bytes. Default is 4096.</param>
/// <returns>A Task whose result is the local path of the downloaded file.</returns>
public static async Task<string> DownloadFileAsync(this FlurlClient client, string localFolderPath, string localFileName = null, int bufferSize = 4096) {
if (localFileName == null)
localFileName = client.Url.Path.Split('/').Last();
if (!Directory.Exists(localFolderPath))
Directory.CreateDirectory(localFolderPath);
var filePath = Path.Combine(localFolderPath, localFileName);
// need to temporarily disable autodispose if set, otherwise reading from stream will fail
var autoDispose = client.AutoDispose;
client.AutoDispose = false;
try {
var response = await client.SendAsync(HttpMethod.Get, completionOption: HttpCompletionOption.ResponseHeadersRead).ConfigureAwait(false);
// http://codereview.stackexchange.com/a/18679
using (var httpStream = await response.Content.ReadAsStreamAsync().ConfigureAwait(false))
using (var filestream = new FileStream(filePath, FileMode.Create, FileAccess.Write, FileShare.None, bufferSize, useAsync: true)) {
await httpStream.CopyToAsync(filestream, bufferSize).ConfigureAwait(false);
}
return filePath;
}
finally {
client.AutoDispose = autoDispose;
if (client.AutoDispose) client.Dispose();
}
}
/// <summary>
/// Asynchronously downloads a file at the specified URL.
/// </summary>
/// <param name="localFolderPath">Path of local folder where file is to be downloaded.</param>
/// <param name="localFileName">Name of local file. If not specified, the source filename (last segment of the URL) is used.</param>
/// <param name="bufferSize">Buffer size in bytes. Default is 4096.</param>
/// <returns>A Task whose result is the local path of the downloaded file.</returns>
public static Task<string> DownloadFileAsync(this string url, string localFolderPath, string localFileName = null, int bufferSize = 4096) {
return new FlurlClient(url, true).DownloadFileAsync(localFolderPath, localFileName, bufferSize);
}
/// <summary>
/// Asynchronously downloads a file at the specified URL.
/// </summary>
/// <param name="localFolderPath">Path of local folder where file is to be downloaded.</param>
/// <param name="localFileName">Name of local file. If not specified, the source filename (last segment of the URL) is used.</param>
/// <param name="bufferSize">Buffer size in bytes. Default is 4096.</param>
/// <returns>A Task whose result is the local path of the downloaded file.</returns>
public static Task<string> DownloadFileAsync(this Url url, string localFolderPath, string localFileName = null, int bufferSize = 4096) {
return new FlurlClient(url, true).DownloadFileAsync(localFolderPath, localFileName, bufferSize);
}
}
}
#endif

@ -0,0 +1,73 @@
#if PORTABLE
using System.Linq;
using System.Net.Http;
using System.Threading.Tasks;
using PCLStorage;
namespace Flurl.Http
{
public static class DownloadExtensions
{
/// <summary>
/// Asynchronously downloads a file at the specified URL.
/// </summary>
/// <param name="localFolderPath">Path of local folder where file is to be downloaded.</param>
/// <param name="localFileName">Name of local file. If not specified, the source filename (last segment of the URL) is used.</param>
/// <param name="bufferSize">Buffer size in bytes. Default is 4096.</param>
/// <returns>A Task whose result is the local path of the downloaded file.</returns>
public static async Task<string> DownloadFileAsync(this FlurlClient client, string localFolderPath, string localFileName = null, int bufferSize = 4096) {
if (localFileName == null)
localFileName = client.Url.Path.Split('/').Last();
var folder = await EnsureFolderAsync(localFolderPath).ConfigureAwait(false);
var file = await folder.CreateFileAsync(localFileName, CreationCollisionOption.ReplaceExisting).ConfigureAwait(false);
// need to temporarily disable autodispose if set, otherwise reading from stream will fail
var autoDispose = client.AutoDispose;
client.AutoDispose = false;
try {
var response = await client.SendAsync(HttpMethod.Get, completionOption: HttpCompletionOption.ResponseHeadersRead).ConfigureAwait(false);
// http://codereview.stackexchange.com/a/18679
using (var httpStream = await response.Content.ReadAsStreamAsync().ConfigureAwait(false))
using (var filestream = await file.OpenAsync(FileAccess.ReadAndWrite).ConfigureAwait(false)) {
await httpStream.CopyToAsync(filestream, bufferSize).ConfigureAwait(false);
}
return PortablePath.Combine(localFolderPath, localFileName);
}
finally {
client.AutoDispose = autoDispose;
if (client.AutoDispose) client.Dispose();
}
}
/// <summary>
/// Asynchronously downloads a file at the specified URL.
/// </summary>
/// <param name="localFolderPath">Path of local folder where file is to be downloaded.</param>
/// <param name="localFileName">Name of local file. If not specified, the source filename (last segment of the URL) is used.</param>
/// <param name="bufferSize">Buffer size in bytes. Default is 4096.</param>
/// <returns>A Task whose result is the local path of the downloaded file.</returns>
public static Task<string> DownloadFileAsync(this string url, string localFolderPath, string localFileName = null, int bufferSize = 4096) {
return new FlurlClient(url, true).DownloadFileAsync(localFolderPath, localFileName, bufferSize);
}
/// <summary>
/// Asynchronously downloads a file at the specified URL.
/// </summary>
/// <param name="localFolderPath">Path of local folder where file is to be downloaded.</param>
/// <param name="localFileName">Name of local file. If not specified, the source filename (last segment of the URL) is used.</param>
/// <param name="bufferSize">Buffer size in bytes. Default is 4096.</param>
/// <returns>A Task whose result is the local path of the downloaded file.</returns>
public static Task<string> DownloadFileAsync(this Url url, string localFolderPath, string localFileName = null, int bufferSize = 4096) {
return new FlurlClient(url, true).DownloadFileAsync(localFolderPath, localFileName, bufferSize);
}
private static Task<IFolder> EnsureFolderAsync(string path) {
return FileSystem.Current.LocalStorage.CreateFolderAsync(path, CreationCollisionOption.OpenIfExists);
}
}
}
#endif

@ -0,0 +1,11 @@
#if NETSTD
using System.Threading.Tasks;
namespace Flurl.Http
{
internal static class NoOpTask
{
public static readonly Task Instance = Task.FromResult(0);
}
}
#endif

@ -1,7 +1,4 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
#if PORTABLE
using System.Threading.Tasks;
namespace Flurl.Http
@ -11,3 +8,4 @@ namespace Flurl.Http
public static readonly Task Instance = TaskEx.FromResult(0);
}
}
#endif

@ -1,6 +1,6 @@
{
"title": "Flurl",
"version": "2.1.0",
"version": "2.1.0-beta2",
"buildOptions": {
"compile": {