Skip to content

Commit b2442cf

Browse files
refactor(client): pass around ClientOptions instead of client
1 parent aecc000 commit b2442cf

31 files changed

+159
-153
lines changed

src/ArcadeDotnet/ArcadeClient.cs

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -168,11 +168,14 @@ async Task<HttpResponse> ExecuteOnce<T>(
168168
)
169169
where T : ParamsBase
170170
{
171-
using HttpRequestMessage requestMessage = new(request.Method, request.Params.Url(this))
171+
using HttpRequestMessage requestMessage = new(
172+
request.Method,
173+
request.Params.Url(this._options)
174+
)
172175
{
173176
Content = request.Params.BodyContent(),
174177
};
175-
request.Params.AddHeadersToRequest(requestMessage, this);
178+
request.Params.AddHeadersToRequest(requestMessage, this._options);
176179
using CancellationTokenSource timeoutCts = new(this.Timeout);
177180
using var cts = CancellationTokenSource.CreateLinkedTokenSource(
178181
timeoutCts.Token,

src/ArcadeDotnet/Core/ParamsBase.cs

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@ public IReadOnlyDictionary<string, JsonElement> HeaderProperties
2525
get { return this._headerProperties.Freeze(); }
2626
}
2727

28-
public abstract Uri Url(IArcadeClient client);
28+
public abstract Uri Url(ClientOptions options);
2929

3030
protected static void AddQueryElementToCollection(
3131
NameValueCollection collection,
@@ -131,7 +131,7 @@ JsonElement element
131131
}
132132
}
133133

134-
protected string QueryString(IArcadeClient client)
134+
protected string QueryString(ClientOptions options)
135135
{
136136
NameValueCollection collection = [];
137137
foreach (var item in this.QueryProperties)
@@ -157,18 +157,18 @@ protected string QueryString(IArcadeClient client)
157157
return sb.ToString();
158158
}
159159

160-
internal abstract void AddHeadersToRequest(HttpRequestMessage request, IArcadeClient client);
160+
internal abstract void AddHeadersToRequest(HttpRequestMessage request, ClientOptions options);
161161

162162
internal virtual StringContent? BodyContent()
163163
{
164164
return null;
165165
}
166166

167-
protected static void AddDefaultHeaders(HttpRequestMessage request, IArcadeClient client)
167+
protected static void AddDefaultHeaders(HttpRequestMessage request, ClientOptions options)
168168
{
169-
if (client.APIKey != null)
169+
if (options.APIKey != null)
170170
{
171-
request.Headers.Add("Authorization", client.APIKey);
171+
request.Headers.Add("Authorization", options.APIKey);
172172
}
173173
}
174174
}

src/ArcadeDotnet/Models/Admin/AuthProviders/AuthProviderCreateParams.cs

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -228,13 +228,13 @@ IReadOnlyDictionary<string, JsonElement> bodyProperties
228228
);
229229
}
230230

231-
public override System::Uri Url(IArcadeClient client)
231+
public override System::Uri Url(ClientOptions options)
232232
{
233233
return new System::UriBuilder(
234-
client.BaseUrl.ToString().TrimEnd('/') + "/v1/admin/auth_providers"
234+
options.BaseUrl.ToString().TrimEnd('/') + "/v1/admin/auth_providers"
235235
)
236236
{
237-
Query = this.QueryString(client),
237+
Query = this.QueryString(options),
238238
}.Uri;
239239
}
240240

@@ -247,9 +247,9 @@ IReadOnlyDictionary<string, JsonElement> bodyProperties
247247
);
248248
}
249249

250-
internal override void AddHeadersToRequest(HttpRequestMessage request, IArcadeClient client)
250+
internal override void AddHeadersToRequest(HttpRequestMessage request, ClientOptions options)
251251
{
252-
ParamsBase.AddDefaultHeaders(request, client);
252+
ParamsBase.AddDefaultHeaders(request, options);
253253
foreach (var item in this.HeaderProperties)
254254
{
255255
ParamsBase.AddHeaderElementToRequest(request, item.Key, item.Value);

src/ArcadeDotnet/Models/Admin/AuthProviders/AuthProviderDeleteParams.cs

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -49,20 +49,20 @@ IReadOnlyDictionary<string, JsonElement> queryProperties
4949
);
5050
}
5151

