Skip to content

Commit 54223bf

Browse files
committed
IApiAcitonInterceptor->IHttpApiInterceptor
1 parent 03009d7 commit 54223bf

File tree

9 files changed

+37
-37
lines changed

9 files changed

+37
-37
lines changed

WebApiClientCore.Abstractions/IHttpApiActivator.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -9,8 +9,8 @@ public interface IHttpApiActivator<THttpApi>
99
/// <summary>
1010
/// 创建THttpApi的代理实例
1111
/// </summary>
12-
/// <param name="actionInterceptor">接口方法拦截器</param>
12+
/// <param name="apiInterceptor">接口拦截器</param>
1313
/// <returns></returns>
14-
THttpApi CreateInstance(IApiActionInterceptor actionInterceptor);
14+
THttpApi CreateInstance(IHttpApiInterceptor apiInterceptor);
1515
}
1616
}

WebApiClientCore.Abstractions/IApiActionInterceptor.cs renamed to WebApiClientCore.Abstractions/IHttpApiInterceptor.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
/// <summary>
44
/// 定义方法接口拦截器的行为
55
/// </summary>
6-
public interface IApiActionInterceptor
6+
public interface IHttpApiInterceptor
77
{
88
/// <summary>
99
/// 拦截方法的调用

WebApiClientCore.Analyzers.SourceGenerator/HttpApiCodeBuilder.cs

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ class HttpApiCodeBuilder
2020
/// <summary>
2121
/// 拦截器变量名
2222
/// </summary>
23-
private readonly string actionInterceptorFieldName = $"actionInterceptor_{Environment.TickCount}";
23+
private readonly string apiInterceptorFieldName = $"apiInterceptor_{Environment.TickCount}";
2424

2525
/// <summary>
2626
/// action执行器变量名
@@ -103,14 +103,14 @@ public override string ToString()
103103
builder.AppendLine("\t{");
104104

105105
builder.AppendLine("\t\t[DebuggerBrowsable(DebuggerBrowsableState.Never)]");
106-
builder.AppendLine($"\t\tprivate readonly IApiActionInterceptor {this.actionInterceptorFieldName};");
106+
builder.AppendLine($"\t\tprivate readonly IHttpApiInterceptor {this.apiInterceptorFieldName};");
107107

108108
builder.AppendLine("\t\t[DebuggerBrowsable(DebuggerBrowsableState.Never)]");
109109
builder.AppendLine($"\t\tprivate readonly ApiActionInvoker[] {this.actionInvokersFieldName};");
110110

111-
builder.AppendLine($"\t\tpublic {this.CtorName}(IApiActionInterceptor actionInterceptor,ApiActionInvoker[] actionInvokers)");
111+
builder.AppendLine($"\t\tpublic {this.CtorName}(IHttpApiInterceptor apiInterceptor,ApiActionInvoker[] actionInvokers)");
112112
builder.AppendLine("\t\t{");
113-
builder.AppendLine($"\t\t\tthis.{this.actionInterceptorFieldName} = actionInterceptor;");
113+
builder.AppendLine($"\t\t\tthis.{this.apiInterceptorFieldName} = apiInterceptor;");
114114
builder.AppendLine($"\t\t\tthis.{this.actionInvokersFieldName} = actionInvokers;");
115115
builder.AppendLine("\t\t}");
116116

@@ -158,7 +158,7 @@ private string BuildMethod(IMethodSymbol method, int index)
158158

159159
builder.AppendLine($"\t\tpublic {method.ReturnType} {method.Name}( {parametersString} )");
160160
builder.AppendLine("\t\t{");
161-
builder.AppendLine($"\t\t\treturn ({method.ReturnType})this.{this.actionInterceptorFieldName}.Intercept(this.{this.actionInvokersFieldName}[{index}], new object[] {{ {parameterNamesString} }});");
161+
builder.AppendLine($"\t\t\treturn ({method.ReturnType})this.{this.apiInterceptorFieldName}.Intercept(this.{this.actionInvokersFieldName}[{index}], new object[] {{ {parameterNamesString} }});");
162162
builder.AppendLine("\t\t}");
163163
return builder.ToString();
164164
}

