| 3115 | return finalUrl |
| 3116 | |
| 3117 | def check_proxy_settings(self, url: Str = None, method: Str = None, headers=None, body=None): |
| 3118 | usedProxies = [] |
| 3119 | httpProxy = None |
| 3120 | httpsProxy = None |
| 3121 | socksProxy = None |
| 3122 | # httpProxy |
| 3123 | isHttpProxyDefined = self.value_is_defined(self.httpProxy) |
| 3124 | isHttp_proxy_defined = self.value_is_defined(self.http_proxy) |
| 3125 | if isHttpProxyDefined or isHttp_proxy_defined: |
| 3126 | usedProxies.append('httpProxy') |
| 3127 | httpProxy = self.httpProxy if isHttpProxyDefined else self.http_proxy |
| 3128 | ishttpProxyCallbackDefined = self.value_is_defined(self.httpProxyCallback) |
| 3129 | ishttp_proxy_callback_defined = self.value_is_defined(self.http_proxy_callback) |
| 3130 | if ishttpProxyCallbackDefined or ishttp_proxy_callback_defined: |
| 3131 | usedProxies.append('httpProxyCallback') |
| 3132 | httpProxy = self.httpProxyCallback(url, method, headers, body) if ishttpProxyCallbackDefined else self.http_proxy_callback(url, method, headers, body) |
| 3133 | # httpsProxy |
| 3134 | isHttpsProxyDefined = self.value_is_defined(self.httpsProxy) |
| 3135 | isHttps_proxy_defined = self.value_is_defined(self.https_proxy) |
| 3136 | if isHttpsProxyDefined or isHttps_proxy_defined: |
| 3137 | usedProxies.append('httpsProxy') |
| 3138 | httpsProxy = self.httpsProxy if isHttpsProxyDefined else self.https_proxy |
| 3139 | ishttpsProxyCallbackDefined = self.value_is_defined(self.httpsProxyCallback) |
| 3140 | ishttps_proxy_callback_defined = self.value_is_defined(self.https_proxy_callback) |
| 3141 | if ishttpsProxyCallbackDefined or ishttps_proxy_callback_defined: |
| 3142 | usedProxies.append('httpsProxyCallback') |
| 3143 | httpsProxy = self.httpsProxyCallback(url, method, headers, body) if ishttpsProxyCallbackDefined else self.https_proxy_callback(url, method, headers, body) |
| 3144 | # socksProxy |
| 3145 | isSocksProxyDefined = self.value_is_defined(self.socksProxy) |
| 3146 | isSocks_proxy_defined = self.value_is_defined(self.socks_proxy) |
| 3147 | if isSocksProxyDefined or isSocks_proxy_defined: |
| 3148 | usedProxies.append('socksProxy') |
| 3149 | socksProxy = self.socksProxy if isSocksProxyDefined else self.socks_proxy |
| 3150 | issocksProxyCallbackDefined = self.value_is_defined(self.socksProxyCallback) |
| 3151 | issocks_proxy_callback_defined = self.value_is_defined(self.socks_proxy_callback) |
| 3152 | if issocksProxyCallbackDefined or issocks_proxy_callback_defined: |
| 3153 | usedProxies.append('socksProxyCallback') |
| 3154 | socksProxy = self.socksProxyCallback(url, method, headers, body) if issocksProxyCallbackDefined else self.socks_proxy_callback(url, method, headers, body) |
| 3155 | # check |
| 3156 | length = len(usedProxies) |
| 3157 | if length > 1: |
| 3158 | joinedProxyNames = ','.join(usedProxies) |
| 3159 | raise InvalidProxySettings(self.id + ' you have multiple conflicting proxy settings(' + joinedProxyNames + '), please use only one from: httpProxy, httpsProxy, httpProxyCallback, httpsProxyCallback, socksProxy, socksProxyCallback') |
| 3160 | return [httpProxy, httpsProxy, socksProxy] |
| 3161 | |
| 3162 | def check_ws_proxy_settings(self): |
| 3163 | usedProxies = [] |