Skip to content

Commit

Permalink
chore: update RestSharp to 110.1.0 (#509)
Browse files Browse the repository at this point in the history
  • Loading branch information
bednar authored Apr 27, 2023
1 parent 7391962 commit b55ccd4
Show file tree
Hide file tree
Showing 10 changed files with 39 additions and 24 deletions.
1 change: 1 addition & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,7 @@ Update dependencies:
- [#497](https://github.com/influxdata/influxdb-client-csharp/pull/497): `NodaTime` to `3.1.9`
- [#485](https://github.com/influxdata/influxdb-client-csharp/pull/485): `Newtonsoft.Json` to `13.0.3`
- [#506](https://github.com/influxdata/influxdb-client-csharp/pull/506): `Microsoft.Extensions.ObjectPool` to `7.0.5`
- [#509](https://github.com/influxdata/influxdb-client-csharp/pull/509): `RestSharp` to `110.2.0`

#### Examples:
- [#511](https://github.com/influxdata/influxdb-client-csharp/pull/511): `Radzen.Blazor` to `4.10.1`
Expand Down
2 changes: 1 addition & 1 deletion Client.Core/Client.Core.csproj
Original file line number Diff line number Diff line change
Expand Up @@ -36,7 +36,7 @@
<PackageReference Include="Newtonsoft.Json" Version="13.0.3" />
<PackageReference Include="NodaTime" Version="3.1.9" />
<PackageReference Include="NodaTime.Serialization.JsonNet" Version="3.0.1" />
<PackageReference Include="RestSharp" Version="108.0.3" />
<PackageReference Include="RestSharp" Version="110.1.0" />
</ItemGroup>

</Project>
29 changes: 15 additions & 14 deletions Client.Core/Internal/AbstractQueryClient.cs
Original file line number Diff line number Diff line change
Expand Up @@ -39,7 +39,7 @@ protected AbstractQueryClient(IFluxResultMapper mapper, FluxCsvParser csvParser)
_csvParser = csvParser;
}

protected Task Query(Func<Func<HttpResponseMessage, RestResponse>, RestRequest> queryFn,
protected Task Query(Func<Func<HttpResponseMessage, RestRequest, RestResponse>, RestRequest> queryFn,
FluxCsvParser.IFluxResponseConsumer responseConsumer,
Action<Exception> onError,
Action onComplete, CancellationToken cancellationToken)
Expand All @@ -59,7 +59,7 @@ void Consumer(Stream bufferedStream)
return Query(queryFn, Consumer, onError, onComplete, cancellationToken);
}

protected Task QueryRaw(Func<Func<HttpResponseMessage, RestResponse>, RestRequest> queryFn,
protected Task QueryRaw(Func<Func<HttpResponseMessage, RestRequest, RestResponse>, RestRequest> queryFn,
Action<string> onResponse,
Action<Exception> onError,
Action onComplete, CancellationToken cancellationToken)
Expand All @@ -79,7 +79,7 @@ void Consumer(Stream bufferedStream)
return Query(queryFn, Consumer, onError, onComplete, cancellationToken);
}

protected void QuerySync(Func<Func<HttpResponseMessage, RestResponse>, RestRequest> queryFn,
protected void QuerySync(Func<Func<HttpResponseMessage, RestRequest, RestResponse>, RestRequest> queryFn,
FluxCsvParser.IFluxResponseConsumer responseConsumer,
Action<Exception> onError,
Action onComplete,
Expand All @@ -100,7 +100,7 @@ void Consumer(CancellationToken cancellable, Stream bufferedStream)
QuerySync(queryFn, Consumer, onError, onComplete, cancellationToken);
}

private async Task Query(Func<Func<HttpResponseMessage, RestResponse>, RestRequest> queryFn,
private async Task Query(Func<Func<HttpResponseMessage, RestRequest, RestResponse>, RestRequest> queryFn,
Action<Stream> consumer,
Action<Exception> onError, Action onComplete, CancellationToken cancellationToken)
{
Expand All @@ -111,7 +111,7 @@ private async Task Query(Func<Func<HttpResponseMessage, RestResponse>, RestReque

try
{
var query = queryFn.Invoke(response =>
var query = queryFn.Invoke((response, request) =>
{
var result = GetStreamFromResponse(response, cancellationToken);
result = AfterIntercept((int)response.StatusCode,
Expand All @@ -121,7 +121,7 @@ private async Task Query(Func<Func<HttpResponseMessage, RestResponse>, RestReque
RaiseForInfluxError(response, result);
consumer(result);
return FromHttpResponseMessage(response);
return FromHttpResponseMessage(response, request);
});

BeforeIntercept(query);
Expand All @@ -144,7 +144,7 @@ private async Task Query(Func<Func<HttpResponseMessage, RestResponse>, RestReque
}
}

private void QuerySync(Func<Func<HttpResponseMessage, RestResponse>, RestRequest> queryFn,
private void QuerySync(Func<Func<HttpResponseMessage, RestRequest, RestResponse>, RestRequest> queryFn,
Action<CancellationToken, Stream> consumer,
Action<Exception> onError, Action onComplete, CancellationToken cancellationToken)
{
Expand All @@ -155,7 +155,7 @@ private void QuerySync(Func<Func<HttpResponseMessage, RestResponse>, RestRequest

try
{
var query = queryFn.Invoke(response =>
var query = queryFn.Invoke((response, request) =>
{
var result = GetStreamFromResponse(response, cancellationToken);
result = AfterIntercept((int)response.StatusCode,
Expand All @@ -165,7 +165,7 @@ private void QuerySync(Func<Func<HttpResponseMessage, RestResponse>, RestRequest
RaiseForInfluxError(response, result);
consumer(cancellationToken, result);
return FromHttpResponseMessage(response);
return FromHttpResponseMessage(response, request);
});

BeforeIntercept(query);
Expand All @@ -188,21 +188,22 @@ private void QuerySync(Func<Func<HttpResponseMessage, RestResponse>, RestRequest
}

protected async IAsyncEnumerable<T> QueryEnumerable<T>(
Func<Func<HttpResponseMessage, RestResponse>, RestRequest> queryFn, Func<FluxRecord, T> convert,
Func<Func<HttpResponseMessage, RestRequest, RestResponse>, RestRequest> queryFn,
Func<FluxRecord, T> convert,
[EnumeratorCancellation] CancellationToken cancellationToken)
{
Arguments.CheckNotNull(queryFn, nameof(queryFn));

Stream stream = null;
var query = queryFn.Invoke(response =>
var query = queryFn.Invoke((response, request) =>
{
stream = GetStreamFromResponse(response, cancellationToken);
stream = AfterIntercept((int)response.StatusCode,
() => response.Headers.ToHeaderParameters(response.Content.Headers), stream);
RaiseForInfluxError(response, stream);
return FromHttpResponseMessage(response);
return FromHttpResponseMessage(response, request);
});

BeforeIntercept(query);
Expand Down Expand Up @@ -381,9 +382,9 @@ public void Accept(int index, FluxRecord record)
}
}

private RestResponse FromHttpResponseMessage(HttpResponseMessage response)
private RestResponse FromHttpResponseMessage(HttpResponseMessage response, RestRequest request)
{
return new RestResponse
return new RestResponse(request)
{
ErrorException = response.IsSuccessStatusCode
? null
Expand Down
2 changes: 1 addition & 1 deletion Client.Core/Internal/RestSharpExtensions.cs
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,7 @@ internal static IEnumerable<HeaderParameter> ToHeaderParameters(this HttpHeaders
}

internal static RestRequest AddAdvancedResponseHandler(this RestRequest restRequest,
Func<HttpResponseMessage, RestResponse> advancedResponseWriter)
Func<HttpResponseMessage, RestRequest, RestResponse> advancedResponseWriter)
{
var field = restRequest.GetType()
.GetField("_advancedResponseHandler", BindingFlags.Instance | BindingFlags.NonPublic);
Expand Down
2 changes: 1 addition & 1 deletion Client.Legacy/FluxClient.cs
Original file line number Diff line number Diff line change
Expand Up @@ -423,7 +423,7 @@ private RestRequest PingRequest()
return new RestRequest("ping");
}

private Func<Func<HttpResponseMessage, RestResponse>, RestRequest> QueryRequest(string query)
private Func<Func<HttpResponseMessage, RestRequest, RestResponse>, RestRequest> QueryRequest(string query)
{
return advancedResponseWriter => new RestRequest("api/v2/query", Method.Post)
.AddAdvancedResponseHandler(advancedResponseWriter)
Expand Down
3 changes: 2 additions & 1 deletion Client.Test/WriteApiAsyncTest.cs
Original file line number Diff line number Diff line change
Expand Up @@ -263,7 +263,8 @@ private string GetRequestBody(RestResponse restResponse)
{
var bytes = (byte[])restResponse.Request?.Parameters
.GetParameters(ParameterType.RequestBody)
.TryFind("text/plain")?.Value ??
.First()
.Value ??
throw new AssertionException("The body is required.");
return Encoding.Default.GetString(bytes);
}
Expand Down
15 changes: 13 additions & 2 deletions Client/Internal/ApiClient.cs
Original file line number Diff line number Diff line change
Expand Up @@ -25,6 +25,8 @@ public partial class ApiClient

private bool _initializedSessionTokens = false;
private bool _signout;
private IAuthenticator _authenticator;
private CookieContainer _cookieContainerCookieContainer;

public ApiClient(InfluxDBClientOptions options, LoggingHandler loggingHandler, GzipHandler gzipHandler)
{
Expand Down Expand Up @@ -92,6 +94,9 @@ internal void BeforeIntercept(RestRequest request)
InitToken();
}

request.CookieContainer = _cookieContainerCookieContainer;
request.Authenticator = _authenticator;

_loggingHandler.BeforeIntercept(request);
_gzipHandler.BeforeIntercept(request);
}
Expand Down Expand Up @@ -141,7 +146,12 @@ private void InitToken()
.FirstOrDefault(it =>
string.Equals("Set-Cookie", it.Name, StringComparison.OrdinalIgnoreCase));

RestClient.Authenticator = new CookieRedirectAuthenticator(headerParameter);
_authenticator = new CookieRedirectAuthenticator(headerParameter);
}
else
{
_cookieContainerCookieContainer = new CookieContainer();
_cookieContainerCookieContainer.Add(authResponse.Cookies);
}
}
}
Expand All @@ -159,10 +169,11 @@ protected internal void Signout()
_signout = true;

_initializedSessionTokens = false;
_cookieContainerCookieContainer = null;

var request = new RestRequest("/api/v2/signout", Method.Post);
RestClient.ExecuteAsync(request).ConfigureAwait(false).GetAwaiter().GetResult();
RestClient.Authenticator = null;
_authenticator = null;
}
}

Expand Down
2 changes: 1 addition & 1 deletion Client/InvokableScriptsApi.cs
Original file line number Diff line number Diff line change
Expand Up @@ -300,7 +300,7 @@ private Task InvokeScript(string scriptId, FluxCsvParser.IFluxResponseConsumer c
cancellationToken);
}

private Func<Func<HttpResponseMessage, RestResponse>, RestRequest> CreateRequest(string scriptId,
private Func<Func<HttpResponseMessage, RestRequest, RestResponse>, RestRequest> CreateRequest(string scriptId,
Dictionary<string, object> bindParams = default)
{
Arguments.CheckNonEmptyString(scriptId, nameof(scriptId));
Expand Down
3 changes: 2 additions & 1 deletion Client/QueryApi.cs
Original file line number Diff line number Diff line change
Expand Up @@ -783,7 +783,8 @@ private Task QueryAsync(Query query, FluxCsvParser.IFluxResponseConsumer consume
cancellationToken);
}

private Func<Func<HttpResponseMessage, RestResponse>, RestRequest> CreateRequest(Query query, string org = null)
private Func<Func<HttpResponseMessage, RestRequest, RestResponse>, RestRequest> CreateRequest(Query query,
string org = null)
{
Arguments.CheckNotNull(query, nameof(query));

Expand Down
4 changes: 2 additions & 2 deletions Client/QueryApiSync.cs
Original file line number Diff line number Diff line change
Expand Up @@ -136,7 +136,7 @@ public List<T> QuerySync<T>(Query query, string org = null, CancellationToken ca

var consumer = new FluxResponseConsumerPoco<T>(poco => { measurements.Add(poco); }, Mapper);

RestRequest QueryFn(Func<HttpResponseMessage, RestResponse> advancedResponseWriter)
RestRequest QueryFn(Func<HttpResponseMessage, RestRequest, RestResponse> advancedResponseWriter)
{
return _service
.PostQueryWithRestRequest(null, "application/json", null, optionsOrg, null, query)
Expand Down Expand Up @@ -188,7 +188,7 @@ public List<FluxTable> QuerySync(Query query, string org = null, CancellationTok
var optionsOrg = org ?? _options.Org;
Arguments.CheckNonEmptyString(optionsOrg, OrgArgumentValidation);

RestRequest QueryFn(Func<HttpResponseMessage, RestResponse> advancedResponseWriter)
RestRequest QueryFn(Func<HttpResponseMessage, RestRequest, RestResponse> advancedResponseWriter)
{
return _service
.PostQueryWithRestRequest(null, "application/json", null, optionsOrg, null, query)
Expand Down

0 comments on commit b55ccd4

Please sign in to comment.