public static string ApplyAllParameters <T>(this Service <T> service, BaseOptions obj, string url, bool isListMethod = false) where T : IStripeEntity { string requestString = url; if (obj != null) { RequestStringBuilderObj.CreateQuery(ref requestString, obj); foreach (KeyValuePair <string, string> extraParam in obj.ExtraParams) { string argument = WebUtility.UrlEncode(extraParam.Key); RequestStringBuilder.ApplyParameterToRequestString(ref requestString, argument, extraParam.Value); } foreach (string item in obj.Expand) { RequestStringBuilder.ApplyParameterToRequestString(ref requestString, "expand[]", item); } } if (service != null) { IEnumerable <string> enumerable = from p in service.GetType().GetRuntimeProperties() where p.Name.StartsWith("Expand") && p.PropertyType == typeof(bool) where (bool)p.GetValue(service, null) select p.Name; foreach (string item2 in enumerable) { string input = item2.Substring("Expand".Length); input = Regex.Replace(input, "([a-z])([A-Z])", "$1_$2").ToLower(); if (isListMethod) { input = "data." + input; } requestString = ApplyParameterToUrl(requestString, "expand[]", input); } } return(requestString); }
protected async Task <T> DeleteRequestAsync <T>(string url, BaseOptions options, StripeRequestOptions requestOptions, CancellationToken cancellationToken) { return(Mapper <T> .MapFromJson(await Requestor.DeleteAsync(this.ApplyAllParameters(options, url), SetupRequestOptions(requestOptions), cancellationToken).ConfigureAwait(continueOnCapturedContext: false))); }
protected T GetRequest <T>(string url, BaseOptions options, StripeRequestOptions requestOptions, bool isListMethod) { return(Mapper <T> .MapFromJson(Requestor.GetString(this.ApplyAllParameters(options, url, isListMethod), SetupRequestOptions(requestOptions)))); }
protected Task <EntityReturned> UpdateEntityAsync(string id, BaseOptions options, StripeRequestOptions requestOptions, CancellationToken cancellationToken) { return(PostRequestAsync <EntityReturned>(InstanceUrl(id), options, requestOptions, cancellationToken)); }
protected T DeleteRequest <T>(string url, BaseOptions options, StripeRequestOptions requestOptions) { return(Mapper <T> .MapFromJson(Requestor.Delete(this.ApplyAllParameters(options, url), SetupRequestOptions(requestOptions)))); }
protected EntityReturned UpdateEntity(string id, BaseOptions options, StripeRequestOptions requestOptions) { return(PostRequest <EntityReturned>(InstanceUrl(id), options, requestOptions)); }
protected Task <EntityReturned> GetEntityAsync(string id, BaseOptions options, StripeRequestOptions requestOptions, CancellationToken cancellationToken) { return(GetRequestAsync <EntityReturned>(InstanceUrl(id), options, requestOptions, isListMethod: false, cancellationToken)); }
protected EntityReturned GetEntity(string id, BaseOptions options, StripeRequestOptions requestOptions) { return(GetRequest <EntityReturned>(InstanceUrl(id), options, requestOptions, isListMethod: false)); }
protected Task <EntityReturned> CreateEntityAsync(BaseOptions options, StripeRequestOptions requestOptions, CancellationToken cancellationToken) { return(PostRequestAsync <EntityReturned>(ClassUrl(), options, requestOptions, cancellationToken)); }
protected EntityReturned CreateEntity(BaseOptions options, StripeRequestOptions requestOptions) { return(PostRequest <EntityReturned>(ClassUrl(), options, requestOptions)); }