Coder Social home page Coder Social logo

modernhttpclient's Introduction

ModernHttpClient

โ— This project is not actively maintained. Consider using the handlers Xamarin provides. โ—

This library brings the latest platform-specific networking libraries to Xamarin applications via a custom HttpClient handler. Write your app using System.Net.Http, but drop this library in and it will go drastically faster. This is made possible by two native libraries:

Usage

The good news is, you don't have to know either of these two libraries above, using ModernHttpClient is the most boring thing in the world. Here's how it works:

var httpClient = new HttpClient(new NativeMessageHandler());

How can I use this in a PCL?

Just reference the Portable version of ModernHttpClient in your Portable Library, and it will use the correct version on all platforms.

Building

make

Why doesn't this build in Xamarin Studio? What gives?

## Run this first
make

modernhttpclient's People

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

modernhttpclient's Issues

Debug Logging

I am opening this issue to start a conversation around the best way to achieve this. I would like debug logging for when an HTTP request is made something like

GET http://somesite.com/api/people

And then a response when it is returned, something like

200 OK http://somesite.com/api/people

We don't currently have a log manager or logging built in. Are there any preferences on a log manager to use. I was thinking something custom like the one used in Splat. Thoughts?

Messy cancellation on Android

Cancellation is handled very weirdly in the OkHttp handler.

  • All the if (token.IsCancellationRequested) throw ... should just be token.ThrowIfCancellationRequested ().
  • The token is not setup correctly on the tasks, all the Task.Run should have the token passed otherwise it's not a cancellation.
  • throw new TaskCanceledException(); no, please, no ๐Ÿ˜ฟ

For reference: http://msdn.microsoft.com/en-us/library/dd997396(v=vs.110).aspx

How can I set credentials for the proxy using NativeMessageHandler

I managed to integrate NativeMessageHandler into iOS projects successfully and able to get the logs displayed in Charles. Thats works great.

  1. But is there a way I can set the credentials for the proxy?
  2. Also is there a way I can set custom proxy such that I can choose to capture the activity of an application at any remote proxy (without setting in the device)?

CaptiveNetworkException in Android

Hi Paul,

Can you include this exception in Android too? (even if not raised currently).

The issue is that we can't catch this exception if we target both iOS and Android using the same common code.
This will generate a compiling issue on Android (since the type is missing in the nuget package).

Thanks

Is ModernHttpClient affected by Xamarin Bugzilla #15135?

Any idea how this plays along with #15135? I've been having issues with the version of HttpClient that comes in Mono because sockets are not closed correctly and in some cases result in a NameResolutionError. Is ModernHttpClient affected in the same way?

Support Client Certificates

This is quite a vague feature request as I'm not entirely sure what the best approach would be, but I want to access a web service secured via client certificates.

I've started looking at implementing this on android, and I think you probably need to add a KeyStore property to the OkHandler.

I haven't done any research into iOS yet.

I'm hoping to do a pull request for this, but I'd be interested to know your thoughts on this.

Add Extension Points

Specifically what I am thinking about is allowing implementers who may want to gain support for a feature that isn't supported by HttpClient.

Such as the Upload or Download Progress provided by AFNetworking as an example.
https://github.com/thefactory/AFNetworking-Sharp/blob/master/AFNetworking/ApiDefinition.cs#L268

I want to break out the parts into something more atomic to give customization points to the implementors. Something like this quick code that I mocked up:
https://github.com/nberardi/ModernHttpClient/blob/2a1437ccc8a9992c3e99f4c4d297cabf76abf298/src/ModernHttpClient.iOS/AFNetworkHandler.cs

I know this gets beyond the mission of the original code to provide a cross platform way of implementing a more modern/native networking layer in HttpClient.

What are your thoughts @paulcbetts ?

ModernHttpClientv2.0 fails on iOS8

I consumed ModernHttpClient-v2.0 and tried to run in iOS8 device and it fails with Exception and the stack-trace.

2014-08-07 17:42:29.668 iOSCoreTest[403:81893] SendAsync start...
Thread started: <Thread Pool> #3
Thread started: <Thread Pool> #4
2014-08-07 17:42:29.877 iOSCoreTest[403:81893] Exception Details: 
Message: Cannot cast from source type to destination type.
Stacktrace:   at (wrapper castclass) object:__castclass_with_cache (object,intptr,intptr)
  at MonoTouch.ObjCRuntime.Runtime.ConstructNSObject[NSUrlSessionDataTask] (IntPtr ptr, System.Type type, MissingCtorResolution missingCtorResolution) [0x00000] in <filename unknown>:0 
  at MonoTouch.ObjCRuntime.Runtime.GetNSObject[NSUrlSessionDataTask] (IntPtr ptr) [0x00000] in <filename unknown>:0 
  at MonoTouch.Foundation.NSUrlSession.CreateDataTask (MonoTouch.Foundation.NSUrlRequest request) [0x00014] in /Developer/MonoTouch/Source/monotouch/src/build/compat/Foundation/.pmcs-compat.NSUrlSession.g.cs:138 
  at ModernHttpClient.NativeMessageHandler+<SendAsync>c__async0.MoveNext () [0x00000] in <filename unknown>:0 
