示例#1
0
        public void SendRequest <T>(ApiCall <T> call, bool prioritize = false)
        {
            SendRequest(call, prioritize: prioritize,
                        onSuccess: (statusCode, reasonPhrase, content) =>
            {
                var args     = new ApiResponseArgs <T>((int)statusCode, reasonPhrase);
                args.Content = JsonConvert.DeserializeObject <T>(content);
                call.NotifySuccess(args);
            },
                        onFail: (statusCode, reasonPhrase, content) =>
            {
                var args = new ApiResponseArgs <T>((int)statusCode, reasonPhrase);
                if (content != null)
                {
                    try
                    {
                        args.Content = JsonConvert.DeserializeObject <T>(content);
                    }
                    catch (Exception e)
                    {
                    }
                }

                call.NotifyFailure(args);
            });
        }
示例#2
0
 public void NotifyFailure(ApiResponseArgs args)
 {
     foreach (var action in FailActions)
     {
         action(args);
     }
     FinalAction?.Invoke();
 }
示例#3
0
 public void NotifySuccess(ApiResponseArgs args)
 {
     foreach (var action in SuccessActions)
     {
         action(args);
     }
     FinalAction?.Invoke();
 }
示例#4
0
        public void SendRequest(ApiCall call, bool prioritize = false)
        {
            SendRequest(call, prioritize: prioritize,
                        onSuccess: (statusCode, reasonPhrase, content) =>
            {
                var args = new ApiResponseArgs((int)statusCode, reasonPhrase);

                call.NotifySuccess(args);
            },
                        onFail: (statusCode, reasonPhrase, content) =>
            {
                var args = new ApiResponseArgs((int)statusCode, reasonPhrase);

                call.NotifyFailure(args);
            });
        }