mirror of
				https://github.com/TeaOSLab/EdgeAPI.git
				synced 2025-11-04 16:00:24 +08:00 
			
		
		
		
	
		
			
	
	
		
			27 lines
		
	
	
		
			640 B
		
	
	
	
		
			Go
		
	
	
	
	
	
		
		
			
		
	
	
			27 lines
		
	
	
		
			640 B
		
	
	
	
		
			Go
		
	
	
	
	
	
| 
								 | 
							
								// Copyright 2022 Liuxiangchao iwind.liu@gmail.com. All rights reserved. Official site: https://goedge.cn .
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								package utils
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								import (
							 | 
						||
| 
								 | 
							
									"regexp"
							 | 
						||
| 
								 | 
							
									"strings"
							 | 
						||
| 
								 | 
							
								)
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								var cacheKeyDomainReg1 = regexp.MustCompile(`^(?i)(?:http|https)://([\w-.]+)`)
							 | 
						||
| 
								 | 
							
								var cacheKeyDomainReg2 = regexp.MustCompile(`^([\w-.]+)`)
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								// ParseDomainFromKey 从Key中获取域名
							 | 
						||
| 
								 | 
							
								func ParseDomainFromKey(key string) (domain string) {
							 | 
						||
| 
								 | 
							
									var pieces = cacheKeyDomainReg1.FindStringSubmatch(key)
							 | 
						||
| 
								 | 
							
									if len(pieces) > 1 {
							 | 
						||
| 
								 | 
							
										return strings.ToLower(pieces[1])
							 | 
						||
| 
								 | 
							
									}
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
									pieces = cacheKeyDomainReg2.FindStringSubmatch(key)
							 | 
						||
| 
								 | 
							
									if len(pieces) > 1 {
							 | 
						||
| 
								 | 
							
										return strings.ToLower(pieces[1])
							 | 
						||
| 
								 | 
							
									}
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
									return ""
							 | 
						||
| 
								 | 
							
								}
							 |