--- End of stack trace from previous location where exception was thrown ---
  at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw () [0x0000b] in /Developer/MonoTouch/Source/mono/mcs/class/corlib/System.Runtime.ExceptionServices/ExceptionDispatchInfo.cs:62 
  at System.Runtime.CompilerServices.TaskAwaiter`1[System.Net.Http.HttpResponseMessage].GetResult () [0x00000] in <filename unknown>:0 
  at CoreTest.CoreTestViewController+<ExecuteQuery>c__async0.MoveNext () [0x000d3] in /Volumes/HDD/Working/Projects/Tesco/TFS/Ccube/Samples/SendAsyncCoreTest/APIFails/iOSCoreTest-Individual/CoreTest/CoreTestViewController.cs:46 

I have the sample app with me, but I didn't see an option to load the zip file.

Regards
Mustafa

The underlying Task is already in one of the three final states: RanToCompletion, Faulted, or Canceled.

Occurs from time to time in AFNetworkHandler.cs:87 and I haven't yet figured why and when. But brings down the application when it occurs.

2013-10-05 20:53:29.961 GIFE[17563:c07] Unhandled managed exception: The underlying Task is already in one of the three final states: RanToCompletion, Faulted, or Canceled. (System.InvalidOperationException)
  at System.Threading.Tasks.TaskCompletionSource`1[AFNetworking.AFHTTPRequestOperation].ThrowInvalidException () [0x00000] in /Developer/MonoTouch/Source/mono/mcs/class/corlib/System.Threading.Tasks/TaskCompletionSource.cs:91 
  at System.Threading.Tasks.TaskCompletionSource`1[AFNetworking.AFHTTPRequestOperation].SetException (IEnumerable`1 exceptions) [0x0000c] in /Developer/MonoTouch/Source/mono/mcs/class/corlib/System.Threading.Tasks/TaskCompletionSource.cs:80 
  at System.Threading.Tasks.TaskCompletionSource`1[AFNetworking.AFHTTPRequestOperation].SetException (System.Exception exception) [0x00011] in /Developer/MonoTouch/Source/mono/mcs/class/corlib/System.Threading.Tasks/TaskCompletionSource.cs:74 
  at ModernHttpClient.AFNetworkHandler+<enqueueOperation>c__AnonStorey2.<>m__1 (AFNetworking.AFHTTPRequestOperation op, MonoTouch.Foundation.NSError err) [0x00037] in /Users/oliver/Projects/ModernHttpClient/src/ModernHttpClient.iOS/AFNetworkHandler.cs:87 
  at MonoTouch.ObjCRuntime.Trampolines+SDAFHttpRequestFailureCallback.Invoke (IntPtr block, IntPtr operation, IntPtr error) [0x00061] in /Users/oliver/Projects/ModernHttpClient/vendor/afnetworking/AFNetworking/obj/Debug/ios/ObjCRuntime/Trampolines.g.cs:185 
  at (wrapper native-to-managed) MonoTouch.ObjCRuntime.Trampolines/SDAFHttpRequestFailureCallback:Invoke (intptr,intptr,intptr)
  at (wrapper managed-to-native) MonoTouch.UIKit.UIApplication:UIApplicationMain (int,string[],intptr,intptr)
  at MonoTouch.UIKit.UIApplication.Main (System.String[] args, System.String principalClassName, System.String delegateClassName) [0x0004c] in /Developer/MonoTouch/Source/monotouch/src/UIKit/UIApplication.cs:38 
  at GIFE.Application.Main (System.String[] args) [0x00009] in /Users/oliver/Projects/GIFE/IOS/GIFE/Main.cs:18 

ByteArrayListStream.Read deadlocks in Xamarin.Forms app on iOS.

I hit an issue in my Xamarin.Forms app on iOS. I had a call chain, which started from a button click event handler, async all the way down, and I found out that the HttpClient call is not returning. I debugged the issue down to your ByteArrayListStream.Read method, where you had a .Result for the async Read code.

My proposed solution would be to copy the ReadAsync code into the Read method as the BCL team did with a remove the async specific locks and exception throwing.

Maybe there is a bug in the AsyncLock class, or within the ReadAsync method I did not debug further, within that method.

Android.OS.NetworkOnMainThreadException

Just wanted to open an issue to track what we briefly discussed on Twitter.

I took a quick look and it appears the call to rq.OutputStream on line 35 can result in a DNS lookup (and then NetworkOnMainThreadException is thrown).

My code is essentially just:

var client = new HttpClient(new OkHttpNetworkHandler());
client.BaseAddress = new Uri(...);
await client.SendAsync(...);

Stack trace:

Android.OS.NetworkOnMainThreadException: 
  at Android.Runtime.JNIEnv.CallObjectMethod (IntPtr jobject, IntPtr jmethod) [0x00063] in /Users/builder/data/lanes/monodroid-mlion-monodroid-4.10.1-branch/62077ce0/source/monodroid/src/Mono.Android/src/Runtime/JNIEnv.g.cs:177
  at Java.Net.URLConnection.get_OutputStream () [0x00043] in /Users/builder/data/lanes/monodroid-mlion-monodroid-4.10.1-branch/62077ce0/source/monodroid/src/Mono.Android/platforms/android-14/src/generated/Java.Net.URLConnection.cs:816
  at ModernHttpClient.OkHttpNetworkHandler+<SendAsync>c__async0.MoveNext () [0x00259] in /Users/paul/github/ModernHttpClient/src/ModernHttpClient.Android/OkHttpNetworkHandler.cs:35
  at --- End of stack trace from previous location where exception was thrown ---
  at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw () [0x00000] in <filename unknown>:0
  at System.Runtime.CompilerServices.ConfiguredTaskAwaitable`1+ConfiguredTaskAwaiter[System.Net.Http.HttpResponseMessage].GetResult () [0x00000] in <filename unknown>:0
  at System.Net.Http.HttpClient+<SendAsyncWorker>c__async0.MoveNext () [0x00000] in <filename unknown>:0
  at --- End of stack trace from previous location where exception was thrown ---
  at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw () [0x00000] in <filename unknown>:0
  at System.Runtime.CompilerServices.ConfiguredTaskAwaitable`1+ConfiguredTaskAwaiter[System.Net.Http.HttpResponseMessage].GetResult () [0x00000] in <filename unknown>:0
  at DesktopAlert.Mobile.Services.HttpClientBase+<SendAsync>c__async7`1[DesktopAlert.Mobile.Services.ActivateResponse].MoveNext () [0x000e8] in /Users/justin/dev/Mobile/src/Mobile/Services/HttpClientBase.cs:52
  at --- End of stack trace from previous location where exception was thrown ---
  at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw () [0x00000] in <filename unknown>:0
  at System.Runtime.CompilerServices.TaskAwaiter`1[DesktopAlert.Mobile.Services.Response`1[DesktopAlert.Mobile.Services.ActivateResponse]].GetResult () [0x00000] in <filename unknown>:0
  at DesktopAlert.Mobile.ViewModels.ActivationViewModel+<Start>c__async5.MoveNext () [0x003d9] in /Users/justin/dev/Mobile/src/Mobile/ViewModels/ActivationViewModel.cs:125
  at --- End of managed exception stack trace ---
  at android.os.NetworkOnMainThreadException
  at    at android.os.StrictMode$AndroidBlockGuardPolicy.onNetwork(StrictMode.java:1099)
  at    at java.net.InetAddress.lookupHostByName(InetAddress.java:391)
  at    at java.net.InetAddress.getAllByNameImpl(InetAddress.java:242)
  at    at java.net.InetAddress.getAllByName(InetAddress.java:220)
  at    at com.squareup.okhttp.internal.Dns$1.getAllByName(Dns.java:28)
  at    at com.squareup.okhttp.internal.http.RouteSelector.resetNextInetSocketAddress(RouteSelector.java:216)
  at    at com.squareup.okhttp.internal.http.RouteSelector.next(RouteSelector.java:122)
  at    at com.squareup.okhttp.internal.http.HttpEngine.connect(HttpEngine.java:292)
  at    at com.squareup.okhttp.internal.http.HttpEngine.sendSocketRequest(HttpEngine.java:255)
  at    at com.squareup.okhttp.internal.http.HttpEngine.sendRequest(HttpEngine.java:206)
  at    at com.squareup.okhttp.internal.http.HttpURLConnectionImpl.execute(HttpURLConnectionImpl.java:351)
  at    at com.squareup.okhttp.internal.http.HttpURLConnectionImpl.connect(HttpURLConnectionImpl.java:90)
  at    at com.squareup.okhttp.internal.http.HttpURLConnectionImpl.getOutputStream(HttpURLConnectionImpl.java:198)
  at    at mono.java.lang.RunnableImplementor.n_run(Native Method)
  at    at mono.java.lang.RunnableImplementor.run(RunnableImplementor.java:29)
  at    at android.os.Handler.handleCallback(Handler.java:605)
  at    at android.os.Handler.dispatchMessage(Handler.java:92)
  at    at android.os.Looper.loop(Looper.java:137)
  at    at android.app.ActivityThread.main(ActivityThread.java:4424)
  at    at java.lang.reflect.Method.invokeNative(Native Method)
  at    at java.lang.reflect.Method.invoke(Method.java:511)
  at    at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:784)
  at    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:551)
  at    at dalvik.system.NativeStart.main(Native Method)

Pre-built binaries in repository?

Is it possible for you to include the pre-built binaries in the repository somewhere? I think the build process is a bit complicated, and does not work out of the box on my Mac for instance. Also it is not possible to reference the zip files as Git submodules, which would be awesome to do.

Alternatively you could create another repo just for the binaries not to pollute this one, that way you will be able to tag them, etc.

Support for GZIP'ed response?

According to this post http://stackoverflow.com/questions/2682483/nsurlconnection-nsurlrequest-gzip-support NSUrlRequest seems to support GZIP by adding a header:

[urlReq setValue:@"gzip" forHTTPHeaderField:@"Accept-Encoding"]

I can try this and will submit a fix if it works. However I do not know what to do with "deflate", as used in HttpClientHandler:

new HttpClient(new HttpClientHandler { AutomaticDecompression = DecompressionMethods.GZip | DecompressionMethods.Deflate })

Measure progress of upload

Is there a way to measure progress of an upload similarly to whats done for downloads in the samples?

iOS custom SSL verification: create NSUrlCredential for completionHandler on success?

For this line:

It looks like sending null to the completionHandler always leads to a "The certificate for this server is invalid" error.

If I change the line to create a credential from challenge.ProtectionSpace.ServerSecTrust, the validation succeeds:

completionHandler(NSUrlSessionAuthChallengeDisposition.UseCredential, NSUrlCredential.FromTrust(challenge.ProtectionSpace.ServerSecTrust));

Hopefully this is the correct fix. I think it might be based on this:

If you want to allow the connection, create a credential from your trust object (using +[NSURLCredential credentialForTrust:]) and call the completion handler block with that credential and the NSURLSessionAuthChallengeUseCredential disposition.

