mirror of
				https://github.com/jellyfin/jellyfin.git
				synced 2025-10-30 18:22:48 -04:00 
			
		
		
		
	
		
			
				
	
	
		
			33 lines
		
	
	
		
			1.1 KiB
		
	
	
	
		
			C#
		
	
	
	
	
	
			
		
		
	
	
			33 lines
		
	
	
		
			1.1 KiB
		
	
	
	
		
			C#
		
	
	
	
	
	
| 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);
 | |
|         }
 | |
|     }
 | |
| } |