@@ -55,13 +55,19 @@ public Task<string> GetStringAsync(string uri, string authorizationToken = null,
5555 } ) ;
5656 }
5757
58- public Task < HttpResponseMessage > PostAsync < T > ( string uri , T item , string authorizationToken = null , string requestId = null , string authorizationMethod = "Bearer" )
58+ private Task < HttpResponseMessage > DoPostPutAsync < T > ( HttpMethod method , string uri , T item , string authorizationToken = null , string requestId = null , string authorizationMethod = "Bearer" )
5959 {
60+
61+ if ( method != HttpMethod . Post && method != HttpMethod . Put )
62+ {
63+ throw new ArgumentException ( "Value must be either post or put." , nameof ( method ) ) ;
64+ }
65+
6066 // a new StringContent must be created for each retry
6167 // as it is disposed after each call
6268 return HttpInvoker ( async ( ) =>
6369 {
64- var requestMessage = new HttpRequestMessage ( HttpMethod . Post , uri ) ;
70+ var requestMessage = new HttpRequestMessage ( method , uri ) ;
6571
6672 requestMessage . Content = new StringContent ( JsonConvert . SerializeObject ( item ) , System . Text . Encoding . UTF8 , "application/json" ) ;
6773
@@ -89,7 +95,14 @@ public Task<HttpResponseMessage> PostAsync<T>(string uri, T item, string authori
8995 } ) ;
9096 }
9197
92-
98+ public Task < HttpResponseMessage > PostAsync < T > ( string uri , T item , string authorizationToken = null , string requestId = null , string authorizationMethod = "Bearer" )
99+ {
100+ return DoPostPutAsync ( HttpMethod . Post , uri , item , authorizationToken , requestId , authorizationMethod ) ;
101+ }
102+ public Task < HttpResponseMessage > PutAsync < T > ( string uri , T item , string authorizationToken = null , string requestId = null , string authorizationMethod = "Bearer" )
103+ {
104+ return DoPostPutAsync ( HttpMethod . Put , uri , item , authorizationToken , requestId , authorizationMethod ) ;
105+ }
93106 public Task < HttpResponseMessage > DeleteAsync ( string uri , string authorizationToken = null , string requestId = null , string authorizationMethod = "Bearer" )
94107 {
95108 return HttpInvoker ( async ( ) =>
0 commit comments