File tree Expand file tree Collapse file tree 1 file changed +9
-6
lines changed
WebApiClientCore/Attributes/ParameterAttributes Expand file tree Collapse file tree 1 file changed +9
-6
lines changed Original file line number Diff line number Diff line change @@ -19,8 +19,7 @@ public class UriAttribute : ApiParameterAttribute
1919 /// <returns></returns>
2020 public override Task OnRequestAsync ( ApiParameterContext context )
2121 {
22- var uriString = context . ParameterValue ? . ToString ( ) ;
23- if ( uriString == null )
22+ if ( context . ParameterValue == null )
2423 {
2524 throw new ArgumentNullException ( context . Parameter . Name ) ;
2625 }
@@ -30,10 +29,14 @@ public override Task OnRequestAsync(ApiParameterContext context)
3029 throw new ApiInvalidConfigException ( Resx . invalid_UriAttribute ) ;
3130 }
3231
33- var relative = new Uri ( uriString , UriKind . RelativeOrAbsolute ) ;
34- if ( relative . IsAbsoluteUri == true )
32+ if ( ! ( context . ParameterValue is Uri uri ) )
3533 {
36- context . HttpContext . RequestMessage . RequestUri = relative ;
34+ uri = new Uri ( context . ParameterValue . ToString ( ) , UriKind . RelativeOrAbsolute ) ;
35+ }
36+
37+ if ( uri . IsAbsoluteUri == true )
38+ {
39+ context . HttpContext . RequestMessage . RequestUri = uri ;
3740 }
3841 else
3942 {
@@ -42,7 +45,7 @@ public override Task OnRequestAsync(ApiParameterContext context)
4245 {
4346 throw new ApiInvalidConfigException ( Resx . required_HttpHost ) ;
4447 }
45- context . HttpContext . RequestMessage . RequestUri = new Uri ( baseUri , relative ) ;
48+ context . HttpContext . RequestMessage . RequestUri = new Uri ( baseUri , uri ) ;
4649 }
4750 return Task . CompletedTask ;
4851 }
You can’t perform that action at this time.
0 commit comments