Exemple #1
0
        private void ProcessResponse(ISshRequest request, SshApiResponse sshApiResponse,
                                     SshRequestAsyncHandle asyncHandle, Action <ISshApiResponse, SshRequestAsyncHandle> callback)
        {
            // SshApiResponse restResponse = ConvertToRestResponse(request, httpResponse);
            //var sshApiResponse = httpResponse;
            sshApiResponse.Request = request;

            callback(sshApiResponse, asyncHandle);
        }
Exemple #2
0
        private SshRequestAsyncHandle ExecuteAsync(ISshRequest request,
                                                   Action <ISshApiResponse, SshRequestAsyncHandle> callback,
                                                   Func <SshClient, ISshRequest, Action <SshApiResponse>, SshCommand> getSshRequest)
        {
            //ISsh ssh= this.ConfigureSsh(request);
            var asyncHandle = new SshRequestAsyncHandle();
            var action      =
                (Action <SshApiResponse>)(r => ProcessResponse(request, r, asyncHandle, callback));

            //if (this.UseSynchronizationContext && SynchronizationContext.Current != null)
            //{
            //    SynchronizationContext ctx = SynchronizationContext.Current;
            //    Action<HttpResponse> cb = action;
            //    action = (Action<HttpResponse>)(resp => ctx.Post((SendOrPostCallback)(s => cb(resp)), (object)null));
            //}
            asyncHandle.SshRequest = getSshRequest(Client, request, action);
            return(asyncHandle);
        }
Exemple #3
0
        private void DeserializeResponse <T>(ISshRequest request,
                                             Action <ISshApiResponse <T>, SshRequestAsyncHandle> callback, ISshApiResponse apiResponse,
                                             SshRequestAsyncHandle asyncHandle)
        {
            ISshApiResponse <T> sshApiResponse1;

            try
            {
                sshApiResponse1 = Deserialize <T>(request, apiResponse);
            }
            catch (Exception ex)
            {
                Logger.Error(ex);
                var restResponse2 = new SshApiResponse <T>();
                restResponse2.Request        = request;
                restResponse2.ResponseStatus = ResponseStatus.Error;
                restResponse2.ErrorMessage   = ex.Message;
                restResponse2.ErrorException = ex;
                sshApiResponse1 = restResponse2;
            }

            callback(sshApiResponse1, asyncHandle);
        }