Skip to content

Commit 81f7500

Browse files
committed
[dotnet] [biid] Avoid using JsonInclude attribute to include optional property for DTO
1 parent 3d15087 commit 81f7500

14 files changed

+42
-88
lines changed

dotnet/src/webdriver/BiDi/BrowsingContext/BrowsingContextInfo.cs

Lines changed: 2 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -18,13 +18,8 @@
1818
// </copyright>
1919

2020
using System.Collections.Generic;
21-
using System.Text.Json.Serialization;
2221

2322
namespace OpenQA.Selenium.BiDi.BrowsingContext;
2423

25-
public sealed record BrowsingContextInfo(BiDi BiDi, IReadOnlyList<BrowsingContextInfo>? Children, Browser.ClientWindow ClientWindow, BrowsingContext Context, BrowsingContext? OriginalOpener, string Url, Browser.UserContext UserContext)
26-
: BrowsingContextEventArgs(BiDi, Context)
27-
{
28-
[JsonInclude]
29-
public BrowsingContext? Parent { get; internal set; }
30-
}
24+
public sealed record BrowsingContextInfo(BiDi BiDi, IReadOnlyList<BrowsingContextInfo>? Children, Browser.ClientWindow ClientWindow, BrowsingContext Context, BrowsingContext? OriginalOpener, string Url, Browser.UserContext UserContext, BrowsingContext? Parent)
25+
: BrowsingContextEventArgs(BiDi, Context);

