Skip to content

Commit dcb3038

Browse files
committed
feat: insert region on client's constructor
1 parent 43186f2 commit dcb3038

File tree

2 files changed

+14
-7
lines changed

2 files changed

+14
-7
lines changed

Functions/Client.cs

Lines changed: 11 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,6 @@
1010
using Supabase.Core.Extensions;
1111
using Supabase.Functions.Exceptions;
1212
using Supabase.Functions.Interfaces;
13-
using Supabase.Functions.Responses;
1413

1514
[assembly: InternalsVisibleTo("FunctionsTests")]
1615

@@ -21,6 +20,7 @@ public partial class Client : IFunctionsClient
2120
{
2221
private HttpClient _httpClient = new HttpClient();
2322
private readonly string _baseUrl;
23+
private FunctionRegion _region;
2424

2525
/// <summary>
2626
/// Function that can be set to return dynamic headers.
@@ -33,9 +33,11 @@ public partial class Client : IFunctionsClient
3333
/// Initializes a functions client
3434
/// </summary>
3535
/// <param name="baseUrl"></param>
36-
public Client(string baseUrl)
36+
/// <param name="region"></param>
37+
public Client(string baseUrl, FunctionRegion? region = null)
3738
{
3839
_baseUrl = baseUrl;
40+
_region = region ?? FunctionRegion.Any;
3941
}
4042

4143
/// <summary>
@@ -126,9 +128,14 @@ private async Task<HttpResponseMessage> HandleRequest(
126128

127129
options.Headers["X-Client-Info"] = Util.GetAssemblyVersion(typeof(Client));
128130

129-
if (options.FunctionRegion != FunctionRegion.Any)
131+
if (options.FunctionRegion != null)
130132
{
131-
options.Headers["x-region"] = options.FunctionRegion.ToString();
133+
_region = options.FunctionRegion;
134+
}
135+
136+
if (_region != FunctionRegion.Any)
137+
{
138+
options.Headers["x-region"] = _region.ToString();
132139
}
133140

134141
var builder = new UriBuilder(url);

Functions/InvokeFunctionOptions.cs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -40,15 +40,15 @@ public class InvokeFunctionOptions
4040
/// <summary>
4141
/// Region of the request
4242
/// </summary>
43-
public FunctionRegion FunctionRegion { get; set; } = FunctionRegion.Any;
43+
public FunctionRegion? FunctionRegion { get; set; } = null;
4444
}
4545

4646
/// <summary>
4747
/// Define the region for requests
4848
/// </summary>
4949
public class FunctionRegion : IEquatable<FunctionRegion>
5050
{
51-
private string _region;
51+
private readonly string _region;
5252

5353
/// <summary>
5454
/// Empty region
@@ -170,7 +170,7 @@ public bool Equals(FunctionRegion other)
170170
/// <summary>
171171
/// Overloading the operator !=
172172
/// </summary>
173-
public static bool operator !=(FunctionRegion left, FunctionRegion right) =>
173+
public static bool operator !=(FunctionRegion? left, FunctionRegion? right) =>
174174
!Equals(left, right);
175175

176176
/// <summary>

0 commit comments

Comments
 (0)