Fluent URL builder and testable HTTP client for .NET
GetJsonAsync
+ ResponseHeadersRead
was failing (#794)Full Changelog: https://github.com/tmenier/Flurl/compare/Flurl.Http.4.0.1...Flurl.Http.4.0.2
BUGFIX: UseNewtonsoft + clientless pattern, default serializer was used to serialize request body (#783)
BUGFIX: Custom serializer not used on request body with clientless pattern (#783)
Official beta release of companion lib for Flurl.Http 4.0+ that allows Newtonsoft.Json to continue to be used despite its removal, easing backward compatibility with 3.x.
NewtonsoftJsonSerializer
from 3.x for use in 4.0 and beyonddynamic
-returning extension methods from 3.x:
GetJsonAsync()
and GetJsonListAsync()
ReceiveJson()
and ReceiveJsonList()
FlurlHttpException.GetResponseJsonAsync
IFlurlClientBuilder.UseNewtonsoft()
and IFlurlClientCache.UseNewtonsoft()
This is a significant release with many breaking changes. Please read carefully. An upgrade guide has also been added to the documentation.
Newtonsoft.Json
in favor of System.Text.Json
(#517)
dynamic
-returning JSON methods (#699)
FlurlHttp
static object completely overhauled, now mostly just responsible for client caching associated with "clientless" usage patternConfigure
and ConfigureRequest
methods renamed to WithSettings
Settings
Settings.ConnectionLeaseTimeout
removed (#703)WithClient
extension methods removed (#590)CancellationToken
moved to last arg everywhere that it isn't (#702)AllowHttpStatus
now takes int
instead of HttpStatusCode
args (#785)GetStreamAsync
defaults to unbuffered behavior (#630)IFlurlClient.Settings
and IFlurlRequest.Settings
container objects are read-onlyIFlurlClient.HttpMessageHandler
removedFlurlCall.RedirectedFrom
moved to IFlurlRequest
(accessible via FlurlCall.Request.RedirectedFrom
)FlurlResponse
ctor takes a FlurlCall
instead of an HttpResponseMessage
FlurlRequest.Client
is no longer instantiated on demand by just referencing the property. If it hasn't been set explicitly, or (more common) by calling FlurlClient.Request
, it will remain null until the request is sentIHttpSettingsContainer
renamed to ISettingsContainer
, and its Headers
property moved to (new) IHeadersContainer
(#773)FakeHttpMessageHandler
, TestHttpClientFactory
, and TestFlurlHttpSettings
types all removed
CookieJar
(#758)Settings.HttpVersion
(#639)AllowRealHttp
now reverts to original HttpClient, eliminating certain quirks (#683)ShouldHaveCalled
false negative with URL ending with ?
(#721)AppendQueryParams
method/overloads (#688), thx @Marusyk!SetQueryParams
with collection, duplicate keys should append not overwrite (#370)Url.IsValid
(#462)dynamic
-returning FlurlHttpException.GetResponseJsonAsync
Full Changelog: https://github.com/tmenier/Flurl/compare/Flurl.Http.4.0.0-pre7...Flurl.Http.Newtonsoft.0.9.0-pre3
AllowHttpStatus
now takes int
instead of HttpStatusCode
args (#785)Full Changelog: https://github.com/tmenier/Flurl/compare/Flurl.Http.Newtonsoft.0.9.0-pre2...Flurl.Http.4.0.0-pre7
Initial release of companion lib for Flurl.Http 4.0+ that allows Newtonsoft.Json to continue to be used despite its removal, easing backward compatibility with 3.x.
ISerializer
based on Newtonsoft.Json.dynamic
s via GetJson
and GetJsonList
(previously removed from Flurl.Http).IFlurlClientBuilder.UseNewtonsoft()
and IFlurlClientCache.UseNewtonsoft()
.