Skip to content

Commit 7f864ee

Browse files
committed
WIP fixing tests
1 parent 13094f8 commit 7f864ee

File tree

58 files changed

+785
-1414
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

58 files changed

+785
-1414
lines changed

benchmarks/RestSharp.Benchmarks/Serializers/JsonNetDeserializeBenchmarks.cs

Lines changed: 0 additions & 30 deletions
This file was deleted.

src/Directory.Build.props

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,13 +23,16 @@
2323

2424
<ItemGroup>
2525
<PackageReference Include="Microsoft.SourceLink.GitHub" Version="1.1.1" PrivateAssets="All"/>
26-
<PackageReference Include="MinVer" Version="2.5.0" PrivateAssets="All"/>
26+
<!-- <PackageReference Include="MinVer" Version="2.5.0" PrivateAssets="All"/>-->
2727
<PackageReference Include="JetBrains.Annotations" Version="2021.3.0" PrivateAssets="All"/>
2828
</ItemGroup>
2929
<ItemGroup>
3030
<None Include="$(RepoRoot)\restsharp.png" Pack="true" PackagePath="\"/>
3131
<Using Include="JetBrains.Annotations"/>
3232
</ItemGroup>
33+
<ItemGroup Condition="$(TargetFramework) == 'netstandard2.0'">
34+
<PackageReference Include="IsExternalInit" Version="1.0.1" PrivateAssets="All"/>
35+
</ItemGroup>
3336
<Target Name="CustomVersion" AfterTargets="MinVer">
3437
<PropertyGroup>
3538
<FileVersion>$(MinVerMajor).$(MinVerMinor).$(MinVerPatch)</FileVersion>

src/RestSharp.Serializers.NewtonsoftJson/JsonNetSerializer.cs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ public class JsonNetSerializer : IRestSerializer {
2020
ConstructorHandling = ConstructorHandling.AllowNonPublicDefaultConstructor
2121
};
2222

23-
[ThreadStatic] static WriterBuffer? tWriterBuffer;
23+
[ThreadStatic] static WriterBuffer? _writerBuffer;
2424

2525
readonly JsonSerializer _serializer;
2626

