You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
There are a proliferation of HTTP related options in ClientConfig. I believe it might be possible to converge on just exposing *http.Client for each use case. *http.Client handles having custom proxies, TLS settings, redirect handling, timeouts etc.
The use cases for HTTP in anacrolix/torrent are:
Trackers
WebRTC
Sources (fetching torrent files)
Webseeds
??
One strong holdout against this I think is the websocket library in use for webtorrent trackers. It only takes a proxy option. However the nyooyr.io/websocket module takes *http.Client, so this could be upgraded.
Another place is resolving IPs for trackers. This is currently done manually to check against blocklists before issuing HTTP requests. I think this is still doable, but some APIs might change.
The text was updated successfully, but these errors were encountered:
I can try to work on this issue.
I suppose it'll require backward-incompatible changes of ClientConfig (deprecating existing fields).
Should we support both options for a while?
I can try to work on this issue. I suppose it'll require backward-incompatible changes of ClientConfig (deprecating existing fields). Should we support both options for a while?
I think examining all the places that could be affected, determining that it could work then rolling it out subsystem by subsystem should work fine if it is indeed the right abstraction for this.
There are a proliferation of HTTP related options in ClientConfig. I believe it might be possible to converge on just exposing *http.Client for each use case. *http.Client handles having custom proxies, TLS settings, redirect handling, timeouts etc.
The use cases for HTTP in anacrolix/torrent are:
One strong holdout against this I think is the websocket library in use for webtorrent trackers. It only takes a proxy option. However the nyooyr.io/websocket module takes *http.Client, so this could be upgraded.
Another place is resolving IPs for trackers. This is currently done manually to check against blocklists before issuing HTTP requests. I think this is still doable, but some APIs might change.
The text was updated successfully, but these errors were encountered: