Commit graph

11 commits

Author SHA1 Message Date
Dessalines
52fcda96e1
Adding IP to the rate limit request line. (#882)
* Adding IP to the rate limit request line.

* Adding IP to the rate limit request line.
2020-07-01 18:54:46 -04:00
a074564458
Federation async (#848)
* Asyncify more

* I guess these changed

* Clean PR a bit

* Convert more away from failure error

* config changes for testing federation

* It was DNS

So actix-web's client relies on TRust DNS Resolver to figure out
where to send data, but TRust DNS Resolver seems to not play nice
with docker, which expressed itself as not resolving the name to
an IP address _the first time_ when making a request. The fix was
literally to make the request again (which I limited to 3 times
total, and not exceeding the request timeout in total)

* Only retry for connecterror

Since TRust DNS Resolver was causing ConnectError::Timeout,
this change limits the retry to only this error, returning
immediately for any other error

* Use http sig norm 0.4.0-alpha for actix-web 3.0 support

* Blocking function, retry http requests

* cargo +nightly fmt

* Only create one pictrs dir

* Don't yarn build

* cargo +nightly fmt
2020-07-01 08:54:29 -04:00
9e61c3be94 Rework imports 2020-05-16 20:04:17 +02:00
c0f4d5260f Merge branch 'asonix-abstract_websocket_sends' into abstract_websocket_sends 2020-04-20 15:03:32 -04:00
05b961a90a Remove unused methods 2020-04-20 13:09:10 -05:00
d058db95e5 Use get_ip in ratelimit middleware 2020-04-20 13:02:25 -05:00
4df2031ae0 Give ratelimit fields explicit names 2020-04-20 12:51:42 -05:00
c18fa5a38e Changing warn to debug for rate limiting message. 2020-04-20 10:45:14 -04:00
4712ae4eb0 appease clippy 2020-04-19 23:43:30 -05:00
ac43b86b60 Change RateLimit to act as a middleware 2020-04-19 22:59:07 -05:00
f300c67a4d Adding websocket notification system.
- HTTP and APUB clients can now send live updating messages to websocket
  clients
- Rate limiting now affects both HTTP and websockets
- Rate limiting / Websocket logic is now moved into the API Perform
  functions.
- TODO This broke getting current online users, but that will have to
  wait for the perform trait to be made async.
- Fixes #446
2020-04-19 18:08:25 -04:00