@@ -38,7 +38,7 @@ public class JsonNetSerializer : IRestSerializer {
3838
public string? Serialize(object? obj) {
3939
if (obj == null) return null;
4040

41-
using var writerBuffer = tWriterBuffer ??= new WriterBuffer(_serializer);
41+
using var writerBuffer = _writerBuffer ??= new WriterBuffer(_serializer);
4242

4343
_serializer.Serialize(writerBuffer.GetJsonTextWriter(), obj, obj.GetType());
4444

@@ -47,7 +47,7 @@ public class JsonNetSerializer : IRestSerializer {
4747

4848
public string? Serialize(Parameter bodyParameter) => Serialize(bodyParameter.Value);
4949

50-
public T? Deserialize<T>(IRestResponse response) {
50+
public T? Deserialize<T>(RestResponse response) {
5151
using var reader = new JsonTextReader(new StringReader(response.Content)) { CloseInput = true };
5252

5353
return _serializer.Deserialize<T>(reader);
Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,12 @@
1-
namespace RestSharp.Authenticators;
1+
namespace RestSharp.Authenticators;
22

33
public abstract class AuthenticatorBase : IAuthenticator {
44
protected AuthenticatorBase(string token) => Token = token;
55

66
protected string Token { get; }
77

8-
protected abstract Parameter GetAuthenticationParameter(string accessToken);
8+
protected abstract ValueTask<Parameter> GetAuthenticationParameter(string accessToken);
99

10-
public void Authenticate(RestClient client, IRestRequest request) => request.AddOrUpdateParameter(GetAuthenticationParameter(Token));
10+
public async ValueTask Authenticate(RestClient client, IRestRequest request)
11+
=> request.AddOrUpdateParameter(await GetAuthenticationParameter(Token));
1112
}

src/RestSharp/Authenticators/HttpBasicAuthenticator.cs

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@ namespace RestSharp.Authenticators;
99
/// Encoding can be specified depending on what your server expect (see https://stackoverflow.com/a/7243567).
1010
/// UTF-8 is used by default but some servers might expect ISO-8859-1 encoding.
1111
/// </remarks>
12+
[PublicAPI]
1213
public class HttpBasicAuthenticator : AuthenticatorBase
1314
{
1415
public HttpBasicAuthenticator(string username, string password) : this(username, password, Encoding.UTF8) { }
@@ -20,6 +21,6 @@ static string GetHeader(string username, string password, Encoding encoding)
2021
=> Convert.ToBase64String(encoding.GetBytes($"{username}:{password}"));
2122

2223
// return ;
23-
protected override Parameter GetAuthenticationParameter(string accessToken)
24-
=> new("Authorization", $"Basic {accessToken}", ParameterType.HttpHeader);
24+
protected override ValueTask<Parameter> GetAuthenticationParameter(string accessToken)
25+
=> new(new Parameter("Authorization", $"Basic {accessToken}", ParameterType.HttpHeader));
2526
}
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
namespace RestSharp.Authenticators;
22

33
public interface IAuthenticator {
4-
void Authenticate(RestClient client, IRestRequest request);
4+
ValueTask Authenticate(RestClient client, IRestRequest request);
55
}

src/RestSharp/Authenticators/JwtAuthenticator.cs

Lines changed: 6 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ namespace RestSharp.Authenticators;
55
/// <remarks>https://tools.ietf.org/html/draft-ietf-oauth-json-web-token</remarks>
66
/// </summary>
77
public class JwtAuthenticator : IAuthenticator {
8-
string _authHeader;
8+
string _authHeader = null!;
99

1010
// ReSharper disable once IntroduceOptionalParameters.Global
1111
public JwtAuthenticator(string accessToken) => SetBearerToken(accessToken);
@@ -14,12 +14,11 @@ public class JwtAuthenticator : IAuthenticator {
1414
/// Set the new bearer token so the request gets the new header value
1515
/// </summary>
1616
/// <param name="accessToken"></param>
17-
public void SetBearerToken(string accessToken) {
18-
Ensure.NotEmpty(accessToken, nameof(accessToken));
17+
[PublicAPI]
18+
public void SetBearerToken(string accessToken) => _authHeader = $"Bearer {Ensure.NotEmpty(accessToken, nameof(accessToken))}";
1919

20-
_authHeader = $"Bearer {accessToken}";
20+
public ValueTask Authenticate(RestClient client, IRestRequest request) {
21+
request.AddOrUpdateParameter("Authorization", _authHeader, ParameterType.HttpHeader);
22+
return default;
2123
}
22-
23-
public void Authenticate(RestClient client, IRestRequest request)
24-
=> request.AddOrUpdateParameter("Authorization", _authHeader, ParameterType.HttpHeader);
2524
}

src/RestSharp/Authenticators/OAuth/OAuth1Authenticator.cs

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -39,7 +39,7 @@ public class OAuth1Authenticator : IAuthenticator {
3939

4040
internal virtual string ClientPassword { get; set; }
4141

42-
public void Authenticate(RestClient client, IRestRequest request) {
42+
public ValueTask Authenticate(RestClient client, IRestRequest request) {
4343
var workflow = new OAuthWorkflow {
4444
ConsumerKey = ConsumerKey,
4545
ConsumerSecret = ConsumerSecret,
@@ -57,6 +57,7 @@ public void Authenticate(RestClient client, IRestRequest request) {
5757
};
5858

5959
AddOAuthData(client, request, workflow);
60+
return default;
6061
}
6162

6263
public static OAuth1Authenticator ForRequestToken(

src/RestSharp/Authenticators/OAuth2/OAuth2AuthorizationRequestHeaderAuthenticator.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,6 @@ public OAuth2AuthorizationRequestHeaderAuthenticator(string accessToken)
2323
/// <param name="tokenType">The token type.</param>
2424
public OAuth2AuthorizationRequestHeaderAuthenticator(string accessToken, string tokenType) : base(accessToken) => _tokenType = tokenType;
2525

26-
protected override Parameter GetAuthenticationParameter(string accessToken)
27-
=> new("Authorization", $"{_tokenType} {accessToken}", ParameterType.HttpHeader);
26+
protected override ValueTask<Parameter> GetAuthenticationParameter(string accessToken)
27+
=> new(new Parameter("Authorization", $"{_tokenType} {accessToken}", ParameterType.HttpHeader));
2828
}

src/RestSharp/Authenticators/OAuth2/OAuth2UriQueryParameterAuthenticator.cs

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,5 +14,6 @@ public class OAuth2UriQueryParameterAuthenticator : AuthenticatorBase
1414
/// <param name="accessToken">The access token.</param>
1515
public OAuth2UriQueryParameterAuthenticator(string accessToken) : base(accessToken) { }
1616

17-
protected override Parameter GetAuthenticationParameter(string accessToken) => new("oauth_token", accessToken, ParameterType.GetOrPost);
17+
protected override ValueTask<Parameter> GetAuthenticationParameter(string accessToken)
18+
=> new(new Parameter("oauth_token", accessToken, ParameterType.GetOrPost));
1819
}

0 commit comments

Comments
 (0)