12345678910111213141516171819202122232425262728293031323334353637383940414243444546 |
- package loadbalance
- import (
- "net/http"
- "net/url"
- "imuslab.com/zoraxy/mod/dynamicproxy/dpcore"
- )
- func (u *Upstream) StartProxy(webProxyEndpoint string) error {
-
- path, err := url.Parse(webProxyEndpoint)
- if err != nil {
- return err
- }
- proxy := dpcore.NewDynamicProxyCore(path, "", &dpcore.DpcoreOptions{
- IgnoreTLSVerification: u.SkipCertValidations,
- })
- u.proxy = proxy
- return nil
- }
- func (u *Upstream) IsReady() bool {
- return u.proxy != nil
- }
- func (u *Upstream) ServeHTTP(w http.ResponseWriter, r *http.Request, rrr *dpcore.ResponseRewriteRuleSet) error {
-
- if rrr.ProxyDomain == "" {
- rrr.ProxyDomain = u.OriginIpOrDomain
- }
- return u.proxy.ServeHTTP(w, r, rrr)
- }
- func (u *Upstream) String() string {
- return u.OriginIpOrDomain
- }
|