WeatherHandler.cs 1.1 KB

123456789101112131415161718192021222324252627282930313233343536
  1. using System;
  2. using System.Threading.Tasks;
  3. using MediaBrowser.Common.Net.Handlers;
  4. using MediaBrowser.Controller;
  5. using MediaBrowser.Model.Weather;
  6. namespace MediaBrowser.Api.HttpHandlers
  7. {
  8. class WeatherHandler : BaseSerializationHandler<WeatherInfo>
  9. {
  10. protected override Task<WeatherInfo> GetObjectToSerialize()
  11. {
  12. // If a specific zip code was requested on the query string, use that. Otherwise use the value from configuration
  13. string zipCode = QueryString["zipcode"];
  14. if (string.IsNullOrWhiteSpace(zipCode))
  15. {
  16. zipCode = Kernel.Instance.Configuration.WeatherZipCode;
  17. }
  18. return Kernel.Instance.WeatherClient.GetWeatherInfoAsync(zipCode);
  19. }
  20. /// <summary>
  21. /// Tell the client to cache the weather info for 15 minutes
  22. /// </summary>
  23. public override TimeSpan CacheDuration
  24. {
  25. get
  26. {
  27. return TimeSpan.FromMinutes(15);
  28. }
  29. }
  30. }
  31. }