示例#1
0
 public HttpConnection(IEnumerable <DelegatingHandler> handlers,
                       IHalKitConfiguration configuration)
     : this(handlers,
            configuration,
            new DefaultJsonSerializer())
 {
 }
示例#2
0
 private static ApiResponseFactory CreateFactory(
     IJsonSerializer serializer  = null,
     IHalKitConfiguration config = null)
 {
     return(new ApiResponseFactory(
                serializer ?? new Mock <IJsonSerializer>(MockBehavior.Loose).Object,
                config ?? new HalKitConfiguration(new Uri("http://foo.api.com"))));
 }
示例#3
0
        public ApiResponseFactory(IJsonSerializer jsonSerializer, IHalKitConfiguration configuration)
        {
            Requires.ArgumentNotNull(jsonSerializer, nameof(jsonSerializer));
            Requires.ArgumentNotNull(configuration, nameof(configuration));

            _jsonSerializer = jsonSerializer;
            _configuration  = configuration;
        }
示例#4
0
 private static HalClient CreateClient(IHttpConnection conn        = null,
                                       IHalKitConfiguration config = null,
                                       ILinkResolver resolver      = null)
 {
     return(new HalClient(
                config ?? new HalKitConfiguration(new Uri("http://foo.api.io")),
                conn ?? new FakeHttpConnection(),
                resolver ?? new Mock <ILinkResolver>(MockBehavior.Loose).Object));
 }
示例#5
0
 public HttpConnection(
     IEnumerable <DelegatingHandler> handlers,
     IHalKitConfiguration configuration,
     IJsonSerializer jsonSerializer)
     : this(handlers,
            configuration,
            new HttpClientFactory(),
            jsonSerializer,
            new ApiResponseFactory(jsonSerializer, configuration))
 {
 }
示例#6
0
 public BatchClient(
     IHttpConnection connection,
     IApiResponseFactory responseFactory,
     IJsonSerializer jsonSerializer,
     ILinkResolver linkResolver)
 {
     _responseFactory = responseFactory;
     _httpConnection  = connection;
     _configuration   = connection.Configuration;
     _jsonSerializer  = jsonSerializer;
     _linkResolver    = linkResolver;
 }
示例#7
0
        public HalClient(IHalKitConfiguration configuration,
                         IHttpConnection httpConnection,
                         ILinkResolver linkResolver)
        {
            Requires.ArgumentNotNull(httpConnection, nameof(httpConnection));
            Requires.ArgumentNotNull(configuration, nameof(configuration));
            Requires.ArgumentNotNull(linkResolver, nameof(linkResolver));
            if (configuration.RootEndpoint == null)
            {
                throw new ArgumentException($"{nameof(configuration)} must have a RootEndpoint");
            }

            HttpConnection = httpConnection;
            Configuration  = configuration;
            _linkResolver  = linkResolver;
        }
示例#8
0
        public HttpConnection(IEnumerable <DelegatingHandler> handlers,
                              IHalKitConfiguration configuration,
                              IHttpClientFactory httpClientFactory,
                              IJsonSerializer jsonSerializer,
                              IApiResponseFactory responseFactory)
        {
            Requires.ArgumentNotNull(handlers, nameof(handlers));
            Requires.ArgumentNotNull(configuration, nameof(configuration));
            Requires.ArgumentNotNull(httpClientFactory, nameof(httpClientFactory));
            Requires.ArgumentNotNull(jsonSerializer, nameof(jsonSerializer));
            Requires.ArgumentNotNull(responseFactory, nameof(responseFactory));

            _httpClient      = httpClientFactory.CreateClient(handlers);
            _configuration   = configuration;
            _jsonSerializer  = jsonSerializer;
            _responseFactory = responseFactory;
        }
示例#9
0
        private static HttpConnection CreateConnection(
            IEnumerable <DelegatingHandler> handlers = null,
            IJsonSerializer serializer          = null,
            IHttpClientFactory httpFact         = null,
            IHalKitConfiguration config         = null,
            IApiResponseFactory responseFactory = null)
        {
            var mockSerializer = new Mock <IJsonSerializer>(MockBehavior.Loose);

            mockSerializer.Setup(json => json.Serialize(It.IsAny <object>())).Returns("{}");

            return(new HttpConnection(
                       handlers ?? new DelegatingHandler[] {},
                       config ?? new HalKitConfiguration(new Uri("http://foo.api.com")),
                       httpFact ?? new FakeHttpClientFactory(),
                       serializer ?? mockSerializer.Object,
                       responseFactory ?? new FakeApiResponseFactory()));
        }
示例#10
0
 public FakeHttpConnection(IApiResponse response = null, IHalKitConfiguration config = null)
 {
     _response     = response;
     Configuration = config ?? new HalKitConfiguration(new Uri("http://foo.api.com"));
 }
示例#11
0
 public HalClient(IHalKitConfiguration configuration, IHttpConnection httpConnection)
     : this(configuration, httpConnection, new LinkResolver())
 {
 }
示例#12
0
 public HalClient(IHalKitConfiguration configuration)
     : this(configuration, new HttpConnection(new DelegatingHandler[] { }, configuration))
 {
 }
示例#13
0
 public static ConfiguredTaskAwaitable <TResult> ConfigureAwait <TResult>(
     this Task <TResult> task,
     IHalKitConfiguration configuration)
 {
     return(task.ConfigureAwait(configuration.CaptureSynchronizationContext));
 }