Skip to content

Commit 83409d2

Browse files
committed
增加请求前后可重写方法
1 parent 9ebd10c commit 83409d2

File tree

1 file changed

+34
-1
lines changed

1 file changed

+34
-1
lines changed

WebApiClient/AuthTokens/AuthTokenFilter.cs

Lines changed: 34 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@ public abstract class AuthTokenFilter : Disposable, IApiActionFilter
2626
/// <returns></returns>
2727
Task IApiActionFilter.OnEndRequestAsync(ApiActionContext context)
2828
{
29-
return ApiTask.CompletedTask;
29+
return this.OnEndRequestAsync(context);
3030
}
3131

3232
/// <summary>
@@ -42,6 +42,7 @@ async Task IApiActionFilter.OnBeginRequestAsync(ApiActionContext context)
4242
}
4343

4444
this.AccessTokenResult(context, this.token);
45+
await this.OnBeginRequestAsync(context).ConfigureAwait(false);
4546
}
4647

4748
/// <summary>
@@ -81,6 +82,38 @@ protected virtual void AccessTokenResult(ApiActionContext context, TokenResult t
8182
context.RequestMessage.Headers.Authorization = new AuthenticationHeaderValue(tokenType, tokenResult.AccessToken);
8283
}
8384

85+
86+
/// <summary>
87+
/// 接口请求完成之后
88+
/// </summary>
89+
/// <param name="context">上下文</param>
90+
/// <returns></returns>
91+
protected virtual Task OnEndRequestAsync(ApiActionContext context)
92+
{
93+
94+
return ApiTask.CompletedTask;
95+
}
96+
97+
/// <summary>
98+
/// 获取token之后
99+
/// 接口准备请求之前
100+
/// </summary>
101+
/// <param name="context">上下文</param>
102+
/// <returns></returns>
103+
protected virtual Task OnBeginRequestAsync(ApiActionContext context)
104+
{
105+
return ApiTask.CompletedTask;
106+
}
107+
108+
/// <summary>
109+
/// 清除Token
110+
/// 迫使下次请求将重新获取token
111+
/// </summary>
112+
protected void ClearToken()
113+
{
114+
this.token = null;
115+
}
116+
84117
/// <summary>
85118
/// 请求获取token
86119
/// 可以使用TokenClient来请求

0 commit comments

Comments
 (0)