updated rest routing to only match numeric IDs.

eg.
Match: api/series/12
No Match: api/series/abc
This commit is contained in:
kay.one 2013-04-25 23:12:11 -07:00
parent cf9f8b3f8a
commit 36c0e50c23
1 changed files with 11 additions and 5 deletions

View File

@ -11,7 +11,7 @@ namespace NzbDrone.Api.REST
where TResource : RestResource, new()
{
private const string ROOT_ROUTE = "/";
private const string ID_ROUTE = "/{id}";
private const string ID_ROUTE = @"/(?<id>[\d]{1,7})";
private Action<int> _deleteResource;
private Func<int, TResource> _getResourceById;
@ -55,10 +55,16 @@ namespace NzbDrone.Api.REST
{
_getResourceById = value;
Get[ID_ROUTE] = options =>
{
var resource = GetResourceById((int)options.Id);
return resource.AsResponse();
};
{
int id;
if (!Int32.TryParse(options.Id, out id))
{
throw new NotImplementedException();
}
var resource = GetResourceById((int)options.Id);
return resource.AsResponse();
};
}
}