/// <summary> /// Initializes a new instance of the <see cref="ApiClient" /> class /// with default configuration. /// </summary> /// <param name="basePath">The base path.</param> public ApiClient(String basePath = Constants.BaseTestApiPath) { if (String.IsNullOrEmpty(basePath)) { throw new ArgumentException("basePath cannot be empty"); } RestClient = new RestClient(basePath); Configuration = Configuration.Default; _responseSerializer = new ResponseSerializer(); }
public static async Task <Response> Invoke(TService serviceInstance, IResponseSerializer responseSerializer, MethodInfo method, object[] args) { Response result = new Response(); try { if (method.ReturnType.IsGenericType && method.ReturnType.GetGenericTypeDefinition() == typeof(Task <>)) { Task task = null; task = (Task)method.Invoke(serviceInstance, args); await task .ConfigureAwait(continueOnCapturedContext : false); var resultProperty = task.GetType().GetProperty("Result"); result.ResponseObject = resultProperty.GetValue(task); } else if (method.ReturnType == typeof(Task)) { Task task = null; task = (Task)method.Invoke(serviceInstance, args); await task .ConfigureAwait(continueOnCapturedContext : false); } else if (method.ReturnType.Name == "Void") { method.Invoke(serviceInstance, args); } else { result.ResponseObject = method.Invoke(serviceInstance, args); } } catch (System.Reflection.TargetInvocationException ex) { result.Success = false; result.ResponseObject = new ExceptionWrapper(ex.InnerException); } catch (Exception ex) { result.Success = false; result.ResponseObject = new ExceptionWrapper(ex); } return(result); }
/// <summary> /// Initializes a new instance of the <see cref="ApiClient" /> class /// with default base path (https://apitest.cybersource.com). /// </summary> /// <param name="config">An instance of Configuration.</param> public ApiClient(Configuration config = null) { if (config == null) { Configuration = Configuration.Default; } else { Configuration = config; } RestClient = new RestClient(Constants.BaseTestApiPath); _responseSerializer = new ResponseSerializer(); }
public RouteManager(IRouteParser RouteParser, IResponseSerializer Serializer) { if (RouteParser == null) { throw new ArgumentNullException(nameof(RouteParser)); } if (Serializer == null) { throw new ArgumentNullException(nameof(Serializer)); } this.routeParser = RouteParser; this.serializer = Serializer; getRouteDictionary = new Dictionary <string, RouteBinding>(); putRouteDictionary = new Dictionary <string, RouteBinding>(); postRouteDictionary = new Dictionary <string, RouteBinding>(); deleteRouteDictionary = new Dictionary <string, RouteBinding>(); }
public EndpointRequest( Action <IOwinContext, Func <string> > trace, IRequestRouter requestRouter, IOwinContext context, IDataCatalog dataCatalog, IDataDependencyFactory dataDependencyFactory, IRequestDeserializer deserializer, IResponseSerializer serializer, EndpointParameter[] parameters) { _trace = trace; _requestRouter = requestRouter; _context = context; _dataCatalog = dataCatalog; _dataDependencyFactory = dataDependencyFactory; _deserializer = deserializer; _serializer = serializer; _parameters = parameters; Success(); }
/// <summary>Maps a response serializer in Message Response Provider.</summary> /// <param name="builder">Hosted WOLF Client Service builder.</param> /// <param name="responseType">Type of response message.</param> /// <param name="serializer">Serializer to serialize and deserialize with.</param> /// <seealso cref="ResponseSerializerProvider"/> /// <seealso cref="ISerializerProvider{TKey, TSerializer}"/> /// <seealso cref="IResponseSerializer"/> /// <seealso cref="ResponseSerializerProviderOptions.Serializers"/> public static IHostedWolfClientServiceBuilder MapResponseSerializer(this IHostedWolfClientServiceBuilder builder, Type responseType, IResponseSerializer serializer) => builder.ConfigureResponseSerializerProvider(options => options.Serializers[responseType] = serializer);
// response serializers /// <summary>Sets fallback response serializer in Message Response Provider.</summary> /// <param name="builder">Hosted WOLF Client Service builder.</param> /// <param name="serializer">Response serializer to fall back to.</param> /// <seealso cref="ResponseSerializerProvider"/> /// <seealso cref="ISerializerProvider{TKey, TSerializer}"/> /// <seealso cref="IResponseSerializer"/> /// <seealso cref="ResponseSerializerProviderOptions.FallbackSerializer"/> public static IHostedWolfClientServiceBuilder SetFallbackResponseSerializer(this IHostedWolfClientServiceBuilder builder, IResponseSerializer serializer) { if (serializer == null) { throw new ArgumentNullException(nameof(serializer)); } return(builder.ConfigureResponseSerializerProvider(options => options.FallbackSerializer = serializer)); }
/// <summary> /// Initializes a new instance of the <see cref="ApiClient" /> class /// with default configuration and base path (https://apitest.cybersource.com). /// </summary> public ApiClient() { Configuration = Configuration.Default; RestClient = new RestClient(Constants.BaseTestApiPath); _responseSerializer = new ResponseSerializer(); }