private T DoExecute <T>(IArkRequest <T> request, DateTime timestamp) where T : ArkResponse { string url = request.GetUrl(); ArkDictionary reqParams = new ArkDictionary(request.GetParameters()); ArkDictionary sysParams = new ArkDictionary(); sysParams.Add("timestamp", timestamp); sysParams.Add("app-key", appKey); sysParams.Add("sign", ArkUtils.SignArkRequest(url, reqParams, sysParams, appSecret)); string realServerUrl = serverUrl + url; string body = GetResponse(realServerUrl, request.GetMethod(), reqParams, sysParams, request.GetBody()); T rsp = JsonConvert.DeserializeObject <T>(body); rsp.Body = body; return(rsp); }
public virtual T Execute <T>(IArkRequest <T> request, DateTime timestamp) where T : ArkResponse { return(DoExecute <T>(request, timestamp)); }
public virtual T Execute <T>(IArkRequest <T> request) where T : ArkResponse { return(DoExecute <T>(request, DateTime.Now)); }