jellyfin/Emby.Server.Implementations/Services/UrlExtensions.cs

28 lines
1 KiB
C#
Raw Normal View History

#pragma warning disable CS1591
using System;
2020-04-19 15:18:28 +02:00
using MediaBrowser.Common.Extensions;
2016-11-11 20:55:12 +01:00
2017-02-13 21:54:28 +01:00
namespace Emby.Server.Implementations.Services
2016-11-11 20:55:12 +01:00
{
/// <summary>
/// Donated by Ivan Korneliuk from his post:
/// http://korneliuk.blogspot.com/2012/08/servicestack-reusing-dtos.html
2019-01-08 00:27:46 +01:00
///
/// Modified to only allow using routes matching the supplied HTTP Verb.
2016-11-11 20:55:12 +01:00
/// </summary>
public static class UrlExtensions
{
2017-02-13 21:54:28 +01:00
public static string GetMethodName(this Type type)
2016-11-11 20:55:12 +01:00
{
var typeName = type.FullName != null // can be null, e.g. generic types
2020-04-19 15:18:28 +02: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 20:55:12 +01:00
: type.Name;
return type.IsGenericParameter ? "'" + typeName : typeName;
}
}
}