52-
public override System::Uri Url(IArcadeClient client)
52+
public override System::Uri Url(ClientOptions options)
5353
{
5454
return new System::UriBuilder(
55-
client.BaseUrl.ToString().TrimEnd('/')
55+
options.BaseUrl.ToString().TrimEnd('/')
5656
+ string.Format("/v1/admin/auth_providers/{0}", this.ID)
5757
)
5858
{
59-
Query = this.QueryString(client),
59+
Query = this.QueryString(options),
6060
}.Uri;
6161
}
6262

63-
internal override void AddHeadersToRequest(HttpRequestMessage request, IArcadeClient client)
63+
internal override void AddHeadersToRequest(HttpRequestMessage request, ClientOptions options)
6464
{
65-
ParamsBase.AddDefaultHeaders(request, client);
65+
ParamsBase.AddDefaultHeaders(request, options);
6666
foreach (var item in this.HeaderProperties)
6767
{
6868
ParamsBase.AddHeaderElementToRequest(request, item.Key, item.Value);

src/ArcadeDotnet/Models/Admin/AuthProviders/AuthProviderGetParams.cs

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -49,20 +49,20 @@ IReadOnlyDictionary<string, JsonElement> queryProperties
4949
);
5050
}
5151

52-
public override System::Uri Url(IArcadeClient client)
52+
public override System::Uri Url(ClientOptions options)
5353
{
5454
return new System::UriBuilder(
55-
client.BaseUrl.ToString().TrimEnd('/')
55+
options.BaseUrl.ToString().TrimEnd('/')
5656
+ string.Format("/v1/admin/auth_providers/{0}", this.ID)
5757
)
5858
{
59-
Query = this.QueryString(client),
59+
Query = this.QueryString(options),
6060
}.Uri;
6161
}
6262

63-
internal override void AddHeadersToRequest(HttpRequestMessage request, IArcadeClient client)
63+
internal override void AddHeadersToRequest(HttpRequestMessage request, ClientOptions options)
6464
{
65-
ParamsBase.AddDefaultHeaders(request, client);
65+
ParamsBase.AddDefaultHeaders(request, options);
6666
foreach (var item in this.HeaderProperties)
6767
{
6868
ParamsBase.AddHeaderElementToRequest(request, item.Key, item.Value);

src/ArcadeDotnet/Models/Admin/AuthProviders/AuthProviderListParams.cs

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -47,19 +47,19 @@ IReadOnlyDictionary<string, JsonElement> queryProperties
4747
);
4848
}
4949

50-
public override System::Uri Url(IArcadeClient client)
50+
public override System::Uri Url(ClientOptions options)
5151
{
5252
return new System::UriBuilder(
53-
client.BaseUrl.ToString().TrimEnd('/') + "/v1/admin/auth_providers"
53+
options.BaseUrl.ToString().TrimEnd('/') + "/v1/admin/auth_providers"
5454
)
5555
{
56-
Query = this.QueryString(client),
56+
Query = this.QueryString(options),
5757
}.Uri;
5858
}
5959

60-
internal override void AddHeadersToRequest(HttpRequestMessage request, IArcadeClient client)
60+
internal override void AddHeadersToRequest(HttpRequestMessage request, ClientOptions options)
6161
{
62-
ParamsBase.AddDefaultHeaders(request, client);
62+
ParamsBase.AddDefaultHeaders(request, options);
6363
foreach (var item in this.HeaderProperties)
6464
{
6565
ParamsBase.AddHeaderElementToRequest(request, item.Key, item.Value);

src/ArcadeDotnet/Models/Admin/AuthProviders/AuthProviderPatchParams.cs

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -202,14 +202,14 @@ IReadOnlyDictionary<string, JsonElement> bodyProperties
202202
);
203203
}
204204

205-
public override System::Uri Url(IArcadeClient client)
205+
public override System::Uri Url(ClientOptions options)
206206
{
207207
return new System::UriBuilder(
208-
client.BaseUrl.ToString().TrimEnd('/')
208+
options.BaseUrl.ToString().TrimEnd('/')
209209
+ string.Format("/v1/admin/auth_providers/{0}", this.ID)
210210
)
211211
{
212-
Query = this.QueryString(client),
212+
Query = this.QueryString(options),
213213
}.Uri;
214214
}
215215

