aboutsummaryrefslogtreecommitdiff
path: root/lib/pleroma/http/http.ex
AgeCommit message (Collapse)Author
2020-07-18Don't enable Pleroma.HTTP.Middleware.FollowRedirects unless Gun is usedhref
2020-07-15HTTP: Implement max request limitsrinpatch
2020-07-15Use a custom pool-aware FollowRedirects middlewarerinpatch
2020-07-15Refactor gun pooling and simplify adapter option insertionrinpatch
This patch refactors gun pooling to use Elixir process registry and simplifies adapter option insertion. Having the pool use process registry instead of a GenServer has a number of advantages: - Simpler code: the initial implementation adds about half the lines of code it deletes - Concurrency: unlike a GenServer, ETS-based registry can handle multiple checkout/checkin requests at the same time - Precise and easy idle connection clousure: current proposal for closing idle connections in the GenServer-based pool needs to filter through all connections once a minute and compare their last active time with closing time. With Elixir process registry this can be done by just using `Process.send_after`/`Process.cancel_timer` in the worker process. - Lower memory footprint: In my tests `gun-memory-leak` branch uses about 290mb on peak load (250 connections) and 235mb on idle (5-10 connections). Registry-based pool uses 210mb on idle and 240mb on peak load
2020-06-24added wrapper Pleroma.HTTP for Tzdata.HTTPClientMaksim Pechnikov
2020-03-12clean upAlexander Strizhakov
2020-03-05removing try block in tesla requestAlexander Strizhakov
added mocks for tests which fail with Tesla.Mock.Error
2020-03-03Merge branch 'develop' into gunMark Felder
2020-03-03Update CopyrightsMark Felder
2020-03-03remove try block from pool requestAlexander Strizhakov
2020-03-03poolboy timeout fixAlexander Strizhakov
2020-03-03unnecessary withAlexander Strizhakov
2020-03-03Apply suggestion to lib/pleroma/http/http.exAlexander Strizhakov
2020-03-03Apply suggestion to lib/pleroma/http/http.exAlexander Strizhakov
2020-02-18adding gun adapterAlexander Strizhakov
2019-07-12Merge the default options with custom ones in ReverseProxy andrinpatch
Pleroma.HTTP
2019-05-30Use Pleroma.Config everywhereEgor Kislitsyn
2019-03-08http: actually pass the options list to the Connection factoryWilliam Pitcock
2019-03-08http: safely catch erlang exits and elixir errors from hackney (ref #672)William Pitcock
2019-03-04Fix supported TLS versions as TLS 1.3 support seems buggy.KokaKiwi
2019-01-15http: add support for query parameters, use Jason for JSON encoding instead ↵William Pitcock
of Poison like everywhere else
2019-01-01Merge remote-tracking branch 'origin/develop' into pool-usagelain
2019-01-01Remove default pool, it's used automatically anyway.lain
2018-12-31update copyright years to 2019William Pitcock
2018-12-29Salmon# fixed publish an activity to remote accountsMaksim Pechnikov
2018-12-23add license boilerplate to pleroma coreWilliam Pitcock
2018-12-04remove httpoison_mockMaksim Pechnikov
2018-12-04formatting the codeMaksim Pechnikov
2018-12-04update testMaksim Pechnikov
2018-12-04init tesla and updated the http requests in Pleroma.Web.WebsubMaksim Pechnikov
2018-10-26http: fix mediaproxyWilliam Pitcock
2018-10-26http: enable keepalive / connection pooling (closes #336)William Pitcock
2018-08-24http: fix TLS server name indicationWilliam Pitcock
by default, hackney only sent TLS server name indication if TLS was locked to TLS 1.2. since there are many instances out there not speaking TLS 1.2, it is not acceptable to lock SNI to TLS 1.2. closes #261
2018-03-30Format the code.lain
2018-01-29use nil instead of empty stringJeff Becker
2017-12-30make httppoison use configurable http proxyJeff Becker