using MediaBrowser.Common.Net.Handlers; using MediaBrowser.Model.DTO; using MediaBrowser.Model.Entities; using System.ComponentModel.Composition; using System.Net; using System.Threading.Tasks; namespace MediaBrowser.Api.HttpHandlers { [Export(typeof(BaseHandler))] public class ItemHandler : BaseSerializationHandler { public override bool HandlesRequest(HttpListenerRequest request) { return ApiService.IsApiUrlMatch("item", request); } protected override Task GetObjectToSerialize() { User user = ApiService.GetUserById(QueryString["userid"], true); BaseItem item = ItemToSerialize; if (item == null) { return null; } return ApiService.GetDTOBaseItem(item, user); } protected virtual BaseItem ItemToSerialize { get { return ApiService.GetItemById(QueryString["id"]); } } } }