diff --git a/InterfaceStubGenerator.Core/InterfaceStubGenerator.cs b/InterfaceStubGenerator.Core/InterfaceStubGenerator.cs
index e8e69152c..9c317b581 100644
--- a/InterfaceStubGenerator.Core/InterfaceStubGenerator.cs
+++ b/InterfaceStubGenerator.Core/InterfaceStubGenerator.cs
@@ -320,9 +320,9 @@ void ProcessRefitMethod(StringBuilder source, IMethodSymbol methodSymbol)
var genericString = genericList.Count > 0 ? $", new global::System.Type[] {{ {string.Join(", ", genericList)} }}" : string.Empty;
source.Append(@$"
- var arguments = new object[] {{ {string.Join(", ", argList)} }};
- var func = requestBuilder.BuildRestResultFuncForMethod(""{methodSymbol.Name}"", new global::System.Type[] {{ {string.Join(", ", typeList)} }}{genericString} );
- return ({methodSymbol.ReturnType.ToDisplayString(SymbolDisplayFormat.FullyQualifiedFormat)})func(Client, arguments);
+ var ______arguments = new object[] {{ {string.Join(", ", argList)} }};
+ var ______func = requestBuilder.BuildRestResultFuncForMethod(""{methodSymbol.Name}"", new global::System.Type[] {{ {string.Join(", ", typeList)} }}{genericString} );
+ return ({methodSymbol.ReturnType.ToDisplayString(SymbolDisplayFormat.FullyQualifiedFormat)})______func(this.Client, ______arguments);
");
WriteMethodClosing(source);
diff --git a/Refit.Tests/InterfaceStubGenerator.cs b/Refit.Tests/InterfaceStubGenerator.cs
index f9e78734b..298792f0e 100644
--- a/Refit.Tests/InterfaceStubGenerator.cs
+++ b/Refit.Tests/InterfaceStubGenerator.cs
@@ -177,105 +177,105 @@ public RefitTestsIGitHubApi(global::System.Net.Http.HttpClient client, global::R
///
global::System.Threading.Tasks.Task global::Refit.Tests.IGitHubApi.GetUser(string @userName)
{
- var arguments = new object[] { @userName };
- var func = requestBuilder.BuildRestResultFuncForMethod(""GetUser"", new global::System.Type[] { typeof(string) } );
- return (global::System.Threading.Tasks.Task)func(Client, arguments);
+ var ______arguments = new object[] { @userName };
+ var ______func = requestBuilder.BuildRestResultFuncForMethod(""GetUser"", new global::System.Type[] { typeof(string) } );
+ return (global::System.Threading.Tasks.Task)______func(this.Client, ______arguments);
}
///
global::System.IObservable global::Refit.Tests.IGitHubApi.GetUserObservable(string @userName)
{
- var arguments = new object[] { @userName };
- var func = requestBuilder.BuildRestResultFuncForMethod(""GetUserObservable"", new global::System.Type[] { typeof(string) } );
- return (global::System.IObservable)func(Client, arguments);
+ var ______arguments = new object[] { @userName };
+ var ______func = requestBuilder.BuildRestResultFuncForMethod(""GetUserObservable"", new global::System.Type[] { typeof(string) } );
+ return (global::System.IObservable)______func(this.Client, ______arguments);
}
///
global::System.IObservable global::Refit.Tests.IGitHubApi.GetUserCamelCase(string @userName)
{
- var arguments = new object[] { @userName };
- var func = requestBuilder.BuildRestResultFuncForMethod(""GetUserCamelCase"", new global::System.Type[] { typeof(string) } );
- return (global::System.IObservable)func(Client, arguments);
+ var ______arguments = new object[] { @userName };
+ var ______func = requestBuilder.BuildRestResultFuncForMethod(""GetUserCamelCase"", new global::System.Type[] { typeof(string) } );
+ return (global::System.IObservable)______func(this.Client, ______arguments);
}
///
global::System.Threading.Tasks.Task> global::Refit.Tests.IGitHubApi.GetOrgMembers(string @orgName, global::System.Threading.CancellationToken @cancellationToken)
{
- var arguments = new object[] { @orgName, @cancellationToken };
- var func = requestBuilder.BuildRestResultFuncForMethod(""GetOrgMembers"", new global::System.Type[] { typeof(string), typeof(global::System.Threading.CancellationToken) } );
- return (global::System.Threading.Tasks.Task>)func(Client, arguments);
+ var ______arguments = new object[] { @orgName, @cancellationToken };
+ var ______func = requestBuilder.BuildRestResultFuncForMethod(""GetOrgMembers"", new global::System.Type[] { typeof(string), typeof(global::System.Threading.CancellationToken) } );
+ return (global::System.Threading.Tasks.Task>)______func(this.Client, ______arguments);
}
///
global::System.Threading.Tasks.Task global::Refit.Tests.IGitHubApi.FindUsers(string @q)
{
- var arguments = new object[] { @q };
- var func = requestBuilder.BuildRestResultFuncForMethod(""FindUsers"", new global::System.Type[] { typeof(string) } );
- return (global::System.Threading.Tasks.Task)func(Client, arguments);
+ var ______arguments = new object[] { @q };
+ var ______func = requestBuilder.BuildRestResultFuncForMethod(""FindUsers"", new global::System.Type[] { typeof(string) } );
+ return (global::System.Threading.Tasks.Task)______func(this.Client, ______arguments);
}
///
global::System.Threading.Tasks.Task global::Refit.Tests.IGitHubApi.GetIndex()
{
- var arguments = new object[] { };
- var func = requestBuilder.BuildRestResultFuncForMethod(""GetIndex"", new global::System.Type[] { } );
- return (global::System.Threading.Tasks.Task)func(Client, arguments);
+ var ______arguments = new object[] { };
+ var ______func = requestBuilder.BuildRestResultFuncForMethod(""GetIndex"", new global::System.Type[] { } );
+ return (global::System.Threading.Tasks.Task)______func(this.Client, ______arguments);
}
///
global::System.IObservable global::Refit.Tests.IGitHubApi.GetIndexObservable()
{
- var arguments = new object[] { };
- var func = requestBuilder.BuildRestResultFuncForMethod(""GetIndexObservable"", new global::System.Type[] { } );
- return (global::System.IObservable)func(Client, arguments);
+ var ______arguments = new object[] { };
+ var ______func = requestBuilder.BuildRestResultFuncForMethod(""GetIndexObservable"", new global::System.Type[] { } );
+ return (global::System.IObservable)______func(this.Client, ______arguments);
}
///
global::System.Threading.Tasks.Task global::Refit.Tests.IGitHubApi.NothingToSeeHere()
{
- var arguments = new object[] { };
- var func = requestBuilder.BuildRestResultFuncForMethod(""NothingToSeeHere"", new global::System.Type[] { } );
- return (global::System.Threading.Tasks.Task)func(Client, arguments);
+ var ______arguments = new object[] { };
+ var ______func = requestBuilder.BuildRestResultFuncForMethod(""NothingToSeeHere"", new global::System.Type[] { } );
+ return (global::System.Threading.Tasks.Task)______func(this.Client, ______arguments);
}
///
global::System.Threading.Tasks.Task> global::Refit.Tests.IGitHubApi.NothingToSeeHereWithMetadata()
{
- var arguments = new object[] { };
- var func = requestBuilder.BuildRestResultFuncForMethod(""NothingToSeeHereWithMetadata"", new global::System.Type[] { } );
- return (global::System.Threading.Tasks.Task>)func(Client, arguments);
+ var ______arguments = new object[] { };
+ var ______func = requestBuilder.BuildRestResultFuncForMethod(""NothingToSeeHereWithMetadata"", new global::System.Type[] { } );
+ return (global::System.Threading.Tasks.Task>)______func(this.Client, ______arguments);
}
///
global::System.Threading.Tasks.Task> global::Refit.Tests.IGitHubApi.GetUserWithMetadata(string @userName)
{
- var arguments = new object[] { @userName };
- var func = requestBuilder.BuildRestResultFuncForMethod(""GetUserWithMetadata"", new global::System.Type[] { typeof(string) } );
- return (global::System.Threading.Tasks.Task>)func(Client, arguments);
+ var ______arguments = new object[] { @userName };
+ var ______func = requestBuilder.BuildRestResultFuncForMethod(""GetUserWithMetadata"", new global::System.Type[] { typeof(string) } );
+ return (global::System.Threading.Tasks.Task>)______func(this.Client, ______arguments);
}
///
global::System.IObservable> global::Refit.Tests.IGitHubApi.GetUserObservableWithMetadata(string @userName)
{
- var arguments = new object[] { @userName };
- var func = requestBuilder.BuildRestResultFuncForMethod(""GetUserObservableWithMetadata"", new global::System.Type[] { typeof(string) } );
- return (global::System.IObservable>)func(Client, arguments);
+ var ______arguments = new object[] { @userName };
+ var ______func = requestBuilder.BuildRestResultFuncForMethod(""GetUserObservableWithMetadata"", new global::System.Type[] { typeof(string) } );
+ return (global::System.IObservable>)______func(this.Client, ______arguments);
}
///
global::System.Threading.Tasks.Task global::Refit.Tests.IGitHubApi.CreateUser(global::Refit.Tests.User @user)
{
- var arguments = new object[] { @user };
- var func = requestBuilder.BuildRestResultFuncForMethod(""CreateUser"", new global::System.Type[] { typeof(global::Refit.Tests.User) } );
- return (global::System.Threading.Tasks.Task)func(Client, arguments);
+ var ______arguments = new object[] { @user };
+ var ______func = requestBuilder.BuildRestResultFuncForMethod(""CreateUser"", new global::System.Type[] { typeof(global::Refit.Tests.User) } );
+ return (global::System.Threading.Tasks.Task)______func(this.Client, ______arguments);
}
///
global::System.Threading.Tasks.Task> global::Refit.Tests.IGitHubApi.CreateUserWithMetadata(global::Refit.Tests.User @user)
{
- var arguments = new object[] { @user };
- var func = requestBuilder.BuildRestResultFuncForMethod(""CreateUserWithMetadata"", new global::System.Type[] { typeof(global::Refit.Tests.User) } );
- return (global::System.Threading.Tasks.Task>)func(Client, arguments);
+ var ______arguments = new object[] { @user };
+ var ______func = requestBuilder.BuildRestResultFuncForMethod(""CreateUserWithMetadata"", new global::System.Type[] { typeof(global::Refit.Tests.User) } );
+ return (global::System.Threading.Tasks.Task>)______func(this.Client, ______arguments);
}
}
}
@@ -317,9 +317,9 @@ public RefitTestsIGitHubApiDisposable(global::System.Net.Http.HttpClient client,
///
global::System.Threading.Tasks.Task global::Refit.Tests.IGitHubApiDisposable.RefitMethod()
{
- var arguments = new object[] { };
- var func = requestBuilder.BuildRestResultFuncForMethod(""RefitMethod"", new global::System.Type[] { } );
- return (global::System.Threading.Tasks.Task)func(Client, arguments);
+ var ______arguments = new object[] { };
+ var ______func = requestBuilder.BuildRestResultFuncForMethod(""RefitMethod"", new global::System.Type[] { } );
+ return (global::System.Threading.Tasks.Task)______func(this.Client, ______arguments);
}
///
@@ -367,65 +367,65 @@ public RefitTestsTestNestedINestedGitHubApi(global::System.Net.Http.HttpClient c
///
global::System.Threading.Tasks.Task global::Refit.Tests.TestNested.INestedGitHubApi.GetUser(string @userName)
{
- var arguments = new object[] { @userName };
- var func = requestBuilder.BuildRestResultFuncForMethod(""GetUser"", new global::System.Type[] { typeof(string) } );
- return (global::System.Threading.Tasks.Task)func(Client, arguments);
+ var ______arguments = new object[] { @userName };
+ var ______func = requestBuilder.BuildRestResultFuncForMethod(""GetUser"", new global::System.Type[] { typeof(string) } );
+ return (global::System.Threading.Tasks.Task)______func(this.Client, ______arguments);
}
///
global::System.IObservable global::Refit.Tests.TestNested.INestedGitHubApi.GetUserObservable(string @userName)
{
- var arguments = new object[] { @userName };
- var func = requestBuilder.BuildRestResultFuncForMethod(""GetUserObservable"", new global::System.Type[] { typeof(string) } );
- return (global::System.IObservable)func(Client, arguments);
+ var ______arguments = new object[] { @userName };
+ var ______func = requestBuilder.BuildRestResultFuncForMethod(""GetUserObservable"", new global::System.Type[] { typeof(string) } );
+ return (global::System.IObservable)______func(this.Client, ______arguments);
}
///
global::System.IObservable global::Refit.Tests.TestNested.INestedGitHubApi.GetUserCamelCase(string @userName)
{
- var arguments = new object[] { @userName };
- var func = requestBuilder.BuildRestResultFuncForMethod(""GetUserCamelCase"", new global::System.Type[] { typeof(string) } );
- return (global::System.IObservable)func(Client, arguments);
+ var ______arguments = new object[] { @userName };
+ var ______func = requestBuilder.BuildRestResultFuncForMethod(""GetUserCamelCase"", new global::System.Type[] { typeof(string) } );
+ return (global::System.IObservable)______func(this.Client, ______arguments);
}
///
global::System.Threading.Tasks.Task> global::Refit.Tests.TestNested.INestedGitHubApi.GetOrgMembers(string @orgName)
{
- var arguments = new object[] { @orgName };
- var func = requestBuilder.BuildRestResultFuncForMethod(""GetOrgMembers"", new global::System.Type[] { typeof(string) } );
- return (global::System.Threading.Tasks.Task>)func(Client, arguments);
+ var ______arguments = new object[] { @orgName };
+ var ______func = requestBuilder.BuildRestResultFuncForMethod(""GetOrgMembers"", new global::System.Type[] { typeof(string) } );
+ return (global::System.Threading.Tasks.Task>)______func(this.Client, ______arguments);
}
///
global::System.Threading.Tasks.Task global::Refit.Tests.TestNested.INestedGitHubApi.FindUsers(string @q)
{
- var arguments = new object[] { @q };
- var func = requestBuilder.BuildRestResultFuncForMethod(""FindUsers"", new global::System.Type[] { typeof(string) } );
- return (global::System.Threading.Tasks.Task)func(Client, arguments);
+ var ______arguments = new object[] { @q };
+ var ______func = requestBuilder.BuildRestResultFuncForMethod(""FindUsers"", new global::System.Type[] { typeof(string) } );
+ return (global::System.Threading.Tasks.Task)______func(this.Client, ______arguments);
}
///
global::System.Threading.Tasks.Task global::Refit.Tests.TestNested.INestedGitHubApi.GetIndex()
{
- var arguments = new object[] { };
- var func = requestBuilder.BuildRestResultFuncForMethod(""GetIndex"", new global::System.Type[] { } );
- return (global::System.Threading.Tasks.Task)func(Client, arguments);
+ var ______arguments = new object[] { };
+ var ______func = requestBuilder.BuildRestResultFuncForMethod(""GetIndex"", new global::System.Type[] { } );
+ return (global::System.Threading.Tasks.Task)______func(this.Client, ______arguments);
}
///
global::System.IObservable global::Refit.Tests.TestNested.INestedGitHubApi.GetIndexObservable()
{
- var arguments = new object[] { };
- var func = requestBuilder.BuildRestResultFuncForMethod(""GetIndexObservable"", new global::System.Type[] { } );
- return (global::System.IObservable)func(Client, arguments);
+ var ______arguments = new object[] { };
+ var ______func = requestBuilder.BuildRestResultFuncForMethod(""GetIndexObservable"", new global::System.Type[] { } );
+ return (global::System.IObservable)______func(this.Client, ______arguments);
}
///
global::System.Threading.Tasks.Task global::Refit.Tests.TestNested.INestedGitHubApi.NothingToSeeHere()
{
- var arguments = new object[] { };
- var func = requestBuilder.BuildRestResultFuncForMethod(""NothingToSeeHere"", new global::System.Type[] { } );
- return (global::System.Threading.Tasks.Task)func(Client, arguments);
+ var ______arguments = new object[] { };
+ var ______func = requestBuilder.BuildRestResultFuncForMethod(""NothingToSeeHere"", new global::System.Type[] { } );
+ return (global::System.Threading.Tasks.Task)______func(this.Client, ______arguments);
}
}
}
@@ -533,17 +533,17 @@ public IServiceWithoutNamespace(global::System.Net.Http.HttpClient client, globa
///
global::System.Threading.Tasks.Task global::IServiceWithoutNamespace.GetRoot()
{
- var arguments = new object[] { };
- var func = requestBuilder.BuildRestResultFuncForMethod(""GetRoot"", new global::System.Type[] { } );
- return (global::System.Threading.Tasks.Task)func(Client, arguments);
+ var ______arguments = new object[] { };
+ var ______func = requestBuilder.BuildRestResultFuncForMethod(""GetRoot"", new global::System.Type[] { } );
+ return (global::System.Threading.Tasks.Task)______func(this.Client, ______arguments);
}
///
global::System.Threading.Tasks.Task global::IServiceWithoutNamespace.PostRoot()
{
- var arguments = new object[] { };
- var func = requestBuilder.BuildRestResultFuncForMethod(""PostRoot"", new global::System.Type[] { } );
- return (global::System.Threading.Tasks.Task)func(Client, arguments);
+ var ______arguments = new object[] { };
+ var ______func = requestBuilder.BuildRestResultFuncForMethod(""PostRoot"", new global::System.Type[] { } );
+ return (global::System.Threading.Tasks.Task)______func(this.Client, ______arguments);
}
}
}
diff --git a/Refit.Tests/RestService.cs b/Refit.Tests/RestService.cs
index 9855240d1..67d264264 100644
--- a/Refit.Tests/RestService.cs
+++ b/Refit.Tests/RestService.cs
@@ -59,6 +59,10 @@ public interface IRequestBin
[Post("/big")]
Task PostBig(BigObject big);
+
+
+ [Get("/foo/{arguments}")]
+ Task SomeApiThatUsesVariableNameFromCodeGen(string arguments);
}
public interface IApiBindPathToObject
@@ -1359,6 +1363,26 @@ public async Task PostToRequestBinWithGenerics()
mockHttp.VerifyNoOutstandingExpectation();
}
+ [Fact]
+ public async Task UseMethodWithArgumentsParameter()
+ {
+ var mockHttp = new MockHttpMessageHandler();
+
+ var settings = new RefitSettings
+ {
+ HttpMessageHandlerFactory = () => mockHttp
+ };
+
+ var fixture = RestService.For("http://httpbin.org/", settings);
+
+ mockHttp.Expect(HttpMethod.Get, "http://httpbin.org/foo/something")
+ .Respond(HttpStatusCode.OK);
+
+ await fixture.SomeApiThatUsesVariableNameFromCodeGen("something");
+
+ mockHttp.VerifyNoOutstandingExpectation();
+ }
+
[Fact]
public async Task CanGetDataOutOfErrorResponses()
{