package dynamicproxy import ( "log" "net/url" "imuslab.com/zoraxy/mod/dynamicproxy/dpcore" ) /* Add an URL intoa custom subdomain service */ func (router *Router) AddSubdomainRoutingService(options *SubdOptions) error { domain := options.Domain if domain[len(domain)-1:] == "/" { domain = domain[:len(domain)-1] } webProxyEndpoint := domain if options.RequireTLS { webProxyEndpoint = "https://" + webProxyEndpoint } else { webProxyEndpoint = "http://" + webProxyEndpoint } //Create a new proxy agent for this root path, err := url.Parse(webProxyEndpoint) if err != nil { return err } proxy := dpcore.NewDynamicProxyCore(path, "", options.SkipCertValidations) router.SubdomainEndpoint.Store(options.MatchingDomain, &ProxyEndpoint{ RootOrMatchingDomain: options.MatchingDomain, Domain: domain, RequireTLS: options.RequireTLS, Proxy: proxy, SkipCertValidations: options.SkipCertValidations, RequireBasicAuth: options.RequireBasicAuth, BasicAuthCredentials: options.BasicAuthCredentials, }) log.Println("Adding Subdomain Rule: ", options.MatchingDomain+" to "+domain) return nil }