@@ -109,7 +109,8 @@ protected virtual async Task<Result<TResponse>> SendGetRequest<TResponse>(String
109109 {
110110
111111 HttpRequestMessage requestMessage = new ( HttpMethod . Get , uri ) ;
112- requestMessage . Headers . Authorization = new AuthenticationHeaderValue ( AuthenticationSchemes . Bearer , accessToken ) ;
112+ if ( String . IsNullOrEmpty ( accessToken ) == false )
113+ requestMessage . Headers . Authorization = new AuthenticationHeaderValue ( AuthenticationSchemes . Bearer , accessToken ) ;
113114
114115 // Make the Http Call here
115116 HttpResponseMessage httpResponse = await this . HttpClient . SendAsync ( requestMessage , cancellationToken ) ;
@@ -129,8 +130,15 @@ protected virtual async Task<Result<TResponse>> SendPostRequest<TRequest, TRespo
129130 {
130131
131132 HttpRequestMessage requestMessage = new ( HttpMethod . Post , uri ) ;
132- requestMessage . Headers . Authorization = new AuthenticationHeaderValue ( AuthenticationSchemes . Bearer , accessToken ) ;
133- requestMessage . Content = new StringContent ( JsonConvert . SerializeObject ( content ) , Encoding . UTF8 , "application/json" ) ;
133+ if ( String . IsNullOrEmpty ( accessToken ) == false )
134+ requestMessage . Headers . Authorization = new AuthenticationHeaderValue ( AuthenticationSchemes . Bearer , accessToken ) ;
135+ if ( content . GetType ( ) == typeof ( FormUrlEncodedContent ) ) {
136+ // Treat this specially
137+ requestMessage . Content = content as FormUrlEncodedContent ;
138+ }
139+ else {
140+ requestMessage . Content = new StringContent ( JsonConvert . SerializeObject ( content ) , Encoding . UTF8 , "application/json" ) ;
141+ }
134142
135143 // Make the Http Call here
136144 HttpResponseMessage httpResponse = await this . HttpClient . SendAsync ( requestMessage , cancellationToken ) ;
@@ -150,8 +158,17 @@ protected virtual async Task<Result<TResponse>> SendPutRequest<TRequest, TRespon
150158 {
151159
152160 HttpRequestMessage requestMessage = new ( HttpMethod . Put , uri ) ;
153- requestMessage . Headers . Authorization = new AuthenticationHeaderValue ( AuthenticationSchemes . Bearer , accessToken ) ;
154- requestMessage . Content = new StringContent ( JsonConvert . SerializeObject ( content ) , Encoding . UTF8 , "application/json" ) ;
161+ if ( String . IsNullOrEmpty ( accessToken ) == false )
162+ requestMessage . Headers . Authorization = new AuthenticationHeaderValue ( AuthenticationSchemes . Bearer , accessToken ) ;
163+ if ( content . GetType ( ) == typeof ( FormUrlEncodedContent ) )
164+ {
165+ // Treat this specially
166+ requestMessage . Content = content as FormUrlEncodedContent ;
167+ }
168+ else
169+ {
170+ requestMessage . Content = new StringContent ( JsonConvert . SerializeObject ( content ) , Encoding . UTF8 , "application/json" ) ;
171+ }
155172
156173 // Make the Http Call here
157174 HttpResponseMessage httpResponse = await this . HttpClient . SendAsync ( requestMessage , cancellationToken ) ;
@@ -171,8 +188,17 @@ protected virtual async Task<Result<TResponse>> SendPatchRequest<TRequest, TResp
171188 {
172189
173190 HttpRequestMessage requestMessage = new ( HttpMethod . Patch , uri ) ;
174- requestMessage . Headers . Authorization = new AuthenticationHeaderValue ( AuthenticationSchemes . Bearer , accessToken ) ;
175- requestMessage . Content = new StringContent ( JsonConvert . SerializeObject ( content ) , Encoding . UTF8 , "application/json" ) ;
191+ if ( String . IsNullOrEmpty ( accessToken ) == false )
192+ requestMessage . Headers . Authorization = new AuthenticationHeaderValue ( AuthenticationSchemes . Bearer , accessToken ) ;
193+ if ( content . GetType ( ) == typeof ( FormUrlEncodedContent ) )
194+ {
195+ // Treat this specially
196+ requestMessage . Content = content as FormUrlEncodedContent ;
197+ }
198+ else
199+ {
200+ requestMessage . Content = new StringContent ( JsonConvert . SerializeObject ( content ) , Encoding . UTF8 , "application/json" ) ;
201+ }
176202
177203 // Make the Http Call here
178204 HttpResponseMessage httpResponse = await this . HttpClient . SendAsync ( requestMessage , cancellationToken ) ;
@@ -192,7 +218,8 @@ protected virtual async Task<Result<TResponse>> SendDeleteRequest<TResponse>(Str
192218 {
193219
194220 HttpRequestMessage requestMessage = new ( HttpMethod . Delete , uri ) ;
195- requestMessage . Headers . Authorization = new AuthenticationHeaderValue ( AuthenticationSchemes . Bearer , accessToken ) ;
221+ if ( String . IsNullOrEmpty ( accessToken ) == false )
222+ requestMessage . Headers . Authorization = new AuthenticationHeaderValue ( AuthenticationSchemes . Bearer , accessToken ) ;
196223
197224 // Make the Http Call here
198225 HttpResponseMessage httpResponse = await this . HttpClient . SendAsync ( requestMessage , cancellationToken ) ;
0 commit comments