/// <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); }
/// <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(); }
/// <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(); }