123456789101112131415161718192021222324252627282930313233343536373839404142434445464748 |
- """
- Proxy requests to avoid SSRF
- """
- import os
- import httpx
- SSRF_PROXY_ALL_URL = os.getenv('SSRF_PROXY_ALL_URL', '')
- SSRF_PROXY_HTTP_URL = os.getenv('SSRF_PROXY_HTTP_URL', '')
- SSRF_PROXY_HTTPS_URL = os.getenv('SSRF_PROXY_HTTPS_URL', '')
- proxies = {
- 'http://': SSRF_PROXY_HTTP_URL,
- 'https://': SSRF_PROXY_HTTPS_URL
- } if SSRF_PROXY_HTTP_URL and SSRF_PROXY_HTTPS_URL else None
- def make_request(method, url, **kwargs):
- if SSRF_PROXY_ALL_URL:
- return httpx.request(method=method, url=url, proxy=SSRF_PROXY_ALL_URL, **kwargs)
- elif proxies:
- return httpx.request(method=method, url=url, proxies=proxies, **kwargs)
- else:
- return httpx.request(method=method, url=url, **kwargs)
- def get(url, **kwargs):
- return make_request('GET', url, **kwargs)
- def post(url, **kwargs):
- return make_request('POST', url, **kwargs)
- def put(url, **kwargs):
- return make_request('PUT', url, **kwargs)
- def patch(url, **kwargs):
- return make_request('PATCH', url, **kwargs)
- def delete(url, **kwargs):
- return make_request('DELETE', url, **kwargs)
- def head(url, **kwargs):
- return make_request('HEAD', url, **kwargs)
|