1
0
Fork 0
mirror of https://github.com/lidarr/Lidarr synced 2024-12-24 16:51:58 +00:00

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

View file

@ -11,7 +11,7 @@ public abstract class RestModule<TResource> : NancyModule
where TResource : RestResource, new() where TResource : RestResource, new()
{ {
private const string ROOT_ROUTE = "/"; 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 Action<int> _deleteResource;
private Func<int, TResource> _getResourceById; private Func<int, TResource> _getResourceById;
@ -55,10 +55,16 @@ protected Func<int, TResource> GetResourceById
{ {
_getResourceById = value; _getResourceById = value;
Get[ID_ROUTE] = options => Get[ID_ROUTE] = options =>
{ {
var resource = GetResourceById((int)options.Id); int id;
return resource.AsResponse(); if (!Int32.TryParse(options.Id, out id))
}; {
throw new NotImplementedException();
}
var resource = GetResourceById((int)options.Id);
return resource.AsResponse();
};
} }
} }