2020-05-29 05:28:19 -04:00
|
|
|
#pragma warning disable CS1591
|
|
|
|
|
2019-01-13 14:54:44 -05:00
|
|
|
using System;
|
2020-04-19 09:18:28 -04:00
|
|
|
using MediaBrowser.Common.Extensions;
|
2016-11-11 14:55:12 -05:00
|
|
|
|
2017-02-13 15:54:28 -05:00
|
|
|
namespace Emby.Server.Implementations.Services
|
2016-11-11 14:55:12 -05:00
|
|
|
{
|
|
|
|
/// <summary>
|
|
|
|
/// Donated by Ivan Korneliuk from his post:
|
|
|
|
/// http://korneliuk.blogspot.com/2012/08/servicestack-reusing-dtos.html
|
2019-01-07 18:27:46 -05:00
|
|
|
///
|
2020-06-15 18:37:52 -04:00
|
|
|
/// Modified to only allow using routes matching the supplied HTTP Verb.
|
2016-11-11 14:55:12 -05:00
|
|
|
/// </summary>
|
|
|
|
public static class UrlExtensions
|
|
|
|
{
|
2017-02-13 15:54:28 -05:00
|
|
|
public static string GetMethodName(this Type type)
|
2016-11-11 14:55:12 -05:00
|
|
|
{
|
2019-09-02 02:19:29 -04:00
|
|
|
var typeName = type.FullName != null // can be null, e.g. generic types
|
2020-04-19 09:18:28 -04:00
|
|
|
? StringExtensions.LeftPart(type.FullName, "[[", StringComparison.Ordinal).ToString() // Generic Fullname
|
|
|
|
.Replace(type.Namespace + ".", string.Empty, StringComparison.Ordinal) // Trim Namespaces
|
|
|
|
.Replace("+", ".", StringComparison.Ordinal) // Convert nested into normal type
|
2016-11-11 14:55:12 -05:00
|
|
|
: type.Name;
|
|
|
|
|
|
|
|
return type.IsGenericParameter ? "'" + typeName : typeName;
|
|
|
|
}
|
|
|
|
}
|
2019-01-13 14:30:03 -05:00
|
|
|
}
|