using MediaBrowser.Common.Implementations.HttpServer;
using MediaBrowser.Controller;
using MediaBrowser.Model.Weather;
using ServiceStack.ServiceHost;
using System.Linq;
using System.Threading;
namespace MediaBrowser.Api
{
///
/// Class Weather
///
[Route("/Weather", "GET")]
[ServiceStack.ServiceHost.Api(Description = "Gets weather information for a given location")]
public class GetWeather : IReturn
{
///
/// Gets or sets the location.
///
/// The location.
[ApiMember(Name = "Location", Description = "Us zip / City, State, Country / City, Country", IsRequired = true, DataType = "string", ParameterType = "query", Verb = "GET")]
public string Location { get; set; }
}
///
/// Class WeatherService
///
public class WeatherService : BaseRestService
{
///
/// Gets the specified request.
///
/// The request.
/// System.Object.
public object Get(GetWeather request)
{
var result = Kernel.Instance.WeatherProviders.First().GetWeatherInfoAsync(request.Location, CancellationToken.None).Result;
return ToOptimizedResult(result);
}
}
}