示例#1
0
 /// <summary>
 ///     Configure custom <see cref="IUrlParameterFormatter" /> for refit settings.
 /// </summary>
 /// <exception cref="ArgumentNullException">
 ///     Thrown when <paramref name="urlParameterFormatter" /> is null.
 /// </exception>
 public HttpClientGeneratorBuilder WithUrlParameterFormatter(
     [NotNull] IUrlParameterFormatter urlParameterFormatter)
 {
     _urlParameterFormatter =
         urlParameterFormatter ?? throw new ArgumentNullException(nameof(urlParameterFormatter));
     return(this);
 }
示例#2
0
 /// <summary>
 /// Creates a new <see cref="RefitSettings"/> instance with the specified parameters
 /// </summary>
 /// <param name="contentSerializer">The <see cref="IContentSerializer"/> instance to use</param>
 /// <param name="urlParameterFormatter">The <see cref="IUrlParameterFormatter"/> instance to use (defaults to <see cref="DefaultUrlParameterFormatter"/>)</param>
 /// <param name="formUrlEncodedParameterFormatter">The <see cref="IFormUrlEncodedParameterFormatter"/> instance to use (defaults to <see cref="DefaultFormUrlEncodedParameterFormatter"/>)</param>
 public RefitSettings(
     IContentSerializer contentSerializer,
     IUrlParameterFormatter urlParameterFormatter = null,
     IFormUrlEncodedParameterFormatter formUrlEncodedParameterFormatter = null)
 {
     ContentSerializer                = contentSerializer ?? throw new ArgumentNullException(nameof(contentSerializer), "The content serializer can't be null");
     UrlParameterFormatter            = urlParameterFormatter ?? new DefaultUrlParameterFormatter();
     FormUrlEncodedParameterFormatter = formUrlEncodedParameterFormatter ?? new DefaultFormUrlEncodedParameterFormatter();
 }
示例#3
0
        /// <inheritdoc />
        public HttpClientGenerator(string rootUrl, IEnumerable <ICallsWrapper> callsWrappers,
                                   IEnumerable <DelegatingHandler> httpDelegatingHandlers, JsonSerializerSettings jsonSerializerSettings,
                                   IUrlParameterFormatter urlParameterFormatter)
        {
            _rootUrl = rootUrl;
            var httpMessageHandler = CreateHttpMessageHandler(httpDelegatingHandlers.ToList().GetEnumerator());

            _refitSettings = new RefitSettings
            {
                HttpMessageHandlerFactory = () => httpMessageHandler,
                JsonSerializerSettings    = jsonSerializerSettings
            };

            if (urlParameterFormatter != null)
            {
                _refitSettings.UrlParameterFormatter = urlParameterFormatter;
            }

            _wrappers = callsWrappers.ToList();
        }