(from https://developer.apple.com/library/ios/technotes/tn2232/_index.html)

Many thanks for all your work on this library!

Content headers in v1.1.0

The content headers are not added in v1.1.0.

Do you accept pull requests for patching this version ?

Multipart form-data boundary is missing from Content-type header

Something I'm noticing since the ModernHttpClient 2.x series is that the boundary is missing from the Content-type header when using Multipart form-data.

I'm using a derivate class from System.Net.Http.MultipartContent which has an optional boundary parameter in it's constructor. When this isn't set HttpClient generates one automatically. This boundary is then added between all the content parts, and added as a parameter to the Content-type like this:
"multipart\/form-data; boundary=\"379dc741-a272-4441-b777-c892aa3cd45d\""

The Content-type using ModernHttpClient looks like this:
"multipart\/form-data"

I've tried setting a boundary myself in the constructor of MultipartContent, but this doesn't make any difference.

When dumping Content.Headers.ContentType.ToString () from the request, it correctly outputs the header including the boundary, so it's kind of surprising it's missing from the actual request being sent. It's as if only the MediaType property is being sent, while the Parameters property is completely ignored.

Argument cannot be null is raised while instantiating NSUrlSessionHandler

Hey guys, I am getting the exception when I run my app in iOS 6, but it works fine in iOS7. Since I couldn't find anywhere if it's supported in iOS 6 I am raising this issue here.

The stack-trace is:

System.ArgumentNullException: Argument cannot be null.
Parameter name: configuration
  at MonoTouch.Foundation.NSUrlSession.FromWeakConfiguration (MonoTouch.Foundation.NSUrlSessionConfiguration configuration, MonoTouch.Foundation.NSObject weakDelegate, MonoTouch.Foundation.NSOperationQueue delegateQueue) [0x00006] in /Developer/MonoTouch/Source/monotouch/src/build/compat/Foundation/NSUrlSession.g.cs:144 
  at MonoTouch.Foundation.NSUrlSession.FromConfiguration (MonoTouch.Foundation.NSUrlSessionConfiguration configuration, MonoTouch.Foundation.NSUrlSessionDelegate sessionDelegate, MonoTouch.Foundation.NSOperationQueue delegateQueue) [0x00000] in /Developer/MonoTouch/Source/monotouch/src/build/compat/Foundation/NSUrlSession.g.cs:151 
  at ModernHttpClient.NSUrlSessionHandler..ctor () [0x00000] in <filename unknown>:0

Support for GZIP'ed response on Android

I try to get a compressed response on Android o work.
It works on IOS without any additional code

like this

var httpClient = new HttpClient(new NativeMessageHandler());

but on Android it is not decompressed.

Must I do something more on Android?

(
Maybe some thing as this, nut not the same:
#35
#50
)

ReasonPhrase not returned properly

I have a ASP.NET MVC service that is returning an HttpStatusResult of 500 with a custom error phrase (Invalid User Name to be exact). When I use the NativeMessageHandler, the ReasonPhrase property of the HttpResponseMessage always shows "Internal Server Error" and never my status description.

If I comment out the use of the NativeMessageHandler, the vanilla handler that comes with the HttpClient does return the correct status description (as sent from the server).

Please advise :(

Custom Proxy support

We cannot configure proxy options using ModernHttpClient.
The regular HttpClientHandler allows us to provide proxy options and seems to use system proxy by default. What about OkHttpNetworkHandler and NSUrlSessionHandler ?

Bait and Switch is broken because the portable NativeMessageHandler is in the wrong namespace

When calling NativeMessageHandler from a PCL the app shows this exception: "System.TypeLoadException: Loading..."

To reproduce:

  • Add a new project Playground.Portable with Profile79 to sln.
  • Add this method to Class1:
    public void TestBaitAndSwitch()
    {
    var httpClient = new HttpClient(new NativeMessageHandler());
    }
  • Add a reference to ModernHttpClient.Portable from Playground.Portable
  • Add a reference to Playground.Portable from Playground.Android
  • Somewhere in OnCreate call: new Class1().TestBaitAndSwitch();
  • Running Playground.Android will show the above exception.

This can be fixed by changing the namespace in Facedes.cs from
ModernHttpClient.Portable to ModernHttpClient.

What pcl setting do i need

Hi Paul,

Trying to use this but keep getting errors on install into a pcl. Had the same problem today installing akavache. reactiveui/Akavache#126

What setting does the pcl need to target in order to install?

Install failed. Rolling back...
Install-Package : Could not install package 'modernhttpclient 1.2.2'. You are trying to
install this package into a project that targets
'portable-net45+wp80+win+MonoAndroid10+MonoTouch10', but the package does not contain any
assembly references or content files that are compatible with that framework. For more
information, contact the package author.

Android Package fails for ModernHttpClient v2.0.1

I started integrating Android-ModernHttpClient v2.0.1 and once I attempt to create Android package, it gives me the following build/package errors.

Note: This works fine if I am using v1.1. Also if I try to Run/Debug onto the device it works fine but fails on packaging for v2.0.1.

Target _CopyIntermediateAssemblies:
    Copying file from '/Volumes/HDD/Working/Projects/Samples/TFS/View Projects/Grocery.Android/Grocery.Droid-PCL/Apps/Grocery/Droid/Lib/BugSense.Xamarin.Android.dll' to '/Volumes/HDD/Working/Projects/Samples/TFS/View Projects/Grocery.Android/Grocery.Droid-PCL/Apps/Grocery/Droid/Grocery.Droid/Grocery.Droid/obj/Release/assemblies/BugSense.Xamarin.Android.dll'
    Copying file from '/Volumes/HDD/Working/Projects/Samples/TFS/View Projects/Grocery.Android/Grocery.Droid-PCL/Apps/Grocery/Droid/Lib/NineOldAndroids.dll' to '/Volumes/HDD/Working/Projects/Samples/TFS/View Projects/Grocery.Android/Grocery.Droid-PCL/Apps/Grocery/Droid/Grocery.Droid/Grocery.Droid/obj/Release/assemblies/NineOldAndroids.dll'
    Copying file from '/Volumes/HDD/Working/Projects/Samples/TFS/View Projects/Grocery.Android/Grocery.Droid-PCL/Apps/Grocery/Droid/Lib/OmnitureLibrary.dll' to '/Volumes/HDD/Working/Projects/Samples/TFS/View Projects/Grocery.Android/Grocery.Droid-PCL/Apps/Grocery/Droid/Grocery.Droid/Grocery.Droid/obj/Release/assemblies/OmnitureLibrary.dll'
    Copying file from '/Volumes/HDD/Working/Projects/Samples/TFS/View Projects/Grocery.Android/Grocery.Droid-PCL/Apps/Grocery/Droid/Lib/ZXing.Net.Mobile.dll' to '/Volumes/HDD/Working/Projects/Samples/TFS/View Projects/Grocery.Android/Grocery.Droid-PCL/Apps/Grocery/Droid/Grocery.Droid/Grocery.Droid/obj/Release/assemblies/ZXing.Net.Mobile.dll'
    Copying file from '/Volumes/HDD/Working/Projects/Samples/TFS/Ccube/WIP-branch/Build/bin/Android/Common/SQLite.Net.Platform.XamarinAndroid.dll' to '/Volumes/HDD/Working/Projects/Samples/TFS/View Projects/Grocery.Android/Grocery.Droid-PCL/Apps/Grocery/Droid/Grocery.Droid/Grocery.Droid/obj/Release/assemblies/SQLite.Net.Platform.XamarinAndroid.dll'
    Copying file from '/Volumes/HDD/Working/Projects/Samples/TFS/Ccube/WIP-branch/Source/CCubeCore/packages/modernhttpclient.2.0.1/lib/MonoAndroid/ModernHttpClient.dll' to '/Volumes/HDD/Working/Projects/Samples/TFS/View Projects/Grocery.Android/Grocery.Droid-PCL/Apps/Grocery/Droid/Grocery.Droid/Grocery.Droid/obj/Release/assemblies/ModernHttpClient.dll'
    Copying file from '/Volumes/HDD/Working/Projects/Samples/TFS/Ccube/WIP-branch/Source/CCubeCore/packages/modernhttpclient.2.0.1/lib/MonoAndroid/OkHttp.dll' to '/Volumes/HDD/Working/Projects/Samples/TFS/View Projects/Grocery.Android/Grocery.Droid-PCL/Apps/Grocery/Droid/Grocery.Droid/Grocery.Droid/obj/Release/assemblies/OkHttp.dll'
    Copying file from '/Volumes/HDD/Working/Projects/Samples/TFS/Ccube/WIP-branch/Source/CCubeCore/CCube.Droid.Core/bin/Release/CCube.Droid.Core.dll' to '/Volumes/HDD/Working/Projects/Samples/TFS/View Projects/Grocery.Android/Grocery.Droid-PCL/Apps/Grocery/Droid/Grocery.Droid/Grocery.Droid/obj/Release/assemblies/CCube.Droid.Core.dll'
    SourceFiles:
        /Volumes/HDD/Working/Projects/Samples/TFS/View Projects/Grocery.Android/Grocery.Droid-PCL/Apps/Grocery/Droid/Grocery.Droid/Grocery.Droid/bin/Release/Grocery.Droid.dll
        /Volumes/HDD/Working/Projects/Samples/TFS/View Projects/Grocery.Android/Grocery.Droid-PCL/Apps/Grocery/Droid/Lib/BugSense.Xamarin.Android.dll
        /Volumes/HDD/Working/Projects/Samples/TFS/View Projects/Grocery.Android/Grocery.Droid-PCL/Apps/Grocery/Droid/Lib/NineOldAndroids.dll
        /Volumes/HDD/Working/Projects/Samples/TFS/View Projects/Grocery.Android/Grocery.Droid-PCL/Apps/Grocery/Droid/Lib/OmnitureLibrary.dll
        /Volumes/HDD/Working/Projects/Samples/TFS/View Projects/Grocery.Android/Grocery.Droid-PCL/Apps/Grocery/Droid/Lib/zxing.monoandroid.dll
        /Volumes/HDD/Working/Projects/Samples/TFS/View Projects/Grocery.Android/Grocery.Droid-PCL/Apps/Grocery/Droid/Lib/ZXing.Net.Mobile.dll
        /Volumes/HDD/Working/Projects/Samples/TFS/View Projects/Grocery.Android/Grocery.Droid-PCL/Apps/Grocery/Droid/Lib/Xamarin.Android.Support.v7.AppCompat.dll
        /Volumes/HDD/Working/Projects/Samples/TFS/View Projects/Grocery.Android/Grocery.Droid-PCL/Apps/Grocery/Droid/Grocery.Droid/packages/Xamarin.Android.Support.v4.19.1.0/lib/MonoAndroid10/Xamarin.Android.Support.v4.dll
        /Volumes/HDD/Working/Projects/Samples/TFS/Ccube/WIP-branch/Build/bin/Android/Common/SQLite.Net.Platform.XamarinAndroid.dll
        /Volumes/HDD/Working/Projects/Samples/TFS/Ccube/WIP-branch/Build/bin/Android/Common/SQLite.Net.dll
        /Volumes/HDD/Working/Projects/Samples/TFS/Ccube/WIP-branch/Build/bin/Common/Microsoft.Threading.Tasks.Extensions.dll
        /Volumes/HDD/Working/Projects/Samples/TFS/Ccube/WIP-branch/Build/bin/Common/Microsoft.Threading.Tasks.dll
        /Volumes/HDD/Working/Projects/Samples/TFS/Ccube/WIP-branch/Build/bin/Common/Newtonsoft.Json.dll
        /Volumes/HDD/Working/Projects/Samples/TFS/Ccube/WIP-branch/Build/bin/Common/System.Net.Http.Extensions.dll
        /Volumes/HDD/Working/Projects/Samples/TFS/Ccube/WIP-branch/Build/bin/Common/System.Net.Http.Primitives.dll
        /Volumes/HDD/Working/Projects/Samples/TFS/Ccube/WIP-branch/Build/bin/Core/Release/CCube.Clubcard.dll
        /Volumes/HDD/Working/Projects/Samples/TFS/Ccube/WIP-branch/Build/bin/Core/Release/CCube.Common.dll
        /Volumes/HDD/Working/Projects/Samples/TFS/Ccube/WIP-branch/Build/bin/Core/Release/CCube.Core.Extentions.dll
        /Volumes/HDD/Working/Projects/Samples/TFS/Ccube/WIP-branch/Build/bin/Core/Release/CCube.GroceryInstore.dll
        /Volumes/HDD/Working/Projects/Samples/TFS/Ccube/WIP-branch/Build/bin/Core/Release/CCube.StoreLocator.dll
        /Volumes/HDD/Working/Projects/Samples/TFS/Ccube/WIP-branch/Build/bin/Core/Release/TinyIoC.dll
        /Volumes/HDD/Working/Projects/Samples/TFS/Ccube/WIP-branch/Source/CCubeCore/packages/modernhttpclient.2.0.1/lib/MonoAndroid/ModernHttpClient.dll
        /Volumes/HDD/Working/Projects/Samples/TFS/Ccube/WIP-branch/Source/CCubeCore/packages/modernhttpclient.2.0.1/lib/MonoAndroid/OkHttp.dll
        /Volumes/HDD/Working/Projects/Samples/TFS/Ccube/WIP-branch/Source/CCubeCore/CCube.Core/bin/Release/CCube.Core.dll
        /Volumes/HDD/Working/Projects/Samples/TFS/Ccube/WIP-branch/Source/CCubeCore/CCube.Droid.Core/bin/Release/CCube.Droid.Core.dll
        /Volumes/HDD/Working/Projects/Samples/TFS/Ccube/WIP-branch/Source/CCubeCore/CCube.Core.Grocery/bin/Release/CCube.Grocery.dll
        /Volumes/HDD/Working/Projects/Samples/TFS/Ccube/WIP-branch/Source/CCubeCore/CCube.Core.Identity/bin/Release/CCube.Identity.dll
        /Library/Frameworks/Mono.framework/External/xbuild-frameworks/MonoAndroid/v4.4/Mono.Android.dll
        /Library/Frameworks/Mono.framework/External/xbuild-frameworks/MonoAndroid/v1.0/mscorlib.dll
        /Library/Frameworks/Mono.framework/External/xbuild-frameworks/MonoAndroid/v1.0/System.Xml.dll
        /Library/Frameworks/Mono.framework/External/xbuild-frameworks/MonoAndroid/v1.0/System.dll
        /Library/Frameworks/Mono.framework/External/xbuild-frameworks/MonoAndroid/v1.0/Mono.Security.dll
        /Library/Frameworks/Mono.framework/External/xbuild-frameworks/MonoAndroid/v1.0/System.Core.dll
        /Library/Frameworks/Mono.framework/External/xbuild-frameworks/MonoAndroid/v1.0/System.Data.dll
        /Library/Frameworks/Mono.framework/External/xbuild-frameworks/MonoAndroid/v1.0/Mono.Data.Tds.dll
        /Library/Frameworks/Mono.framework/External/xbuild-frameworks/MonoAndroid/v1.0/System.Transactions.dll
        /Library/Frameworks/Mono.framework/External/xbuild-frameworks/MonoAndroid/v1.0/System.Xml.Linq.dll
        /Library/Frameworks/Mono.framework/External/xbuild-frameworks/MonoAndroid/v1.0/System.Runtime.Serialization.dll
        /Library/Frameworks/Mono.framework/External/xbuild-frameworks/MonoAndroid/v1.0/Facades/System.Threading.Tasks.dll
        /Library/Frameworks/Mono.framework/External/xbuild-frameworks/MonoAndroid/v1.0/System.Net.dll
        /Library/Frameworks/Mono.framework/External/xbuild-frameworks/MonoAndroid/v1.0/Facades/System.Runtime.dll
        /Library/Frameworks/Mono.framework/External/xbuild-frameworks/MonoAndroid/v1.0/System.ComponentModel.Composition.dll
        /Library/Frameworks/Mono.framework/External/xbuild-frameworks/MonoAndroid/v1.0/System.Net.Http.dll
        /Library/Frameworks/Mono.framework/External/xbuild-frameworks/MonoAndroid/v1.0/System.Xml.Serialization.dll
        /Library/Frameworks/Mono.framework/External/xbuild-frameworks/MonoAndroid/v1.0/System.ServiceModel.dll
    DestinationFiles:
        obj/Release/assemblies/Grocery.Droid.dll
        obj/Release/assemblies/BugSense.Xamarin.Android.dll
        obj/Release/assemblies/NineOldAndroids.dll
        obj/Release/assemblies/OmnitureLibrary.dll
        obj/Release/assemblies/zxing.monoandroid.dll
        obj/Release/assemblies/ZXing.Net.Mobile.dll
        obj/Release/assemblies/Xamarin.Android.Support.v7.AppCompat.dll
        obj/Release/assemblies/Xamarin.Android.Support.v4.dll
        obj/Release/assemblies/SQLite.Net.Platform.XamarinAndroid.dll
        obj/Release/assemblies/SQLite.Net.dll
        obj/Release/assemblies/Microsoft.Threading.Tasks.Extensions.dll
        obj/Release/assemblies/Microsoft.Threading.Tasks.dll
        obj/Release/assemblies/Newtonsoft.Json.dll
        obj/Release/assemblies/System.Net.Http.Extensions.dll
        obj/Release/assemblies/System.Net.Http.Primitives.dll
        obj/Release/assemblies/CCube.Clubcard.dll
        obj/Release/assemblies/CCube.Common.dll
        obj/Release/assemblies/CCube.Core.Extentions.dll
        obj/Release/assemblies/CCube.GroceryInstore.dll
        obj/Release/assemblies/CCube.StoreLocator.dll
        obj/Release/assemblies/TinyIoC.dll
        obj/Release/assemblies/ModernHttpClient.dll
        obj/Release/assemblies/OkHttp.dll
        obj/Release/assemblies/CCube.Core.dll
        obj/Release/assemblies/CCube.Droid.Core.dll
        obj/Release/assemblies/CCube.Grocery.dll
        obj/Release/assemblies/CCube.Identity.dll
        obj/Release/assemblies/Mono.Android.dll
        obj/Release/assemblies/mscorlib.dll
        obj/Release/assemblies/System.Xml.dll
        obj/Release/assemblies/System.dll
        obj/Release/assemblies/Mono.Security.dll
        obj/Release/assemblies/System.Core.dll
        obj/Release/assemblies/System.Data.dll
        obj/Release/assemblies/Mono.Data.Tds.dll
        obj/Release/assemblies/System.Transactions.dll
        obj/Release/assemblies/System.Xml.Linq.dll
        obj/Release/assemblies/System.Runtime.Serialization.dll
        obj/Release/assemblies/System.Threading.Tasks.dll
        obj/Release/assemblies/System.Net.dll
        obj/Release/assemblies/System.Runtime.dll
        obj/Release/assemblies/System.ComponentModel.Composition.dll
        obj/Release/assemblies/System.Net.Http.dll
        obj/Release/assemblies/System.Xml.Serialization.dll
        obj/Release/assemblies/System.ServiceModel.dll
    SourceFiles:
        /Volumes/HDD/Working/Projects/Samples/TFS/View Projects/Grocery.Android/Grocery.Droid-PCL/Apps/Grocery/Droid/Grocery.Droid/Grocery.Droid/bin/Release/Grocery.Droid.dll
        /Volumes/HDD/Working/Projects/Samples/TFS/View Projects/Grocery.Android/Grocery.Droid-PCL/Apps/Grocery/Droid/Lib/BugSense.Xamarin.Android.dll
        /Volumes/HDD/Working/Projects/Samples/TFS/View Projects/Grocery.Android/Grocery.Droid-PCL/Apps/Grocery/Droid/Lib/NineOldAndroids.dll
        /Volumes/HDD/Working/Projects/Samples/TFS/View Projects/Grocery.Android/Grocery.Droid-PCL/Apps/Grocery/Droid/Lib/OmnitureLibrary.dll
        /Volumes/HDD/Working/Projects/Samples/TFS/View Projects/Grocery.Android/Grocery.Droid-PCL/Apps/Grocery/Droid/Lib/zxing.monoandroid.dll
        /Volumes/HDD/Working/Projects/Samples/TFS/View Projects/Grocery.Android/Grocery.Droid-PCL/Apps/Grocery/Droid/Lib/ZXing.Net.Mobile.dll
        /Volumes/HDD/Working/Projects/Samples/TFS/View Projects/Grocery.Android/Grocery.Droid-PCL/Apps/Grocery/Droid/Lib/Xamarin.Android.Support.v7.AppCompat.dll
        /Volumes/HDD/Working/Projects/Samples/TFS/View Projects/Grocery.Android/Grocery.Droid-PCL/Apps/Grocery/Droid/Grocery.Droid/packages/Xamarin.Android.Support.v4.19.1.0/lib/MonoAndroid10/Xamarin.Android.Support.v4.dll
        /Volumes/HDD/Working/Projects/Samples/TFS/Ccube/WIP-branch/Build/bin/Android/Common/SQLite.Net.Platform.XamarinAndroid.dll
        /Volumes/HDD/Working/Projects/Samples/TFS/Ccube/WIP-branch/Build/bin/Android/Common/SQLite.Net.dll
        /Volumes/HDD/Working/Projects/Samples/TFS/Ccube/WIP-branch/Build/bin/Common/Microsoft.Threading.Tasks.Extensions.dll
        /Volumes/HDD/Working/Projects/Samples/TFS/Ccube/WIP-branch/Build/bin/Common/Microsoft.Threading.Tasks.dll
        /Volumes/HDD/Working/Projects/Samples/TFS/Ccube/WIP-branch/Build/bin/Common/Newtonsoft.Json.dll
        /Volumes/HDD/Working/Projects/Samples/TFS/Ccube/WIP-branch/Build/bin/Common/System.Net.Http.Extensions.dll
        /Volumes/HDD/Working/Projects/Samples/TFS/Ccube/WIP-branch/Build/bin/Common/System.Net.Http.Primitives.dll
        /Volumes/HDD/Working/Projects/Samples/TFS/Ccube/WIP-branch/Build/bin/Core/Release/CCube.Clubcard.dll
        /Volumes/HDD/Working/Projects/Samples/TFS/Ccube/WIP-branch/Build/bin/Core/Release/CCube.Common.dll
        /Volumes/HDD/Working/Projects/Samples/TFS/Ccube/WIP-branch/Build/bin/Core/Release/CCube.Core.Extentions.dll
        /Volumes/HDD/Working/Projects/Samples/TFS/Ccube/WIP-branch/Build/bin/Core/Release/CCube.GroceryInstore.dll
        /Volumes/HDD/Working/Projects/Samples/TFS/Ccube/WIP-branch/Build/bin/Core/Release/CCube.StoreLocator.dll
        /Volumes/HDD/Working/Projects/Samples/TFS/Ccube/WIP-branch/Build/bin/Core/Release/TinyIoC.dll
        /Volumes/HDD/Working/Projects/Samples/TFS/Ccube/WIP-branch/Source/CCubeCore/packages/modernhttpclient.2.0.1/lib/MonoAndroid/ModernHttpClient.dll
        /Volumes/HDD/Working/Projects/Samples/TFS/Ccube/WIP-branch/Source/CCubeCore/packages/modernhttpclient.2.0.1/lib/MonoAndroid/OkHttp.dll
        /Volumes/HDD/Working/Projects/Samples/TFS/Ccube/WIP-branch/Source/CCubeCore/CCube.Core/bin/Release/CCube.Core.dll
        /Volumes/HDD/Working/Projects/Samples/TFS/Ccube/WIP-branch/Source/CCubeCore/CCube.Droid.Core/bin/Release/CCube.Droid.Core.dll
        /Volumes/HDD/Working/Projects/Samples/TFS/Ccube/WIP-branch/Source/CCubeCore/CCube.Core.Grocery/bin/Release/CCube.Grocery.dll
        /Volumes/HDD/Working/Projects/Samples/TFS/Ccube/WIP-branch/Source/CCubeCore/CCube.Core.Identity/bin/Release/CCube.Identity.dll
        /Library/Frameworks/Mono.framework/External/xbuild-frameworks/MonoAndroid/v4.4/Mono.Android.dll
        /Library/Frameworks/Mono.framework/External/xbuild-frameworks/MonoAndroid/v1.0/mscorlib.dll
        /Library/Frameworks/Mono.framework/External/xbuild-frameworks/MonoAndroid/v1.0/System.Xml.dll
        /Library/Frameworks/Mono.framework/External/xbuild-frameworks/MonoAndroid/v1.0/System.dll
        /Library/Frameworks/Mono.framework/External/xbuild-frameworks/MonoAndroid/v1.0/Mono.Security.dll
        /Library/Frameworks/Mono.framework/External/xbuild-frameworks/MonoAndroid/v1.0/System.Core.dll
        /Library/Frameworks/Mono.framework/External/xbuild-frameworks/MonoAndroid/v1.0/System.Data.dll
        /Library/Frameworks/Mono.framework/External/xbuild-frameworks/MonoAndroid/v1.0/Mono.Data.Tds.dll
        /Library/Frameworks/Mono.framework/External/xbuild-frameworks/MonoAndroid/v1.0/System.Transactions.dll
        /Library/Frameworks/Mono.framework/External/xbuild-frameworks/MonoAndroid/v1.0/System.Xml.Linq.dll
        /Library/Frameworks/Mono.framework/External/xbuild-frameworks/MonoAndroid/v1.0/System.Runtime.Serialization.dll
        /Library/Frameworks/Mono.framework/External/xbuild-frameworks/MonoAndroid/v1.0/Facades/System.Threading.Tasks.dll
        /Library/Frameworks/Mono.framework/External/xbuild-frameworks/MonoAndroid/v1.0/System.Net.dll
        /Library/Frameworks/Mono.framework/External/xbuild-frameworks/MonoAndroid/v1.0/Facades/System.Runtime.dll
        /Library/Frameworks/Mono.framework/External/xbuild-frameworks/MonoAndroid/v1.0/System.ComponentModel.Composition.dll
        /Library/Frameworks/Mono.framework/External/xbuild-frameworks/MonoAndroid/v1.0/System.Net.Http.dll
        /Library/Frameworks/Mono.framework/External/xbuild-frameworks/MonoAndroid/v1.0/System.Xml.Serialization.dll
        /Library/Frameworks/Mono.framework/External/xbuild-frameworks/MonoAndroid/v1.0/System.ServiceModel.dll
    DestinationFiles:
        obj/Release/assemblies/Grocery.Droid.dll
        obj/Release/assemblies/BugSense.Xamarin.Android.dll
        obj/Release/assemblies/NineOldAndroids.dll
        obj/Release/assemblies/OmnitureLibrary.dll
        obj/Release/assemblies/zxing.monoandroid.dll
        obj/Release/assemblies/ZXing.Net.Mobile.dll
        obj/Release/assemblies/Xamarin.Android.Support.v7.AppCompat.dll
        obj/Release/assemblies/Xamarin.Android.Support.v4.dll
        obj/Release/assemblies/SQLite.Net.Platform.XamarinAndroid.dll
        obj/Release/assemblies/SQLite.Net.dll
        obj/Release/assemblies/Microsoft.Threading.Tasks.Extensions.dll
        obj/Release/assemblies/Microsoft.Threading.Tasks.dll
        obj/Release/assemblies/Newtonsoft.Json.dll
        obj/Release/assemblies/System.Net.Http.Extensions.dll
        obj/Release/assemblies/System.Net.Http.Primitives.dll
        obj/Release/assemblies/CCube.Clubcard.dll
        obj/Release/assemblies/CCube.Common.dll
        obj/Release/assemblies/CCube.Core.Extentions.dll
        obj/Release/assemblies/CCube.GroceryInstore.dll
        obj/Release/assemblies/CCube.StoreLocator.dll
        obj/Release/assemblies/TinyIoC.dll
        obj/Release/assemblies/ModernHttpClient.dll
        obj/Release/assemblies/OkHttp.dll
        obj/Release/assemblies/CCube.Core.dll
        obj/Release/assemblies/CCube.Droid.Core.dll
        obj/Release/assemblies/CCube.Grocery.dll
        obj/Release/assemblies/CCube.Identity.dll
        obj/Release/assemblies/Mono.Android.dll
        obj/Release/assemblies/mscorlib.dll
        obj/Release/assemblies/System.Xml.dll
        obj/Release/assemblies/System.dll
        obj/Release/assemblies/Mono.Security.dll
        obj/Release/assemblies/System.Core.dll
        obj/Release/assemblies/System.Data.dll
        obj/Release/assemblies/Mono.Data.Tds.dll
        obj/Release/assemblies/System.Transactions.dll
        obj/Release/assemblies/System.Xml.Linq.dll
        obj/Release/assemblies/System.Runtime.Serialization.dll
        obj/Release/assemblies/System.Threading.Tasks.dll
        obj/Release/assemblies/System.Net.dll
        obj/Release/assemblies/System.Runtime.dll
        obj/Release/assemblies/System.ComponentModel.Composition.dll
        obj/Release/assemblies/System.Net.Http.dll
        obj/Release/assemblies/System.Xml.Serialization.dll
        obj/Release/assemblies/System.ServiceModel.dll

Target _ScanAssemblies:
    LinkAssemblies Task
      UseSharedRuntime: false
      MainAssembly: obj/Release/assemblies/Grocery.Droid.dll
      OutputDirectory: obj/Release/android/assets/
      I18nAssemblies: 
      ReferenceAssembliesDirectory: /Library/Frameworks/Mono.framework/External/xbuild-frameworks/MonoAndroid/v4.4;/Library/Frameworks/Mono.framework/External/xbuild-frameworks/MonoAndroid/v1.0;/Library/Frameworks/Mono.framework/External/xbuild-frameworks/MonoAndroid/v1.0/Facades/
      ResolvedAssemblies:
        obj/Release/assemblies/Grocery.Droid.dll
        obj/Release/assemblies/BugSense.Xamarin.Android.dll
        obj/Release/assemblies/NineOldAndroids.dll
        obj/Release/assemblies/OmnitureLibrary.dll
        obj/Release/assemblies/zxing.monoandroid.dll
        obj/Release/assemblies/ZXing.Net.Mobile.dll
        obj/Release/assemblies/Xamarin.Android.Support.v7.AppCompat.dll
        obj/Release/assemblies/Xamarin.Android.Support.v4.dll
        obj/Release/assemblies/SQLite.Net.Platform.XamarinAndroid.dll
        obj/Release/assemblies/SQLite.Net.dll
        obj/Release/assemblies/Microsoft.Threading.Tasks.Extensions.dll
        obj/Release/assemblies/Microsoft.Threading.Tasks.dll
        obj/Release/assemblies/Newtonsoft.Json.dll
        obj/Release/assemblies/System.Net.Http.Extensions.dll
        obj/Release/assemblies/System.Net.Http.Primitives.dll
        obj/Release/assemblies/CCube.Clubcard.dll
        obj/Release/assemblies/CCube.Common.dll
        obj/Release/assemblies/CCube.Core.Extentions.dll
        obj/Release/assemblies/CCube.GroceryInstore.dll
        obj/Release/assemblies/CCube.StoreLocator.dll
        obj/Release/assemblies/TinyIoC.dll
        obj/Release/assemblies/ModernHttpClient.dll
        obj/Release/assemblies/OkHttp.dll
        obj/Release/assemblies/CCube.Core.dll
        obj/Release/assemblies/CCube.Droid.Core.dll
        obj/Release/assemblies/CCube.Grocery.dll
        obj/Release/assemblies/CCube.Identity.dll
        obj/Release/assemblies/Mono.Android.dll
        obj/Release/assemblies/mscorlib.dll
        obj/Release/assemblies/System.Xml.dll
        obj/Release/assemblies/System.dll
        obj/Release/assemblies/Mono.Security.dll
        obj/Release/assemblies/System.Core.dll
        obj/Release/assemblies/System.Data.dll
        obj/Release/assemblies/Mono.Data.Tds.dll
        obj/Release/assemblies/System.Transactions.dll
        obj/Release/assemblies/System.Xml.Linq.dll
        obj/Release/assemblies/System.Runtime.Serialization.dll
        obj/Release/assemblies/System.Threading.Tasks.dll
        obj/Release/assemblies/System.Net.dll
        obj/Release/assemblies/System.Runtime.dll
        obj/Release/assemblies/System.ComponentModel.Composition.dll
        obj/Release/assemblies/System.Net.Http.dll
        obj/Release/assemblies/System.Xml.Serialization.dll
        obj/Release/assemblies/System.ServiceModel.dll

Target _StripEmbeddedLibraries:
      Assemblies: 
        obj/Release/assemblies/Grocery.Droid.dll
        obj/Release/assemblies/BugSense.Xamarin.Android.dll
        obj/Release/assemblies/NineOldAndroids.dll
        obj/Release/assemblies/OmnitureLibrary.dll
        obj/Release/assemblies/zxing.monoandroid.dll
        obj/Release/assemblies/ZXing.Net.Mobile.dll
        obj/Release/assemblies/Xamarin.Android.Support.v7.AppCompat.dll
        obj/Release/assemblies/Xamarin.Android.Support.v4.dll
        obj/Release/assemblies/SQLite.Net.Platform.XamarinAndroid.dll
        obj/Release/assemblies/SQLite.Net.dll
        obj/Release/assemblies/Microsoft.Threading.Tasks.Extensions.dll
        obj/Release/assemblies/Microsoft.Threading.Tasks.dll
        obj/Release/assemblies/Newtonsoft.Json.dll
        obj/Release/assemblies/System.Net.Http.Extensions.dll
        obj/Release/assemblies/System.Net.Http.Primitives.dll
        obj/Release/assemblies/CCube.Clubcard.dll
        obj/Release/assemblies/CCube.Common.dll
        obj/Release/assemblies/CCube.Core.Extentions.dll
        obj/Release/assemblies/CCube.GroceryInstore.dll
        obj/Release/assemblies/CCube.StoreLocator.dll
        obj/Release/assemblies/TinyIoC.dll
        obj/Release/assemblies/ModernHttpClient.dll
        obj/Release/assemblies/OkHttp.dll
        obj/Release/assemblies/CCube.Core.dll
        obj/Release/assemblies/CCube.Droid.Core.dll
        obj/Release/assemblies/CCube.Grocery.dll
        obj/Release/assemblies/CCube.Identity.dll
        obj/Release/assemblies/Mono.Android.dll
        obj/Release/assemblies/mscorlib.dll
        obj/Release/assemblies/System.Xml.dll
        obj/Release/assemblies/System.dll
        obj/Release/assemblies/Mono.Security.dll
        obj/Release/assemblies/System.Core.dll
        obj/Release/assemblies/System.Data.dll
        obj/Release/assemblies/Mono.Data.Tds.dll
        obj/Release/assemblies/System.Transactions.dll
        obj/Release/assemblies/System.Xml.Linq.dll
        obj/Release/assemblies/System.Runtime.Serialization.dll
        obj/Release/assemblies/System.Threading.Tasks.dll
        obj/Release/assemblies/System.Net.dll
        obj/Release/assemblies/System.Runtime.dll
        obj/Release/assemblies/System.ComponentModel.Composition.dll
        obj/Release/assemblies/System.Net.Http.dll
        obj/Release/assemblies/System.Xml.Serialization.dll
        obj/Release/assemblies/System.ServiceModel.dll

Target _ResetLinkingFlag:
    Deleting file '/Volumes/HDD/Working/Projects/Samples/TFS/View Projects/Grocery.Android/Grocery.Droid-PCL/Apps/Grocery/Droid/Grocery.Droid/Grocery.Droid/obj/Release/link.flag'

Target _LinkAssemblies:
    LinkAssemblies Task
      UseSharedRuntime: false
      MainAssembly: obj/Release/assemblies/Grocery.Droid.dll
      OutputDirectory: obj/Release/android/assets/
      I18nAssemblies: 
      LinkMode: SdkOnly
      LinkDescriptions:
      ResolvedAssemblies:
        obj/Release/assemblies/Grocery.Droid.dll
        obj/Release/assemblies/BugSense.Xamarin.Android.dll
        obj/Release/assemblies/NineOldAndroids.dll
        obj/Release/assemblies/OmnitureLibrary.dll
        obj/Release/assemblies/zxing.monoandroid.dll
        obj/Release/assemblies/ZXing.Net.Mobile.dll
        obj/Release/assemblies/Xamarin.Android.Support.v7.AppCompat.dll
        obj/Release/assemblies/Xamarin.Android.Support.v4.dll
        obj/Release/assemblies/SQLite.Net.Platform.XamarinAndroid.dll
        obj/Release/assemblies/SQLite.Net.dll
        obj/Release/assemblies/Microsoft.Threading.Tasks.Extensions.dll
        obj/Release/assemblies/Microsoft.Threading.Tasks.dll
        obj/Release/assemblies/Newtonsoft.Json.dll
        obj/Release/assemblies/System.Net.Http.Extensions.dll
        obj/Release/assemblies/System.Net.Http.Primitives.dll
        obj/Release/assemblies/CCube.Clubcard.dll
        obj/Release/assemblies/CCube.Common.dll
        obj/Release/assemblies/CCube.Core.Extentions.dll
        obj/Release/assemblies/CCube.GroceryInstore.dll
        obj/Release/assemblies/CCube.StoreLocator.dll
        obj/Release/assemblies/TinyIoC.dll
        obj/Release/assemblies/ModernHttpClient.dll
        obj/Release/assemblies/OkHttp.dll
        obj/Release/assemblies/CCube.Core.dll
        obj/Release/assemblies/CCube.Droid.Core.dll
        obj/Release/assemblies/CCube.Grocery.dll
        obj/Release/assemblies/CCube.Identity.dll
        obj/Release/assemblies/Mono.Android.dll
        obj/Release/assemblies/mscorlib.dll
        obj/Release/assemblies/System.Xml.dll
        obj/Release/assemblies/System.dll
        obj/Release/assemblies/Mono.Security.dll
        obj/Release/assemblies/System.Core.dll
        obj/Release/assemblies/System.Data.dll
        obj/Release/assemblies/Mono.Data.Tds.dll
        obj/Release/assemblies/System.Transactions.dll
        obj/Release/assemblies/System.Xml.Linq.dll
        obj/Release/assemblies/System.Runtime.Serialization.dll
        obj/Release/assemblies/System.Threading.Tasks.dll
        obj/Release/assemblies/System.Net.dll
        obj/Release/assemblies/System.Runtime.dll
        obj/Release/assemblies/System.ComponentModel.Composition.dll
        obj/Release/assemblies/System.Net.Http.dll
        obj/Release/assemblies/System.Xml.Serialization.dll
        obj/Release/assemblies/System.ServiceModel.dll

/Library/Frameworks/Mono.framework/External/xbuild/Xamarin/Android/Xamarin.Android.Common.targets: error : Error executing task LinkAssemblies: Access to the path "/Volumes/HDD/Working/Projects/Samples/TFS/View Projects/Grocery.Android/Grocery.Droid-PCL/Apps/Grocery/Droid/Grocery.Droid/Grocery.Droid/obj/Release/assemblies/ModernHttpClient.dll.mdb" or "/Volumes/HDD/Working/Projects/Samples/TFS/View Projects/Grocery.Android/Grocery.Droid-PCL/Apps/Grocery/Droid/Grocery.Droid/Grocery.Droid/obj/Release/android/assets/ModernHttpClient.dll.mdb" is denied.
Task "LinkAssemblies" execution -- FAILED
Done building target "_LinkAssemblies" in project "/Volumes/HDD/Working/Projects/Samples/TFS/View Projects/Grocery.Android/Grocery.Droid-PCL/Apps/Grocery/Droid/Grocery.Droid/Grocery.Droid/Grocery.Droid.csproj".-- FAILED

Done building project "/Volumes/HDD/Working/Projects/Samples/TFS/View Projects/Grocery.Android/Grocery.Droid-PCL/Apps/Grocery/Droid/Grocery.Droid/Grocery.Droid/Grocery.Droid.csproj".-- FAILED

Build FAILED.

---------------------- Done ----------------------

Build: 1 error, 22 warnings

Android "L" and OkHttp 2.0 don't get along

When upgrading to 2.1.1 of ModernHttpClient, which uses OkHttp 2.0, my Xamarin app stopped working on Android L devices. It continued to work with KitKat devices and below.

This appears to be an issue with Android L, not OkHttp, but I thought I'd mention it so you're aware.

square/okhttp#967

I'm going to just roll back to the earlier version of ModernHttpClient until I'm no longer developing on the preview release of L.

Nuget ModernHttpClient package issue

Hi,

I am using the ModernHttpClient in my PCL project. I use the HttpClient with the NativeMessageHandler as mentioned. It fixed me the issues i saw like ReceiveDone failure, but its lot slower than before(without using it). So I am not sure if there is anything that needs to be done on the Android and IOS projects in addition to PCL. Should I reference the ModrnHttpClient component in Andorid and IOS projects too and do something?

Java.IO.FileNotFoundException thrown on HTTP 401

In the latest release I get a Java.IO.FileNotFoundException when the web service I use returns a 401. This seems to happen on Line 30 in ConcatenatingStream.cs.

The stack trace looks like this:

Java.IO.FileNotFoundException: Exception of type 'Java.IO.FileNotFoundException' was thrown.
  at Android.Runtime.JNIEnv.CallObjectMethod (IntPtr jobject, IntPtr jmethod) [0x00063] in /Users/builder/data/lanes/monodroid-mlion-monodroid-4.10.2-branch/fa489e8d/source/monodroid/src/Mono.Android/src/Runtime/JNIEnv.g.cs:177 
  at Java.Net.URLConnection.get_InputStream () [0x00043] in /Users/builder/data/lanes/monodroid-mlion-monodroid-4.10.2-branch/fa489e8d/source/monodroid/src/Mono.Android/platforms/android-15/src/generated/Java.Net.URLConnection.cs:754 
  at ModernHttpClient.OkHttpNetworkHandler+<>c__DisplayClass8.<SendAsync>b__2 () [0x00000] in c:\Users\tomasz\Desktop\Projects\ModernHttpClient\src\ModernHttpClient.Android\OkHttpNetworkHandler.cs:62 
  at ModernHttpClient.ConcatenatingStream.<.ctor>b__0 (System.Func`1 x) [0x00000] in c:\Users\tomasz\Desktop\Projects\ModernHttpClient\src\Shared\ConcatenatingStream.cs:42 
  at System.Linq.Enumerable+<CreateSelectIterator>c__Iterator10`2[System.Func`1[System.IO.Stream],System.IO.Stream].MoveNext () [0x00000] in <filename unknown>:0 
  at ModernHttpClient.ConcatenatingStream.get_Current () [0x00038] in c:\Users\tomasz\Desktop\Projects\ModernHttpClient\src\Shared\ConcatenatingStream.cs:30 
  at ModernHttpClient.ConcatenatingStream+<ReadAsync>d__4.MoveNext () [0x00134] in c:\Users\tomasz\Desktop\Projects\ModernHttpClient\src\Shared\ConcatenatingStream.cs:85 
--- End of stack trace from previous location where exception was thrown ---
  at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw () [0x00000] in <filename unknown>:0 
  at System.Runtime.CompilerServices.ConfiguredTaskAwaitable`1+ConfiguredTaskAwaiter[System.Int32].GetResult () [0x00000] in <filename unknown>:0 
  at System.IO.Stream+<CopyToAsync>c__async0.MoveNext () [0x00000] in <filename unknown>:0 
--- End of stack trace from previous location where exception was thrown ---
  at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw () [0x00000] in <filename unknown>:0 
  at System.Runtime.CompilerServices.ConfiguredTaskAwaitable+ConfiguredTaskAwaiter.GetResult () [0x00000] in <filename unknown>:0 
  at System.Net.Http.HttpContent+<LoadIntoBufferAsync>c__async1.MoveNext () [0x00000] in <filename unknown>:0 
--- End of stack trace from previous location where exception was thrown ---
  at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw () [0x00000] in <filename unknown>:0 
  at System.Runtime.CompilerServices.ConfiguredTaskAwaitable+ConfiguredTaskAwaiter.GetResult () [0x00000] in <filename unknown>:0 
  at System.Net.Http.HttpContent+<ReadAsByteArrayAsync>c__async3.MoveNext () [0x00000] in <filename unknown>:0 
--- End of stack trace from previous location where exception was thrown ---
  at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw () [0x00000] in <filename unknown>:0 
  at System.Runtime.CompilerServices.TaskAwaiter`1[System.Byte[]].GetResult () [0x00000] in <filename unknown>:0 
  at Playground.Android.MainActivity+<>c__DisplayClass2+<<OnCreate>b__1>d__4.MoveNext () [0x00203] in c:\Users\tomasz\Desktop\Projects\ModernHttpClient\src\Playground.Android\MainActivity.cs:62 
  --- End of managed exception stack trace ---
java.io.FileNotFoundException: https://api-dev.noisesentinel.com/api/service/setupcompanion/v1/resourceusebyserial/1234
    at com.squareup.okhttp.internal.http.HttpURLConnectionImpl.getInputStream(HttpURLConnectionImpl.java:187)
    at com.squareup.okhttp.internal.http.HttpsURLConnectionImpl.getInputStream(HttpsURLConnectionImpl.java:246)
    at mono.java.lang.RunnableImplementor.n_run(Native Method)
    at mono.java.lang.RunnableImplementor.run(RunnableImplementor.java:29)
    at android.os.Handler.handleCallback(Handler.java:615)
    at android.os.Handler.dispatchMessage(Handler.java:92)
    at android.os.Looper.loop(Looper.java:137)
    at android.app.ActivityThread.main(ActivityThread.java:4921)
    at java.lang.reflect.Method.invokeNative(Native Method)
    at java.lang.reflect.Method.invoke(Method.java:511)
    at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1027)
    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:794)
    at dalvik.system.NativeStart.main(Native Method)

Using HttpClient without the handler gives the correct Unauthorized status.

Enable using self-signed certificates for development purposes

Hi there,

I have a Problem to use your OkHttpNetworkHandler with a Https Site

What do i wrong or is this a bug ?!?

see the code below

public JContainer  Login(Context context, string hardwareId, string user, string secret, string loginHash)
        {
            using (var client = new HttpClient(new OkHttpNetworkHandler()))
            {
                ServicePointManager.ServerCertificateValidationCallback = ServerCertificateValidationCallback;
                Uri uri = new Uri("URL");

                HttpRequestMessage requestMessage = new HttpRequestMessage(HttpMethod.Post, uri);

                requestMessage.Headers.Add("Accept-Language", CultureInfo.CurrentCulture.ToString());

                var content = new FormUrlEncodedContent(new[]
                    {
                        new KeyValuePair<string, string>("q", "Test"),
                    });

                requestMessage.Content = content;
                try
                {
                    var response = client.SendAsync(requestMessage);
                    if (response.Result.IsSuccessStatusCode)
                    {
                        var responseContent = response.Result.Content;
                        string responseString = responseContent.ReadAsStringAsync().Result;

                        return (JContainer) JsonConvert.DeserializeObject(responseString);
                    }

                    return null;
                }
                catch (Exception e)
                {
                    return null;
                }
            }
        }

        private bool ServerCertificateValidationCallback(object sender, X509Certificate certificate, X509Chain chain, SslPolicyErrors sslPolicyErrors)
        {
            return true;
        }

Using ModernHttpClient in release mode

Hi,

I am using ModernHttpClient in my app (in PCL via nuget and the same version 2.0.1 in both Droid and IOS projects) and it works perfectly in Debug Mode. It also works for IOS in release mode but for Android I am getting exception saying System.Net.SocketException (thrown from NativeMessageHandler some async method). Is there any setting needed for release mode? Is this a known issue?

Unable to view ModernHttpClient v 2.0.1 traffic in Charles/Fiddler

Recently upgraded ModernHttpClient v 2.0.1 in a Xamarin app in a PCL lib (currently only iOS, but Android shortly). Previously (v 1.0.0) was able to monitor the web service (non-SSL) calls in Charles Proxy, but after upgrading to v 2.0.1 the traffic does not appear.

Using the PCL way of creating a client:

var httpClient = new HttpClient(new NativeMessageHandler());

Any help will be greatly appreciated, thanks!

Cancellation doesn't work on Android

This simple test fails

  var httpClient = new HttpClient(new ModernHttpClient.OkHttpNetworkHandler());
  CancellationToken ct = new CancellationToken(true); //Already cancelled
  try
  {
    await httpClient.GetAsync(@"http://www.google.com", ct);
    System.Diagnostics.Debugger.Break(); //HIT => Why ?
  }
  catch (OperationCanceledException)
  {
    //EXPECTED BUT NEVER HIT
  }

Same code in a WinForm project (with default HttpHandler) works as expected.

Update to AFNetworking 2.x

What's New:

Refactored Architecture
Support for NSURLSession
Serialization Modules
Expanded UIKit Extensions
Real-time functionality with Rocket

ReadAsByteArrayAsync returns an empty array for a successful request

The following code returns an empty array in Android! If I remove the param when building HttpClient, it works

HttpClient client = new HttpClient(new NativeMessageHandler(throwOnCaptiveNetwork: true));

using (var response = await client.GetAsync(fullUrl, HttpCompletionOption.ResponseContentRead))
{
    return await response.Content.ReadAsByteArrayAsync();
}

PutAsync never returns on iOS

I am experiencing some issues with latest stable version on iOS when using PutAsync. The line var res = await client.PutAsync(url, content); never returns and eventually the Task is cancelled and results in an Exception:

{System.Threading.Tasks.TaskCanceledException: The Task was canceled
  at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw () [0x0000b] in /Developer/MonoTouch/Source/mono/mcs/class/corlib/System.Runtime.ExceptionServices/ExceptionDispatchInfo.cs:62 
  at System.Runtime.CompilerServices.TaskAwaiter`1[System.Net.Http.HttpResponseMessage].GetResult () [0x00000] in <filename unknown>:0 
  at SetupCompanion.Core.Services.SetupCompanionService+<UpdateLocationDetailsAsync>d__2c.MoveNext () [0x00371] in c:\ENM\Main\src\prod\Mobile\SetupCompanion\SetupCompanion.Core\Services\SetupCompanionService.cs:289 }

The data is sometimes uploaded to the server, feels like a hit and miss.

Android NativeMessageHandler gives compilation error

I am facing an issue in Android after updating the latest ModernHttpClient dll. Here is the error.

/Library/Frameworks/Mono.framework/External/xbuild/Xamarin/Android/Xamarin.Android.Common.targets: Error: Error executing task ResolveAssemblyReference: Could not load file or assembly '/Volumes/HDD/Working/Projects/Tesco/TFS/Ccube/PCL-WIP/Source/CCubeCore/CCube.Droid.Core/bin/Debug/ModernHttpClient.Android.dll' or one of its dependencies. The system cannot find the file specified. (NewDroid)

Note: I got the OKHttp.dll once I did NUGet on ModernHttpClient. And that dll version still shows as 1.0.0.0. But as per the components documentation it shows it must be of 1.5. Please do correct me.

Android-ModernHttpClient(1.1) returns NULL Date field from HttpMessageResponse

Hi Paul,
When I use ModernHttpClient-1.1-Android, it returns NULL Date field from HttpMessageResponse for a successful Http transaction. This is not the case with the latest 2.0 and it gives a valid and appropriate Date field. Since I am using the same DLL for iOS & Android and in iOS v2.0 fails for iOS6, I was using v1.1. Do you have any comments on the same.

I had the bug raised on bugzilla on the same, please find the link at: https://bugzilla.xamarin.com/show_bug.cgi?id=21792

This bug has a sample-android app that depicts the same issue.

Regards
Mustafa Shaik

Content-Type override when trying to PostAsync with "application/json"

Consider the following snippet to post a JSON object

this.MyButton.TouchUpInside += async (object sender, EventArgs e) => {
    using (var client = new HttpClient(new AFNetworkHandler()))
    {
        var item = new Item { MyProperty = "Property Value" };
        var content = new StringContent(JsonConvert.SerializeObject(item), Encoding.UTF8, "application/json");
        var result = await client.PostAsync("http://requestb.in/1aj9b9c1", content);

        result.EnsureSuccessStatusCode();
    }
};

If we inspect the headers on RequestBin, you will see that the resulting content type (sent by our code is application/x-www-form-urlencoded.

If you change the following line to NOT use AFNetworkHandler,

using (var client = new HttpClient())

The resulting Content-Type is application/json

You can see the request bin here, and there's simple solution that reproduces this bug: https://i.cloudup.com/Ihp5csZBxd.zip

Thanks in advance!

NSUrlSessionHandler - using GZipStream causes IOException

We are wanting to use this sweet library to talk with our web API server running on Azure. We support GZip requests, and I think GZipStream might expose a bug in ByteArrayListStream.

See my test project in a fork here: https://github.com/jonathanpeppers/ModernHttpClient/blob/i-heart-paul-betts/Tests.iOS/ModernHttpClientTests.cs

The UseGZipLikeABoss test fails when using NSUrlSessionHandler, but works with plain HttpClientHandler. You can change the declaration of client to see.

BTW, this might be another subject, but should there be a reasonable NUnit test project for iOS and Android anyway? Maybe I can help out with this, because we are wanting to use this thing in production apps at the company I work for.

GetAsync() on iOS sometimes don't return on Similator

After having upgraded to latest version with the NSUrlSessionHandler stuff instead, sometimes when calling var msg = await client.GetAsync(url); it does not return. I tried leaving it for about 30 minutes. However, I cannot reproduce this consistently. Sometimes it works, sometimes it doesn't.

Replacing the handler with the default HttpClientHandler the strange behavior disappears.

This seems only to affect the Simulator. I haven't been able to reproduce this issue on the device.

Since my code is a bit complicated, it is hard for me to get into the actual handler and set a break point.

OkHttp.dll missing

Can not compile the project because the OkHttp.dll is missing from the repo. This can be fixed by copying the OkHttp.dll that is included in the nuget package to \vendor\okhttp\OkHttp.dll.

Add streaming support for HTTP requests

In code review I noticed that HTTP request bodies (at least in your iOS implementation) are completely buffered before submitting the HTTP request. This makes it impossible to (for example) send a large file (say, a database for example) that exceeds the memory limits of the device.

Is this an NSUrlSession limitation, or can this be fixed in a pull request?

InvalidOperationException thrown saying underlying NSMutableData changed while we were consuming data

I encountered this exception in one of my iOS apps today:

[InvalidOperationException: The underlying NSMutableData changed while we were consuming data]
    MonoTouch.Foundation.NSData+UnmanagedMemoryStreamWithMutableRef.Read(System.Byte[] buffer, Int32 offset, Int32 count) in <filename unknown>:0
    --- End of stack trace from previous location where exception was thrown ---
    System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw() in <filename unknown>:0
    System.Runtime.CompilerServices.TaskAwaiter`1[System.Int32].GetResult() in <filename unknown>:0
    ModernHttpClient.ConcatenatingStream+<ReadAsync>c__async1.MoveNext() in <filename unknown>:0
    --- End of stack trace from previous location where exception was thrown ---
    System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw() in <filename unknown>:0
    System.Runtime.CompilerServices.ConfiguredTaskAwaitable`1+ConfiguredTaskAwaiter[System.Int32].GetResult() in <filename unknown>:0
    System.IO.Stream+<CopyToAsync>c__async0.MoveNext() in <filename unknown>:0
    --- End of stack trace from previous location where exception was thrown ---
    System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw() in <filename unknown>:0
    System.Runtime.CompilerServices.ConfiguredTaskAwaitable+ConfiguredTaskAwaiter.GetResult() in <filename unknown>:0
    System.Net.Http.HttpContent+<LoadIntoBufferAsync>c__async1.MoveNext() in <filename unknown>:0
    --- End of stack trace from previous location where exception was thrown ---
    System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw() in <filename unknown>:0
    System.Runtime.CompilerServices.ConfiguredTaskAwaitable+ConfiguredTaskAwaiter.GetResult() in <filename unknown>:0
    System.Net.Http.HttpClient+<SendAsyncWorker>c__async0.MoveNext() in <filename unknown>:0
    --- End of stack trace from previous location where exception was thrown ---
    System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw() in <filename unknown>:0
    System.Runtime.CompilerServices.TaskAwaiter`1[System.Net.Http.HttpResponseMessage].GetResult() in <filename unknown>:0
    OloApiClient.Network.JsonRestClient+<makeRequestAsync>c__async0`1[OloApiClient.Responses.Payloads.OptionGroupsPayload].MoveNext() in <filename unknown>:0
    System.Threading.Tasks.SynchronizationContextContinuation.<Execute>m__0(System.Object l) in <filename unknown>:0
    MonoTouch.UIKit.UIKitSynchronizationContext+<Post>c__AnonStorey88.<>m__A7() in <filename unknown>:0
    MonoTouch.Foundation.NSAsyncActionDispatcher.Apply() in <filename unknown>:0
    (wrapper managed-to-native) MonoTouch.UIKit.UIApplication:UIApplicationMain (int,string[],intptr,intptr)
    MonoTouch.UIKit.UIApplication.Main(System.String[] args, System.String principalClassName, System.String delegateClassName) in <filename unknown>:0
    TestApp.Application.Main(System.String[] args) in <filename unknown>:0

Unfortunately I don't have much more information on it since I haven't been able to actually reproduce it...this is a call that happens all the time and typically works fine.

One interesting thing is that the call is actually wrapped in a try/catch, but this still took down the whole app, so it must have made iOS very unhappy.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.