ItemHandler.cs 1.0 KB

1234567891011121314151617181920212223242526272829303132333435
  1. using MediaBrowser.Common.Net.Handlers;
  2. using MediaBrowser.Controller.Entities;
  3. using MediaBrowser.Model.DTO;
  4. using System.ComponentModel.Composition;
  5. using System.Net;
  6. using System.Threading.Tasks;
  7. namespace MediaBrowser.Api.HttpHandlers
  8. {
  9. /// <summary>
  10. /// Provides a handler to retrieve a single item
  11. /// </summary>
  12. [Export(typeof(BaseHandler))]
  13. public class ItemHandler : BaseSerializationHandler<DtoBaseItem>
  14. {
  15. public override bool HandlesRequest(HttpListenerRequest request)
  16. {
  17. return ApiService.IsApiUrlMatch("item", request);
  18. }
  19. protected override Task<DtoBaseItem> GetObjectToSerialize()
  20. {
  21. User user = ApiService.GetUserById(QueryString["userid"], true);
  22. BaseItem item = ApiService.GetItemById(QueryString["id"]);
  23. if (item == null)
  24. {
  25. return null;
  26. }
  27. return ApiService.GetDtoBaseItem(item, user);
  28. }
  29. }
  30. }