public Task <T> InvokePost <T>(string factoryId, string endpoint, QueryParamList param) { ValidateFactoryId(factoryId); var request = _requestFactory.Post(endpoint, param, factoryId); return(_client.Invoke <T>(request)); }
private string GetUrl(RestRequest request, QueryParamList authParameters) { //if (request.HasData) //{ // return request.ApiHostWithEndpoint.ToString(); //} return(string.Concat(request.ApiHostWithEndpoint, "?", authParameters.Concat())); }
public QueryParamList GenerateAuthParameters(RestRequest request) { var parameters = new QueryParamList(); parameters.Add("access_key", request.AccessKey); if (!string.IsNullOrEmpty(request.FactoryId)) { parameters.Add("cloud_id", request.FactoryId); } parameters.Add("timestamp", Uri.EscapeDataString(GetTimestamp(request.TimeStamp))); return(parameters); }
private HttpContent CreateContent(RestRequest request, QueryParamList authParameters) { if (request.Data == null) { var dataToSend = authParameters.Concat(); var content = new ByteArrayContent(Encoding.UTF8.GetBytes(dataToSend)); content.Headers.ContentType = new MediaTypeHeaderValue("application/x-www-form-urlencoded"); return(content); } else { var json = _serializer.Serialize(request.Data); var content = new ByteArrayContent(Encoding.UTF8.GetBytes(json)); content.Headers.ContentType = new MediaTypeHeaderValue("application/json"); return(content); } }
public string GenerateSignature(RestRequest request, QueryParamList parameters) { if (request == null) { throw new ArgumentNullException("request"); } var sb = new StringBuilder(); sb.Append(Enum.GetName(typeof(RestMethod), request.Method).ToUpperInvariant()); sb.Append("\n"); sb.Append(request.ApiHost); sb.Append("\n"); sb.Append("/" + request.EndpointName); sb.Append("\n"); sb.Append(parameters.Concat()); var toSign = sb.ToString(); return(GetHmacSha256(toSign, request.SecretKey)); }
private RestRequest CreateRequest(RestMethod method, string endpoint, object data = null, QueryParamList parameters = null, string factoryId = null) { var access = _apiAccess; var request = new RestRequest(); request.Method = method; request.Endpoint = endpoint; request.TimeStamp = DateTime.Now; request.FactoryId = factoryId; request.Data = data; request.Params = parameters; request.ApiHost = access.Host; request.ApiVersion = access.Version; request.ApiPort = access.Port; request.AccessKey = access.AccessKey; request.SecretKey = access.SecretKey; return(request); }
public RestRequest Get(string endpoint, QueryParamList parameters = null, string factoryId = null) { var request = CreateRequest(RestMethod.Get, endpoint, parameters: parameters, factoryId: factoryId); return(request); }
public RestRequest Put(string endpoint, QueryParamList parameters) { var request = CreateRequest(RestMethod.Put, endpoint, parameters: parameters); return(request); }