mirror of
https://github.com/jellyfin/jellyfin.git
synced 2025-12-23 09:14:45 +03:00
update portable projects
This commit is contained in:
33
ServiceStack/UrlExtensions.cs
Normal file
33
ServiceStack/UrlExtensions.cs
Normal file
@@ -0,0 +1,33 @@
|
||||
using System;
|
||||
|
||||
namespace ServiceStack
|
||||
{
|
||||
/// <summary>
|
||||
/// Donated by Ivan Korneliuk from his post:
|
||||
/// http://korneliuk.blogspot.com/2012/08/servicestack-reusing-dtos.html
|
||||
///
|
||||
/// Modified to only allow using routes matching the supplied HTTP Verb
|
||||
/// </summary>
|
||||
public static class UrlExtensions
|
||||
{
|
||||
public static string GetOperationName(this Type type)
|
||||
{
|
||||
var typeName = type.FullName != null //can be null, e.g. generic types
|
||||
? LeftPart(type.FullName, "[[") //Generic Fullname
|
||||
.Replace(type.Namespace + ".", "") //Trim Namespaces
|
||||
.Replace("+", ".") //Convert nested into normal type
|
||||
: type.Name;
|
||||
|
||||
return type.IsGenericParameter ? "'" + typeName : typeName;
|
||||
}
|
||||
|
||||
public static string LeftPart(string strVal, string needle)
|
||||
{
|
||||
if (strVal == null) return null;
|
||||
var pos = strVal.IndexOf(needle, StringComparison.OrdinalIgnoreCase);
|
||||
return pos == -1
|
||||
? strVal
|
||||
: strVal.Substring(0, pos);
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user