aboutsummaryrefslogtreecommitdiff
path: root/Jellyfin.Api/Helpers/RequestHelpers.cs
diff options
context:
space:
mode:
authorDavid <daullmer@gmail.com>2020-06-20 20:55:09 +0200
committerGitHub <noreply@github.com>2020-06-20 20:55:09 +0200
commit576ffeb2a99e79caf0035eb9166436d1e0161d2c (patch)
tree01217f621de90c0d95ae5b5dddfec0e32308ba2c /Jellyfin.Api/Helpers/RequestHelpers.cs
parent804764e1fbf71e083479fc4069f90bab96faa84f (diff)
parentd4c86b82e03352f7bab92f5fe05686891af1cd3e (diff)
Merge pull request #3324 from Ullmie02/api-sessionservice
Move SessionService to Jellyfin.Api
Diffstat (limited to 'Jellyfin.Api/Helpers/RequestHelpers.cs')
-rw-r--r--Jellyfin.Api/Helpers/RequestHelpers.cs21
1 files changed, 21 insertions, 0 deletions
diff --git a/Jellyfin.Api/Helpers/RequestHelpers.cs b/Jellyfin.Api/Helpers/RequestHelpers.cs
index 6d6acbcf9..2ff40a8a5 100644
--- a/Jellyfin.Api/Helpers/RequestHelpers.cs
+++ b/Jellyfin.Api/Helpers/RequestHelpers.cs
@@ -1,6 +1,7 @@
using System;
using Jellyfin.Data.Enums;
using MediaBrowser.Controller.Net;
+using MediaBrowser.Controller.Session;
using Microsoft.AspNetCore.Http;
namespace Jellyfin.Api.Helpers
@@ -52,5 +53,25 @@ namespace Jellyfin.Api.Helpers
return true;
}
+
+ internal static SessionInfo GetSession(ISessionManager sessionManager, IAuthorizationContext authContext, HttpRequest request)
+ {
+ var authorization = authContext.GetAuthorizationInfo(request);
+ var user = authorization.User;
+ var session = sessionManager.LogSessionActivity(
+ authorization.Client,
+ authorization.Version,
+ authorization.DeviceId,
+ authorization.Device,
+ request.HttpContext.Connection.RemoteIpAddress.ToString(),
+ user);
+
+ if (session == null)
+ {
+ throw new ArgumentException("Session not found.");
+ }
+
+ return session;
+ }
}
}