@@ -222,9 +222,9 @@ IReadOnlyDictionary<string, JsonElement> bodyProperties
222222
);
223223
}
224224

225-
internal override void AddHeadersToRequest(HttpRequestMessage request, IArcadeClient client)
225+
internal override void AddHeadersToRequest(HttpRequestMessage request, ClientOptions options)
226226
{
227-
ParamsBase.AddDefaultHeaders(request, client);
227+
ParamsBase.AddDefaultHeaders(request, options);
228228
foreach (var item in this.HeaderProperties)
229229
{
230230
ParamsBase.AddHeaderElementToRequest(request, item.Key, item.Value);

src/ArcadeDotnet/Models/Admin/Secrets/SecretDeleteParams.cs

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -49,20 +49,20 @@ IReadOnlyDictionary<string, JsonElement> queryProperties
4949
);
5050
}
5151

52-
public override System::Uri Url(IArcadeClient client)
52+
public override System::Uri Url(ClientOptions options)
5353
{
5454
return new System::UriBuilder(
55-
client.BaseUrl.ToString().TrimEnd('/')
55+
options.BaseUrl.ToString().TrimEnd('/')
5656
+ string.Format("/v1/admin/secrets/{0}", this.SecretID)
5757
)
5858
{
59-
Query = this.QueryString(client),
59+
Query = this.QueryString(options),
6060
}.Uri;
6161
}
6262

63-
internal override void AddHeadersToRequest(HttpRequestMessage request, IArcadeClient client)
63+
internal override void AddHeadersToRequest(HttpRequestMessage request, ClientOptions options)
6464
{
65-
ParamsBase.AddDefaultHeaders(request, client);
65+
ParamsBase.AddDefaultHeaders(request, options);
6666
foreach (var item in this.HeaderProperties)
6767
{
6868
ParamsBase.AddHeaderElementToRequest(request, item.Key, item.Value);

src/ArcadeDotnet/Models/Admin/Secrets/SecretListParams.cs

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -47,17 +47,17 @@ IReadOnlyDictionary<string, JsonElement> queryProperties
4747
);
4848
}
4949

50-
public override System::Uri Url(IArcadeClient client)
50+
public override System::Uri Url(ClientOptions options)
5151
{
52-
return new System::UriBuilder(client.BaseUrl.ToString().TrimEnd('/') + "/v1/admin/secrets")
52+
return new System::UriBuilder(options.BaseUrl.ToString().TrimEnd('/') + "/v1/admin/secrets")
5353
{
54-
Query = this.QueryString(client),
54+
Query = this.QueryString(options),
5555
}.Uri;
5656
}
5757

58-
internal override void AddHeadersToRequest(HttpRequestMessage request, IArcadeClient client)
58+
internal override void AddHeadersToRequest(HttpRequestMessage request, ClientOptions options)
5959
{
60-
ParamsBase.AddDefaultHeaders(request, client);
60+
ParamsBase.AddDefaultHeaders(request, options);
6161
foreach (var item in this.HeaderProperties)
6262
{
6363
ParamsBase.AddHeaderElementToRequest(request, item.Key, item.Value);

src/ArcadeDotnet/Models/Admin/UserConnections/UserConnectionDeleteParams.cs

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -49,20 +49,20 @@ IReadOnlyDictionary<string, JsonElement> queryProperties
4949
);
5050
}
5151

52-
public override Uri Url(IArcadeClient client)
52+
public override Uri Url(ClientOptions options)
5353
{
5454
return new UriBuilder(
55-
client.BaseUrl.ToString().TrimEnd('/')
55+
options.BaseUrl.ToString().TrimEnd('/')
5656
+ string.Format("/v1/admin/user_connections/{0}", this.ID)
5757
)
5858
{
59-
Query = this.QueryString(client),
59+
Query = this.QueryString(options),
6060
}.Uri;
6161
}
6262

63-
internal override void AddHeadersToRequest(HttpRequestMessage request, IArcadeClient client)
63+
internal override void AddHeadersToRequest(HttpRequestMessage request, ClientOptions options)
6464
{
65-
ParamsBase.AddDefaultHeaders(request, client);
65+
ParamsBase.AddDefaultHeaders(request, options);
6666
foreach (var item in this.HeaderProperties)
6767
{
6868
ParamsBase.AddHeaderElementToRequest(request, item.Key, item.Value);

0 commit comments

Comments
 (0)