summaryrefslogtreecommitdiff
path: root/src/leap/common/http.py
AgeCommit message (Collapse)Author
2015-06-08[bug] Makes request method respect a hard limitVictor Shyba
Altough we specify maxPersistentPerHost, Twisted won't stop opening connections after that. This limit is used just to keep the size of persistent connections pool under control. Additional connections will be made as non persistent. So, if we ask 10000 requests, it will open 10000 connections immediately and leave 10 open after all finished. For checking this behavior, see getConnection from Twisted source: http://twistedmatrix.com/trac/browser/tags/releases/twisted-15.2.1/twisted/web/client.py#L1203 I tested this by using http_target from soledad without a local database to download all encrypted docs from one account with 1700 of them. The program just hangs and crashes with 1000+ connections and "Too many files open" warnings. With this fix, it was able to download normally, respecting the maxPersistentPerHost as a limiter. :)
2015-06-02[feat] Make it optional to have a dedicated poolVictor Shyba
As @meskio pointed out, some cases could need a dedicated pool with different parameters. This is a suggested implementation where the pool is reused by default, creating a dedicated one just if needed/asked. This way we ensure that resources are under control and special cases are still handled.
2015-06-02[bug] Use BrowserLikePolicyForHTTPS for checkingVictor Shyba
While testing the way that its implemented now, I found out that no check is being made on certificate attributes against the host. I found this simple way of creating a BrowserLikePolicyForHTTPS using a self signed cert and it worked on my test. I used test_https from Soledad for checking this (which we are fixing on another branch). Also, we don't want to depend on twisted for other things than leap.common.http.
2015-05-27[refactor] move http twisted code from soledadRuben Pollan
Implements an HTTP client the twisted way, with a focus on pinning the SSL certs. * Related: #6506