dotnet/src/webdriver/BiDi/BrowsingContext/BrowsingContextNetworkModule.cs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,7 @@ public async Task<Intercept> InterceptRequestAsync(Func<InterceptedRequest, Task
3535
var intercept = await networkModule.AddInterceptAsync([InterceptPhase.BeforeRequestSent], addInterceptOptions).ConfigureAwait(false);
3636

3737
await intercept.OnBeforeRequestSentAsync(
38-
async req => await handler(new(req.BiDi, req.Context, req.IsBlocked, req.Navigation, req.RedirectCount, req.Request, req.Timestamp, req.Initiator)),
38+
async req => await handler(new(req.BiDi, req.Context, req.IsBlocked, req.Navigation, req.RedirectCount, req.Request, req.Timestamp, req.Initiator, req.Intercepts)),
3939
new BrowsingContextsSubscriptionOptions(null) { Contexts = [context] }).ConfigureAwait(false);
4040

4141
return intercept;
@@ -51,7 +51,7 @@ public async Task<Intercept> InterceptResponseAsync(Func<InterceptedResponse, Ta
5151
var intercept = await networkModule.AddInterceptAsync([InterceptPhase.ResponseStarted], addInterceptOptions).ConfigureAwait(false);
5252

5353
await intercept.OnResponseStartedAsync(
54-
async res => await handler(new(res.BiDi, res.Context, res.IsBlocked, res.Navigation, res.RedirectCount, res.Request, res.Timestamp, res.Response)),
54+
async res => await handler(new(res.BiDi, res.Context, res.IsBlocked, res.Navigation, res.RedirectCount, res.Request, res.Timestamp, res.Response, res.Intercepts)),
5555
new BrowsingContextsSubscriptionOptions(null) { Contexts = [context] }).ConfigureAwait(false);
5656

5757
return intercept;
@@ -67,7 +67,7 @@ public async Task<Intercept> InterceptAuthAsync(Func<InterceptedAuth, Task> hand
6767
var intercept = await networkModule.AddInterceptAsync([InterceptPhase.AuthRequired], addInterceptOptions).ConfigureAwait(false);
6868

6969
await intercept.OnAuthRequiredAsync(
70-
async auth => await handler(new(auth.BiDi, auth.Context, auth.IsBlocked, auth.Navigation, auth.RedirectCount, auth.Request, auth.Timestamp, auth.Response)),
70+
async auth => await handler(new(auth.BiDi, auth.Context, auth.IsBlocked, auth.Navigation, auth.RedirectCount, auth.Request, auth.Timestamp, auth.Response, auth.Intercepts)),
7171
new BrowsingContextsSubscriptionOptions(null) { Contexts = [context] }).ConfigureAwait(false);
7272

7373
return intercept;

dotnet/src/webdriver/BiDi/BrowsingContext/UserPromptClosedEventArgs.cs

Lines changed: 2 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -17,13 +17,7 @@
1717
// under the License.
1818
// </copyright>
1919

20-
using System.Text.Json.Serialization;
21-
2220
namespace OpenQA.Selenium.BiDi.BrowsingContext;
2321

24-
public sealed record UserPromptClosedEventArgs(BiDi BiDi, BrowsingContext Context, bool Accepted)
25-
: BrowsingContextEventArgs(BiDi, Context)
26-
{
27-
[JsonInclude]
28-
public string? UserText { get; internal set; }
29-
}
22+
public sealed record UserPromptClosedEventArgs(BiDi BiDi, BrowsingContext Context, bool Accepted, string? UserText)
23+
: BrowsingContextEventArgs(BiDi, Context);

dotnet/src/webdriver/BiDi/BrowsingContext/UserPromptOpenedEventArgs.cs

Lines changed: 2 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -22,12 +22,8 @@
2222

2323
namespace OpenQA.Selenium.BiDi.BrowsingContext;
2424

25-
public sealed record UserPromptOpenedEventArgs(BiDi BiDi, BrowsingContext Context, Session.UserPromptHandlerType Handler, UserPromptType Type, string Message)
26-
: BrowsingContextEventArgs(BiDi, Context)
27-
{
28-
[JsonInclude]
29-
public string? DefaultValue { get; internal set; }
30-
}
25+
public sealed record UserPromptOpenedEventArgs(BiDi BiDi, BrowsingContext Context, Session.UserPromptHandlerType Handler, UserPromptType Type, string Message, string? DefaultValue)
26+
: BrowsingContextEventArgs(BiDi, Context);
3127

3228
[JsonConverter(typeof(CamelCaseEnumConverter<UserPromptType>))]
3329
public enum UserPromptType

dotnet/src/webdriver/BiDi/Network/AuthRequiredEventArgs.cs

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -18,8 +18,9 @@
1818
// </copyright>
1919

2020
using System;
21+
using System.Collections.Generic;
2122

2223
namespace OpenQA.Selenium.BiDi.Network;
2324

24-
public record AuthRequiredEventArgs(BiDi BiDi, BrowsingContext.BrowsingContext? Context, bool IsBlocked, BrowsingContext.Navigation? Navigation, long RedirectCount, RequestData Request, DateTimeOffset Timestamp, ResponseData Response) :
25-
BaseParametersEventArgs(BiDi, Context, IsBlocked, Navigation, RedirectCount, Request, Timestamp);
25+
public record AuthRequiredEventArgs(BiDi BiDi, BrowsingContext.BrowsingContext? Context, bool IsBlocked, BrowsingContext.Navigation? Navigation, long RedirectCount, RequestData Request, DateTimeOffset Timestamp, ResponseData Response, IReadOnlyList<Intercept>? Intercepts) :
26+
BaseParametersEventArgs(BiDi, Context, IsBlocked, Navigation, RedirectCount, Request, Timestamp, Intercepts);

dotnet/src/webdriver/BiDi/Network/BaseParametersEventArgs.cs

Lines changed: 2 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -18,15 +18,9 @@
1818
// </copyright>
1919

2020
using System.Collections.Generic;
21-
using System.Text.Json.Serialization;
2221
using System;
2322

2423
namespace OpenQA.Selenium.BiDi.Network;
2524

26-
public abstract record BaseParametersEventArgs(BiDi BiDi, BrowsingContext.BrowsingContext? Context, bool IsBlocked, BrowsingContext.Navigation? Navigation, long RedirectCount, RequestData Request, DateTimeOffset Timestamp)
27-
: BrowsingContextEventArgs(BiDi, Context)
28-
{
29-
[JsonInclude]
30-
public IReadOnlyList<Intercept>? Intercepts { get; internal set; }
31-
}
32-
25+
public abstract record BaseParametersEventArgs(BiDi BiDi, BrowsingContext.BrowsingContext? Context, bool IsBlocked, BrowsingContext.Navigation? Navigation, long RedirectCount, RequestData Request, DateTimeOffset Timestamp, IReadOnlyList<Intercept>? Intercepts)
26+
: BrowsingContextEventArgs(BiDi, Context);

dotnet/src/webdriver/BiDi/Network/BeforeRequestSentEventArgs.cs

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -19,8 +19,9 @@
1919

2020
using OpenQA.Selenium.BiDi.BrowsingContext;
2121
using System;
22+
using System.Collections.Generic;
2223

2324
namespace OpenQA.Selenium.BiDi.Network;
2425

25-
public record BeforeRequestSentEventArgs(BiDi BiDi, BrowsingContext.BrowsingContext? Context, bool IsBlocked, Navigation? Navigation, long RedirectCount, RequestData Request, DateTimeOffset Timestamp, Initiator Initiator)
26-
: BaseParametersEventArgs(BiDi, Context, IsBlocked, Navigation, RedirectCount, Request, Timestamp);
26+
public record BeforeRequestSentEventArgs(BiDi BiDi, BrowsingContext.BrowsingContext? Context, bool IsBlocked, Navigation? Navigation, long RedirectCount, RequestData Request, DateTimeOffset Timestamp, Initiator Initiator, IReadOnlyList<Intercept>? Intercepts)
27+
: BaseParametersEventArgs(BiDi, Context, IsBlocked, Navigation, RedirectCount, Request, Timestamp, Intercepts);

dotnet/src/webdriver/BiDi/Network/FetchErrorEventArgs.cs

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -19,8 +19,9 @@
1919

2020
using OpenQA.Selenium.BiDi.BrowsingContext;
2121
using System;
22+
using System.Collections.Generic;
2223

2324
namespace OpenQA.Selenium.BiDi.Network;
2425

25-
public sealed record FetchErrorEventArgs(BiDi BiDi, BrowsingContext.BrowsingContext? Context, bool IsBlocked, Navigation? Navigation, long RedirectCount, RequestData Request, DateTimeOffset Timestamp, string ErrorText)
26-
: BaseParametersEventArgs(BiDi, Context, IsBlocked, Navigation, RedirectCount, Request, Timestamp);
26+
public sealed record FetchErrorEventArgs(BiDi BiDi, BrowsingContext.BrowsingContext? Context, bool IsBlocked, Navigation? Navigation, long RedirectCount, RequestData Request, DateTimeOffset Timestamp, string ErrorText, IReadOnlyList<Intercept>? Intercepts)
27+
: BaseParametersEventArgs(BiDi, Context, IsBlocked, Navigation, RedirectCount, Request, Timestamp, Intercepts);

dotnet/src/webdriver/BiDi/Network/NetworkModule.HighLevel.cs

Lines changed: 10 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@
1818
// </copyright>
1919

2020
using System;
21+
using System.Collections.Generic;
2122
using System.Threading.Tasks;
2223

2324
namespace OpenQA.Selenium.BiDi.Network;
@@ -28,7 +29,7 @@ public async Task<Intercept> InterceptRequestAsync(Func<InterceptedRequest, Task
2829
{
2930
var intercept = await AddInterceptAsync([InterceptPhase.BeforeRequestSent], options).ConfigureAwait(false);
3031

31-
await intercept.OnBeforeRequestSentAsync(async req => await handler(new(req.BiDi, req.Context, req.IsBlocked, req.Navigation, req.RedirectCount, req.Request, req.Timestamp, req.Initiator))).ConfigureAwait(false);
32+
await intercept.OnBeforeRequestSentAsync(async req => await handler(new(req.BiDi, req.Context, req.IsBlocked, req.Navigation, req.RedirectCount, req.Request, req.Timestamp, req.Initiator, req.Intercepts))).ConfigureAwait(false);
3233

3334
return intercept;
3435
}
@@ -37,7 +38,7 @@ public async Task<Intercept> InterceptResponseAsync(Func<InterceptedResponse, Ta
3738
{
3839
var intercept = await AddInterceptAsync([InterceptPhase.ResponseStarted], options).ConfigureAwait(false);
3940

40-
await intercept.OnResponseStartedAsync(async res => await handler(new(res.BiDi, res.Context, res.IsBlocked, res.Navigation, res.RedirectCount, res.Request, res.Timestamp, res.Response))).ConfigureAwait(false);
41+
await intercept.OnResponseStartedAsync(async res => await handler(new(res.BiDi, res.Context, res.IsBlocked, res.Navigation, res.RedirectCount, res.Request, res.Timestamp, res.Response, res.Intercepts))).ConfigureAwait(false);
4142

4243
return intercept;
4344
}
@@ -46,7 +47,7 @@ public async Task<Intercept> InterceptAuthAsync(Func<InterceptedAuth, Task> hand
4647
{
4748
var intercept = await AddInterceptAsync([InterceptPhase.AuthRequired], options).ConfigureAwait(false);
4849

49-
await intercept.OnAuthRequiredAsync(async auth => await handler(new(auth.BiDi, auth.Context, auth.IsBlocked, auth.Navigation, auth.RedirectCount, auth.Request, auth.Timestamp, auth.Response))).ConfigureAwait(false);
50+
await intercept.OnAuthRequiredAsync(async auth => await handler(new(auth.BiDi, auth.Context, auth.IsBlocked, auth.Navigation, auth.RedirectCount, auth.Request, auth.Timestamp, auth.Response, auth.Intercepts))).ConfigureAwait(false);
5051

5152
return intercept;
5253
}
@@ -58,8 +59,8 @@ public sealed class InterceptResponseOptions : AddInterceptOptions;
5859

5960
public sealed class InterceptAuthOptions : AddInterceptOptions;
6061

61-
public sealed record InterceptedRequest(BiDi BiDi, BrowsingContext.BrowsingContext? Context, bool IsBlocked, BrowsingContext.Navigation? Navigation, long RedirectCount, RequestData Request, DateTimeOffset Timestamp, Initiator Initiator)
62-
: BeforeRequestSentEventArgs(BiDi, Context, IsBlocked, Navigation, RedirectCount, Request, Timestamp, Initiator)
62+
public sealed record InterceptedRequest(BiDi BiDi, BrowsingContext.BrowsingContext? Context, bool IsBlocked, BrowsingContext.Navigation? Navigation, long RedirectCount, RequestData Request, DateTimeOffset Timestamp, Initiator Initiator, IReadOnlyList<Intercept>? Intercepts)
63+
: BeforeRequestSentEventArgs(BiDi, Context, IsBlocked, Navigation, RedirectCount, Request, Timestamp, Initiator, Intercepts)
6364
{
6465
public Task ContinueAsync(ContinueRequestOptions? options = null)
6566
{
@@ -77,17 +78,17 @@ public Task ProvideResponseAsync(ProvideResponseOptions? options = null)
7778
}
7879
}
7980

80-
public sealed record InterceptedResponse(BiDi BiDi, BrowsingContext.BrowsingContext? Context, bool IsBlocked, BrowsingContext.Navigation? Navigation, long RedirectCount, RequestData Request, DateTimeOffset Timestamp, ResponseData Response)
81-
: ResponseStartedEventArgs(BiDi, Context, IsBlocked, Navigation, RedirectCount, Request, Timestamp, Response)
81+
public sealed record InterceptedResponse(BiDi BiDi, BrowsingContext.BrowsingContext? Context, bool IsBlocked, BrowsingContext.Navigation? Navigation, long RedirectCount, RequestData Request, DateTimeOffset Timestamp, ResponseData Response, IReadOnlyList<Intercept>? Intercepts)
82+
: ResponseStartedEventArgs(BiDi, Context, IsBlocked, Navigation, RedirectCount, Request, Timestamp, Response, Intercepts)
8283
{
8384
public Task ContinueAsync(ContinueResponseOptions? options = null)
8485
{
8586
return BiDi.Network.ContinueResponseAsync(Request.Request, options);
8687
}
8788
}
8889

89-
public sealed record InterceptedAuth(BiDi BiDi, BrowsingContext.BrowsingContext? Context, bool IsBlocked, BrowsingContext.Navigation? Navigation, long RedirectCount, RequestData Request, DateTimeOffset Timestamp, ResponseData Response)
90-
: AuthRequiredEventArgs(BiDi, Context, IsBlocked, Navigation, RedirectCount, Request, Timestamp, Response)
90+
public sealed record InterceptedAuth(BiDi BiDi, BrowsingContext.BrowsingContext? Context, bool IsBlocked, BrowsingContext.Navigation? Navigation, long RedirectCount, RequestData Request, DateTimeOffset Timestamp, ResponseData Response, IReadOnlyList<Intercept>? Intercepts)
91+
: AuthRequiredEventArgs(BiDi, Context, IsBlocked, Navigation, RedirectCount, Request, Timestamp, Response, Intercepts)
9192
{
9293
public Task ContinueAsync(AuthCredentials credentials, ContinueWithAuthCredentialsOptions? options = null)
9394
{

dotnet/src/webdriver/BiDi/Network/ResponseCompletedEventArgs.cs

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@
1919

2020
using OpenQA.Selenium.BiDi.BrowsingContext;
2121
using System;
22+
using System.Collections.Generic;
2223

2324
namespace OpenQA.Selenium.BiDi.Network;
2425

@@ -29,5 +30,6 @@ public sealed record ResponseCompletedEventArgs(BiDi BiDi,
2930
long RedirectCount,
3031
RequestData Request,
3132
DateTimeOffset Timestamp,
32-
ResponseData Response)
33-
: BaseParametersEventArgs(BiDi, Context, IsBlocked, Navigation, RedirectCount, Request, Timestamp);
33+
ResponseData Response,
34+
IReadOnlyList<Intercept>? Intercepts)
35+
: BaseParametersEventArgs(BiDi, Context, IsBlocked, Navigation, RedirectCount, Request, Timestamp, Intercepts);

0 commit comments

Comments
 (0)