diff options
author | crupest <crupest@outlook.com> | 2020-06-04 00:40:19 +0800 |
---|---|---|
committer | crupest <crupest@outlook.com> | 2020-06-04 00:40:19 +0800 |
commit | 1e918584d1d11525ef7d13fef47fb5a9b84bd1b1 (patch) | |
tree | cc8bc62992b35397f334477b7a591993b00001b8 /Timeline/Models/Http | |
parent | 1b9f4bfb2242589463c70b4ad2c77cfc8f79afb0 (diff) | |
download | timeline-1e918584d1d11525ef7d13fef47fb5a9b84bd1b1.tar.gz timeline-1e918584d1d11525ef7d13fef47fb5a9b84bd1b1.tar.bz2 timeline-1e918584d1d11525ef7d13fef47fb5a9b84bd1b1.zip |
chore(back): Fix some warnings.
Diffstat (limited to 'Timeline/Models/Http')
-rw-r--r-- | Timeline/Models/Http/ActionContextAccessorExtensions.cs | 14 | ||||
-rw-r--r-- | Timeline/Models/Http/Timeline.cs | 15 | ||||
-rw-r--r-- | Timeline/Models/Http/UserInfo.cs | 5 |
3 files changed, 21 insertions, 13 deletions
diff --git a/Timeline/Models/Http/ActionContextAccessorExtensions.cs b/Timeline/Models/Http/ActionContextAccessorExtensions.cs new file mode 100644 index 00000000..bcc55c5a --- /dev/null +++ b/Timeline/Models/Http/ActionContextAccessorExtensions.cs @@ -0,0 +1,14 @@ +using Microsoft.AspNetCore.Mvc;
+using Microsoft.AspNetCore.Mvc.Infrastructure;
+using System;
+
+namespace Timeline.Models.Http
+{
+ public static class ActionContextAccessorExtensions
+ {
+ public static ActionContext AssertActionContextForUrlFill(this IActionContextAccessor accessor)
+ {
+ return accessor.ActionContext ?? throw new InvalidOperationException(Resources.Models.Http.Exception.ActionContextNull);
+ }
+ }
+}
diff --git a/Timeline/Models/Http/Timeline.cs b/Timeline/Models/Http/Timeline.cs index 9e2aefd0..fb767f10 100644 --- a/Timeline/Models/Http/Timeline.cs +++ b/Timeline/Models/Http/Timeline.cs @@ -58,11 +58,8 @@ namespace Timeline.Models.Http public TimelineInfoLinks Resolve(Timeline source, TimelineInfo destination, TimelineInfoLinks destMember, ResolutionContext context)
{
- if (_actionContextAccessor.ActionContext == null)
- throw new InvalidOperationException("No action context, can't fill urls.");
-
- var urlHelper = _urlHelperFactory.GetUrlHelper(_actionContextAccessor.ActionContext);
-
+ var actionContext = _actionContextAccessor.AssertActionContextForUrlFill();
+ var urlHelper = _urlHelperFactory.GetUrlHelper(actionContext);
return new TimelineInfoLinks
{
@@ -85,10 +82,8 @@ namespace Timeline.Models.Http public TimelinePostContentInfo Resolve(TimelinePost source, TimelinePostInfo destination, TimelinePostContentInfo destMember, ResolutionContext context)
{
- if (_actionContextAccessor.ActionContext == null)
- throw new InvalidOperationException("No action context, can't fill urls.");
-
- var urlHelper = _urlHelperFactory.GetUrlHelper(_actionContextAccessor.ActionContext);
+ var actionContext = _actionContextAccessor.AssertActionContextForUrlFill();
+ var urlHelper = _urlHelperFactory.GetUrlHelper(actionContext);
var sourceContent = source.Content;
@@ -113,7 +108,7 @@ namespace Timeline.Models.Http }
else
{
- throw new InvalidOperationException("Unknown content type.");
+ throw new InvalidOperationException(Resources.Models.Http.Exception.UnknownPostContentType);
}
}
}
diff --git a/Timeline/Models/Http/UserInfo.cs b/Timeline/Models/Http/UserInfo.cs index b4bf14c1..0acb1a80 100644 --- a/Timeline/Models/Http/UserInfo.cs +++ b/Timeline/Models/Http/UserInfo.cs @@ -37,10 +37,9 @@ namespace Timeline.Models.Http public UserInfoLinks Resolve(User source, UserInfo destination, UserInfoLinks destMember, ResolutionContext context)
{
- if (_actionContextAccessor.ActionContext == null)
- throw new InvalidOperationException("No action context, can't fill urls.");
+ var actionContext = _actionContextAccessor.AssertActionContextForUrlFill();
+ var urlHelper = _urlHelperFactory.GetUrlHelper(actionContext);
- var urlHelper = _urlHelperFactory.GetUrlHelper(_actionContextAccessor.ActionContext);
var result = new UserInfoLinks
{
Self = urlHelper.ActionLink(nameof(UserController.Get), nameof(UserController)[0..^nameof(Controller).Length], new { destination.Username }),
|