WebApiClientCore.Extensions.SourceGenerator/Implementations/HttpApiSourceGeneratorActivator.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -29,12 +29,12 @@ public HttpApiSourceGeneratorActivator(IApiActionDescriptorProvider apiActionDes
2929
/// </summary>
3030
/// <exception cref="ProxyTypeCreateException"></exception>
3131
/// <returns></returns>
32-
protected override Func<IApiActionInterceptor, ApiActionInvoker[], THttpApi> CreateFactory()
32+
protected override Func<IHttpApiInterceptor, ApiActionInvoker[], THttpApi> CreateFactory()
3333
{
3434
var proxyType = FindProxyType(typeof(THttpApi));
3535
if (proxyType != null)
3636
{
37-
return LambdaUtil.CreateCtorFunc<IApiActionInterceptor, ApiActionInvoker[], THttpApi>(proxyType);
37+
return LambdaUtil.CreateCtorFunc<IHttpApiInterceptor, ApiActionInvoker[], THttpApi>(proxyType);
3838
}
3939

4040
var message = $"找不到{typeof(THttpApi)}的代理类";

WebApiClientCore/DependencyInjection/HttpApiExtensions.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -30,9 +30,9 @@ public static IHttpClientBuilder AddHttpApi<THttpApi>(this IServiceCollection se
3030
var httpClient = serviceProvider.GetRequiredService<IHttpClientFactory>().CreateClient(name);
3131
var httpApiOptions = serviceProvider.GetRequiredService<IOptionsMonitor<HttpApiOptions>>().Get(name);
3232
var httpClientContext = new HttpClientContext(httpClient, serviceProvider, httpApiOptions, name);
33-
var actionInterceptor = new ApiActionInterceptor(httpClientContext);
33+
var httpApiInterceptor = new HttpApiInterceptor(httpClientContext);
3434
var httpApiActivator = serviceProvider.GetRequiredService<IHttpApiActivator<THttpApi>>();
35-
return httpApiActivator.CreateInstance(actionInterceptor);
35+
return httpApiActivator.CreateInstance(httpApiInterceptor);
3636
});
3737

3838
return services.AddHttpClient(name);

WebApiClientCore/Implementations/HttpApiActivator.cs

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ public abstract class HttpApiActivator<THttpApi> : IHttpApiActivator<THttpApi>
1818
/// <summary>
1919
/// 创建工厂
2020
/// </summary>
21-
private readonly Func<IApiActionInterceptor, ApiActionInvoker[], THttpApi> factory;
21+
private readonly Func<IHttpApiInterceptor, ApiActionInvoker[], THttpApi> factory;
2222

2323
/// <summary>
2424
/// 获取接口的所有方法
@@ -49,16 +49,16 @@ public HttpApiActivator(IApiActionDescriptorProvider actionDescriptorProvider, I
4949
/// 创建实例工厂
5050
/// </summary>
5151
/// <returns></returns>
52-
protected abstract Func<IApiActionInterceptor, ApiActionInvoker[], THttpApi> CreateFactory();
52+
protected abstract Func<IHttpApiInterceptor, ApiActionInvoker[], THttpApi> CreateFactory();
5353

5454
/// <summary>
5555
/// 创建接口的实例
5656
/// </summary>
57-
/// <param name="actionInterceptor">拦截器</param>
57+
/// <param name="apiInterceptor">接口拦截器</param>
5858
/// <returns></returns>
59-
public THttpApi CreateInstance(IApiActionInterceptor actionInterceptor)
59+
public THttpApi CreateInstance(IHttpApiInterceptor apiInterceptor)
6060
{
61-
return this.factory(actionInterceptor, this.actionInvokers);
61+
return this.factory(apiInterceptor, this.actionInvokers);
6262
}
6363
}
6464
}

WebApiClientCore/Implementations/HttpApiEmitActivator.cs

