1
- using Newtonsoft . Json ;
2
- using Supabase . Core ;
3
- using Supabase . Core . Extensions ;
4
- using Supabase . Functions . Interfaces ;
5
- using Supabase . Functions . Responses ;
6
- using System ;
1
+ using System ;
7
2
using System . Collections . Generic ;
8
3
using System . Net . Http ;
9
4
using System . Runtime . CompilerServices ;
10
5
using System . Text ;
11
6
using System . Threading . Tasks ;
12
7
using System . Web ;
8
+ using Newtonsoft . Json ;
9
+ using Supabase . Core ;
10
+ using Supabase . Core . Extensions ;
13
11
using Supabase . Functions . Exceptions ;
12
+ using Supabase . Functions . Interfaces ;
13
+ using Supabase . Functions . Responses ;
14
14
15
15
[ assembly: InternalsVisibleTo ( "FunctionsTests" ) ]
16
16
@@ -24,7 +24,7 @@ public partial class Client : IFunctionsClient
24
24
25
25
/// <summary>
26
26
/// Function that can be set to return dynamic headers.
27
- ///
27
+ ///
28
28
/// Headers specified in the method parameters will ALWAYS take precedence over headers returned by this function.
29
29
/// </summary>
30
30
public Func < Dictionary < string , string > > ? GetHeaders { get ; set ; }
@@ -45,8 +45,11 @@ public Client(string baseUrl)
45
45
/// <param name="token">Anon Key.</param>
46
46
/// <param name="options">Options</param>
47
47
/// <returns></returns>
48
- public async Task < HttpContent > RawInvoke ( string functionName , string ? token = null ,
49
- InvokeFunctionOptions ? options = null )
48
+ public async Task < HttpContent > RawInvoke (
49
+ string functionName ,
50
+ string ? token = null ,
51
+ InvokeFunctionOptions ? options = null
52
+ )
50
53
{
51
54
var url = $ "{ _baseUrl } /{ functionName } ";
52
55
@@ -60,8 +63,11 @@ public async Task<HttpContent> RawInvoke(string functionName, string? token = nu
60
63
/// <param name="token">Anon Key.</param>
61
64
/// <param name="options">Options</param>
62
65
/// <returns></returns>
63
- public async Task < string > Invoke ( string functionName , string ? token = null ,
64
- InvokeFunctionOptions ? options = null )
66
+ public async Task < string > Invoke (
67
+ string functionName ,
68
+ string ? token = null ,
69
+ InvokeFunctionOptions ? options = null
70
+ )
65
71
{
66
72
var url = $ "{ _baseUrl } /{ functionName } ";
67
73
var response = await HandleRequest ( url , token , options ) ;
@@ -77,8 +83,12 @@ public async Task<string> Invoke(string functionName, string? token = null,
77
83
/// <param name="token">Anon Key.</param>
78
84
/// <param name="options">Options</param>
79
85
/// <returns></returns>
80
- public async Task < T ? > Invoke < T > ( string functionName , string ? token = null ,
81
- InvokeFunctionOptions ? options = null ) where T : class
86
+ public async Task < T ? > Invoke < T > (
87
+ string functionName ,
88
+ string ? token = null ,
89
+ InvokeFunctionOptions ? options = null
90
+ )
91
+ where T : class
82
92
{
83
93
var url = $ "{ _baseUrl } /{ functionName } ";
84
94
var response = await HandleRequest ( url , token , options ) ;
@@ -96,8 +106,11 @@ public async Task<string> Invoke(string functionName, string? token = null,
96
106
/// <param name="options"></param>
97
107
/// <returns></returns>
98
108
/// <exception cref="FunctionsException"></exception>
99
- private async Task < HttpResponseMessage > HandleRequest ( string url , string ? token = null ,
100
- InvokeFunctionOptions ? options = null )
109
+ private async Task < HttpResponseMessage > HandleRequest (
110
+ string url ,
111
+ string ? token = null ,
112
+ InvokeFunctionOptions ? options = null
113
+ )
101
114
{
102
115
options ??= new InvokeFunctionOptions ( ) ;
103
116
@@ -118,21 +131,24 @@ private async Task<HttpResponseMessage> HandleRequest(string url, string? token
118
131
119
132
builder . Query = query . ToString ( ) ;
120
133
121
- using var requestMessage = new HttpRequestMessage ( HttpMethod . Post , builder . Uri ) ;
122
- requestMessage . Content = new StringContent ( JsonConvert . SerializeObject ( options . Body ) , Encoding . UTF8 ,
123
- "application/json" ) ;
134
+ using var requestMessage = new HttpRequestMessage ( options . HttpMethod , builder . Uri ) ;
135
+ requestMessage . Content = new StringContent (
136
+ JsonConvert . SerializeObject ( options . Body ) ,
137
+ Encoding . UTF8 ,
138
+ "application/json"
139
+ ) ;
124
140
125
141
foreach ( var kvp in options . Headers )
126
142
{
127
143
requestMessage . Headers . TryAddWithoutValidation ( kvp . Key , kvp . Value ) ;
128
144
}
129
-
145
+
130
146
if ( _httpClient . Timeout != options . HttpTimeout )
131
147
{
132
148
_httpClient = new HttpClient ( ) ;
133
149
_httpClient . Timeout = options . HttpTimeout ;
134
150
}
135
-
151
+
136
152
var response = await _httpClient . SendAsync ( requestMessage ) ;
137
153
138
154
if ( response . IsSuccessStatusCode && ! response . Headers . Contains ( "x-relay-error" ) )
@@ -143,10 +159,11 @@ private async Task<HttpResponseMessage> HandleRequest(string url, string? token
143
159
{
144
160
Content = content ,
145
161
Response = response ,
146
- StatusCode = ( int ) response . StatusCode
162
+ StatusCode = ( int ) response . StatusCode ,
147
163
} ;
148
164
exception . AddReason ( ) ;
149
165
throw exception ;
150
166
}
151
167
}
152
- }
168
+ }
169
+
0 commit comments