mirror of
https://github.com/Radarr/Radarr.git
synced 2026-04-20 21:55:03 -04:00
imported signalr 1.1.3 into NzbDrone.
This commit is contained in:
@@ -0,0 +1,50 @@
|
||||
// Copyright (c) Microsoft Open Technologies, Inc. All rights reserved. See License.md in the project root for license information.
|
||||
|
||||
using System;
|
||||
|
||||
namespace Microsoft.AspNet.SignalR.Owin.Infrastructure
|
||||
{
|
||||
internal static class PrefixMatcher
|
||||
{
|
||||
public static bool IsMatch(string pathBase, string path)
|
||||
{
|
||||
pathBase = EnsureStartsWithSlash(pathBase);
|
||||
path = EnsureStartsWithSlash(path);
|
||||
|
||||
var pathLength = path.Length;
|
||||
var pathBaseLength = pathBase.Length;
|
||||
|
||||
if (pathLength < pathBaseLength)
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
if (pathLength > pathBaseLength && path[pathBaseLength] != '/')
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
if (!path.StartsWith(pathBase, StringComparison.OrdinalIgnoreCase))
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
private static string EnsureStartsWithSlash(string path)
|
||||
{
|
||||
if (path.Length == 0)
|
||||
{
|
||||
return path;
|
||||
}
|
||||
|
||||
if (path[0] == '/')
|
||||
{
|
||||
return path;
|
||||
}
|
||||
|
||||
return '/' + path;
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user