jellyfin/MediaBrowser.Api/WeatherService.cs

43 lines
1.4 KiB
C#
Raw Normal View History

2013-02-26 14:05:52 -07:00
using MediaBrowser.Common.Implementations.HttpServer;
using MediaBrowser.Controller;
2013-02-20 18:33:05 -07:00
using MediaBrowser.Model.Weather;
using ServiceStack.ServiceHost;
using System.Linq;
using System.Threading;
namespace MediaBrowser.Api
{
/// <summary>
/// Class Weather
/// </summary>
[Route("/Weather", "GET")]
2013-03-04 22:08:27 -07:00
[ServiceStack.ServiceHost.Api(Description = "Gets weather information for a given location")]
2013-02-20 18:33:05 -07:00
public class GetWeather : IReturn<WeatherInfo>
{
/// <summary>
/// Gets or sets the location.
/// </summary>
/// <value>The location.</value>
2013-03-04 22:08:27 -07:00
[ApiMember(Name = "Location", Description = "Us zip / City, State, Country / City, Country", IsRequired = true, DataType = "string", ParameterType = "query", Verb = "GET")]
2013-02-20 18:33:05 -07:00
public string Location { get; set; }
}
/// <summary>
/// Class WeatherService
/// </summary>
public class WeatherService : BaseRestService
{
/// <summary>
/// Gets the specified request.
/// </summary>
/// <param name="request">The request.</param>
/// <returns>System.Object.</returns>
public object Get(GetWeather request)
{
2013-03-03 22:43:06 -07:00
var result = Kernel.Instance.WeatherProviders.First().GetWeatherInfoAsync(request.Location, CancellationToken.None).Result;
2013-02-20 18:33:05 -07:00
return ToOptimizedResult(result);
}
}
}