@@ -102,7 +102,8 @@ public async Task ProcessBatchAsync_CallsRegisterForDispose()
102102 {
103103 new HttpMessageContent ( new HttpRequestMessage ( HttpMethod . Get , "http://example.com/" ) ) ,
104104 new HttpMessageContent ( new HttpRequestMessage ( HttpMethod . Post , "http://example.org/" ) )
105- }
105+ } ,
106+ RequestUri = new Uri ( "http://example.com/" )
106107 } ;
107108
108109 var response = await batchHandler . ProcessBatchAsync ( batchRequest , CancellationToken . None ) ;
@@ -269,7 +270,8 @@ public async Task ParseBatchRequestsAsync_Returns_RequestsFromMultipartContent()
269270 {
270271 new HttpMessageContent ( new HttpRequestMessage ( HttpMethod . Get , "http://example.com/" ) ) ,
271272 new HttpMessageContent ( new HttpRequestMessage ( HttpMethod . Post , "http://example.com/values" ) )
272- }
273+ } ,
274+ RequestUri = new Uri ( "http://example.com/" )
273275 } ;
274276
275277 IList < HttpRequestMessage > requests = await batchHandler . ParseBatchRequestsAsync ( request , CancellationToken . None ) ;
@@ -281,6 +283,29 @@ public async Task ParseBatchRequestsAsync_Returns_RequestsFromMultipartContent()
281283 Assert . Equal ( "http://example.com/values" , requests [ 1 ] . RequestUri . AbsoluteUri ) ;
282284 }
283285
286+ [ Fact ]
287+ public async Task ParseBatchRequestsAsync_Returns_RequestsFromMultipartContent_WithUriSchemeSet_FromRequest ( )
288+ {
289+ DefaultHttpBatchHandler batchHandler = new DefaultHttpBatchHandler ( new HttpServer ( ) ) ;
290+ HttpRequestMessage request = new HttpRequestMessage
291+ {
292+ Content = new MultipartContent ( "mixed" )
293+ {
294+ new HttpMessageContent ( new HttpRequestMessage ( HttpMethod . Get , "http://example.com/" ) ) ,
295+ new HttpMessageContent ( new HttpRequestMessage ( HttpMethod . Post , "https://example.com/values" ) )
296+ } ,
297+ RequestUri = new Uri ( "https://example.com/" )
298+ } ;
299+
300+ IList < HttpRequestMessage > requests = await batchHandler . ParseBatchRequestsAsync ( request , CancellationToken . None ) ;
301+
302+ Assert . Equal ( 2 , requests . Count ) ;
303+ Assert . Equal ( HttpMethod . Get , requests [ 0 ] . Method ) ;
304+ Assert . Equal ( "https://example.com/" , requests [ 0 ] . RequestUri . AbsoluteUri ) ;
305+ Assert . Equal ( HttpMethod . Post , requests [ 1 ] . Method ) ;
306+ Assert . Equal ( "https://example.com/values" , requests [ 1 ] . RequestUri . AbsoluteUri ) ;
307+ }
308+
284309 [ Fact ]
285310 public async Task ParseBatchRequestsAsync_CopiesPropertiesFromRequest_WithoutExcludedProperties ( )
286311 {
@@ -291,7 +316,8 @@ public async Task ParseBatchRequestsAsync_CopiesPropertiesFromRequest_WithoutExc
291316 {
292317 new HttpMessageContent ( new HttpRequestMessage ( HttpMethod . Get , "http://example.com/" ) ) ,
293318 new HttpMessageContent ( new HttpRequestMessage ( HttpMethod . Post , "http://example.com/values" ) )
294- }
319+ } ,
320+ RequestUri = new Uri ( "http://example.com/" )
295321 } ;
296322 request . Properties . Add ( "foo" , "bar" ) ;
297323 request . SetRouteData ( new HttpRouteData ( new HttpRoute ( ) ) ) ;
0 commit comments