Lines changed: 18 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -14,15 +14,15 @@ namespace WebApiClientCore.Implementations
1414
public class HttpApiEmitActivator<THttpApi> : HttpApiActivator<THttpApi>
1515
{
1616
/// <summary>
17-
/// IApiActionInterceptor的Intercept方法
17+
/// IHttpApiInterceptor的Intercept方法
1818
/// </summary>
19-
private static readonly MethodInfo interceptMethod = typeof(IApiActionInterceptor).GetMethod(nameof(IApiActionInterceptor.Intercept)) ?? throw new MissingMethodException(nameof(IApiActionInterceptor.Intercept));
19+
private static readonly MethodInfo interceptMethod = typeof(IHttpApiInterceptor).GetMethod(nameof(IHttpApiInterceptor.Intercept)) ?? throw new MissingMethodException(nameof(IHttpApiInterceptor.Intercept));
2020

2121
/// <summary>
2222
/// 代理类型的构造器的参数类型
23-
/// (IApiActionInterceptor interceptor,ApiActionInvoker[] actionInvokers)
23+
/// (IHttpApiInterceptor interceptor,ApiActionInvoker[] actionInvokers)
2424
/// </summary>
25-
private static readonly Type[] proxyTypeCtorArgTypes = new Type[] { typeof(IApiActionInterceptor), typeof(ApiActionInvoker[]) };
25+
private static readonly Type[] proxyTypeCtorArgTypes = new Type[] { typeof(IHttpApiInterceptor), typeof(ApiActionInvoker[]) };
2626

2727

2828
/// <summary>
@@ -43,10 +43,10 @@ public HttpApiEmitActivator(IApiActionDescriptorProvider apiActionDescriptorProv
4343
/// <exception cref="NotSupportedException"></exception>
4444
/// <exception cref="ProxyTypeCreateException"></exception>
4545
/// <returns></returns>
46-
protected override Func<IApiActionInterceptor, ApiActionInvoker[], THttpApi> CreateFactory()
46+
protected override Func<IHttpApiInterceptor, ApiActionInvoker[], THttpApi> CreateFactory()
4747
{
4848
var proxyType = BuildProxyType(typeof(THttpApi), this.ApiMethods);
49-
return LambdaUtil.CreateCtorFunc<IApiActionInterceptor, ApiActionInvoker[], THttpApi>(proxyType);
49+
return LambdaUtil.CreateCtorFunc<IHttpApiInterceptor, ApiActionInvoker[], THttpApi>(proxyType);
5050
}
5151

5252
/// <summary>
@@ -77,11 +77,11 @@ private static Type BuildProxyType(Type interfaceType, MethodInfo[] apiMethods)
7777
var builder = module.DefineType(typeName, System.Reflection.TypeAttributes.Class);
7878
builder.AddInterfaceImplementation(interfaceType);
7979

80-
var fieldActionInterceptor = BuildField(builder, "<>actionInterceptor", typeof(IApiActionInterceptor));
80+
var fieldApiInterceptor = BuildField(builder, "<>apiInterceptor", typeof(IHttpApiInterceptor));
8181
var fieldActionInvokers = BuildField(builder, "<>actionInvokers", typeof(ApiActionInvoker[]));
8282

83-
BuildCtor(builder, fieldActionInterceptor, fieldActionInvokers);
84-
BuildMethods(builder, apiMethods, fieldActionInterceptor, fieldActionInvokers);
83+
BuildCtor(builder, fieldApiInterceptor, fieldActionInvokers);
84+
BuildMethods(builder, apiMethods, fieldApiInterceptor, fieldActionInvokers);
8585

8686
var proxyType = builder.CreateType();
8787
return proxyType ?? throw new ProxyTypeCreateException(interfaceType);
@@ -104,20 +104,20 @@ private static FieldBuilder BuildField(TypeBuilder builder, string fieldName, Ty
104104
/// 生成代理类型的构造器
105105
/// </summary>
106106
/// <param name="builder">类型生成器</param>
107-
/// <param name="fieldActionInterceptor">拦截器字段</param>
107+
/// <param name="fieldApiInterceptor">拦截器字段</param>
108108
/// <param name="fieldActionInvokers">action执行器字段</param>
109109
/// <returns></returns>
110-
private static void BuildCtor(TypeBuilder builder, FieldBuilder fieldActionInterceptor, FieldBuilder fieldActionInvokers)
110+
private static void BuildCtor(TypeBuilder builder, FieldBuilder fieldApiInterceptor, FieldBuilder fieldActionInvokers)
111111
{
112-
// .ctor(IApiActionInterceptor actionInterceptor, ApiActionInvoker[] actionInvokers)
112+
// .ctor(IHttpApiInterceptor apiInterceptor, ApiActionInvoker[] actionInvokers)
113113
var ctor = builder.DefineConstructor(MethodAttributes.Public, CallingConventions.Standard, proxyTypeCtorArgTypes);
114114

115115
var il = ctor.GetILGenerator();
116116

117-
// this.actionInterceptor = 第一个参数
117+
// this.apiInterceptor = 第一个参数
118118
il.Emit(OpCodes.Ldarg_0);
119119
il.Emit(OpCodes.Ldarg_1);
120-
il.Emit(OpCodes.Stfld, fieldActionInterceptor);
120+
il.Emit(OpCodes.Stfld, fieldApiInterceptor);
121121

122122
// this.actionInvokers = 第二个参数
123123
il.Emit(OpCodes.Ldarg_0);
@@ -132,9 +132,9 @@ private static void BuildCtor(TypeBuilder builder, FieldBuilder fieldActionInter
132132
/// </summary>
133133
/// <param name="builder">类型生成器</param>
134134
/// <param name="actionMethods">接口的方法</param>
135-
/// <param name="fieldActionInterceptor">拦截器字段</param>
135+
/// <param name="fieldApiInterceptor">拦截器字段</param>
136136
/// <param name="fieldActionInvokers">action执行器字段</param>
137-
private static void BuildMethods(TypeBuilder builder, MethodInfo[] actionMethods, FieldBuilder fieldActionInterceptor, FieldBuilder fieldActionInvokers)
137+
private static void BuildMethods(TypeBuilder builder, MethodInfo[] actionMethods, FieldBuilder fieldApiInterceptor, FieldBuilder fieldActionInvokers)
138138
{
139139
const MethodAttributes implementAttribute = MethodAttributes.Public | MethodAttributes.Virtual | MethodAttributes.Final | MethodAttributes.NewSlot | MethodAttributes.HideBySig;
140140

@@ -148,9 +148,9 @@ private static void BuildMethods(TypeBuilder builder, MethodInfo[] actionMethods
148148
.DefineMethod(actionMethod.Name, implementAttribute, CallingConventions.Standard, actionMethod.ReturnType, parameterTypes)
149149
.GetILGenerator();
150150

151-
// this.actionInterceptor
151+
// this.apiInterceptor
152152
iL.Emit(OpCodes.Ldarg_0);
153-
iL.Emit(OpCodes.Ldfld, fieldActionInterceptor);
153+
iL.Emit(OpCodes.Ldfld, fieldApiInterceptor);
154154

155155
// this.actionInvokers[i]
156156
iL.Emit(OpCodes.Ldarg_0);

WebApiClientCore/Implementations/ApiActionInterceptor.cs renamed to WebApiClientCore/Implementations/HttpApiInterceptor.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
/// <summary>
44
/// 表示httpApi方法调用的拦截器
55
/// </summary>
6-
sealed class ApiActionInterceptor : IApiActionInterceptor
6+
sealed class HttpApiInterceptor : IHttpApiInterceptor
77
{
88
/// <summary>
99
/// 服务上下文
@@ -14,7 +14,7 @@ sealed class ApiActionInterceptor : IApiActionInterceptor
1414
/// httpApi方法调用的拦截器
1515
/// </summary>
1616
/// <param name="context">服务上下文</param>
17-
public ApiActionInterceptor(HttpClientContext context)
17+
public HttpApiInterceptor(HttpClientContext context)
1818
{
1919
this.context = context;
2020
}

0 commit comments

Comments
 (0)