Commit Graph

71 Commits

Author SHA1 Message Date
Quentin Gliech
eca6955f07 Remove explicit imports of std::future::Future, as it is now in the prelude 2025-02-21 16:24:53 +01:00
Quentin Gliech
56d9c7e63b Upgrade to Rust 1.85 and edition 2024 2025-02-21 16:15:02 +01:00
Quentin Gliech
cc618fa45d Update most Rust dependencies & disable some unused features 2025-02-06 12:50:50 +01:00
Quentin Gliech
8c358efd88 Update the rest of the OTEL deps and use the new APIs 2024-12-12 16:04:48 +01:00
Quentin Gliech
16f74fe87d Restore HTTP request metrics 2024-10-28 13:46:38 +01:00
Quentin Gliech
fc4808436a Fix HTTP request tracing and make the DNS resolver traced again 2024-10-28 13:46:38 +01:00
Quentin Gliech
8fb94ec662 Fix documentation link 2024-10-28 13:46:38 +01:00
Quentin Gliech
a88b7efe1e Replace all the manual HTTP clients with reqwest 2024-10-28 13:46:38 +01:00
Quentin Gliech
248e03ac93 Replace HTTP client in oidc-client with reqwest 2024-10-28 13:46:38 +01:00
Quentin Gliech
5b879bd4f4 WIP: switch to reqwest 2024-10-28 13:46:38 +01:00
Quentin Gliech
9a946c19e7 Remove (C) 2024-09-10 14:28:55 +02:00
Quentin Gliech
9da19e2af0 License headers change 2024-09-05 13:25:42 +02:00
Quentin Gliech
1381e92409 Update opentelemetry to 0.24.0 2024-07-25 11:01:43 +02:00
Quentin Gliech
5162e1d5ef Write an adapter for opentelemetry-http 2024-07-05 10:07:40 +02:00
Quentin Gliech
cd899abed9 Move tower-http dep to the workspace and adapt mas-axum-utils
We removed here the Timeout layer on the HTTP client service, because it
required the body to be Default, which isn't the case anymore. Not sure
what to do about it.
2024-07-05 10:07:40 +02:00
Quentin Gliech
623ae96dce Remove the client features from mas-oidc-client and replace it in tests 2024-07-05 10:07:40 +02:00
Quentin Gliech
f46f55a05b Upgrade rustls and update mas-http client bits 2024-07-05 10:07:40 +02:00
reivilibre
f7366feb1f Improve errors when MAS contacts the Synapse homeserver (#2794)
* Add some drive-by docstrings

* Change text rendering of catch_http_codes::HttpError

Using `#[source]` is unnatural here because it makes it look like
two distinct errors (one being a cause of the other),
when in reality it is just one error, with 2 parts.

Using `Display` formatting for that leads to a more natural error.

* Add constraints to `catch_http_code{,s}` methods

Not strictly required, but does two things:

- documents what kind of function is expected
- provides a small extra amount of type enforcement at the call site,
  rather than later on when you find the result doesn't implement Service

* Add a `catch_http_errors` shorthand

Nothing major, just a quality of life improvement so you don't have to
repetitively write out what a HTTP error is

* Unexpected error page: remove leading whitespace from preformatted 'details' section

The extra whitespace was probably unintentional and makes the error harder to read,
particularly when it wraps onto a new line unnecessarily

* Capture and log Matrix errors received from Synapse

* Drive-by clippy fix: use clamp instead of min().max()

* Convert `err(Display)` to `err(Debug)` for `anyhow::Error`s in matrix-synapse support module
2024-06-07 11:14:04 +00:00
Quentin Gliech
7f845d1601 Use OTEL semantic conventions constants for most attributes 2024-03-19 17:15:14 +01:00
Quentin Gliech
4706d387a0 Use rustls-platform-verifier for cert validation
This simplifies by removing the mutually exclusive `native-roots` and
`webpki-roots` features with something that is suitable for all
platforms.
2024-03-06 14:03:59 +01:00
Quentin Gliech
add2aae7de Fix the native-certs (and therefore docker) build 2024-02-02 14:39:24 +01:00
Quentin Gliech
b49eadf418 Upgrade rustls 2024-02-02 11:45:20 +01:00
Quentin Gliech
a7ff6b00aa Enable clippy lints on a workspace level
This enables a lot more lints than before in some crates, so this fixed a lot of warnings as well.
2023-12-05 17:20:42 +01:00
Quentin Gliech
44fe2afafc Make the HTTP client factory reuse the underlying client
This avoids duplicating clients, and makes it so that they all share the same connection pool.
2023-09-14 16:52:01 +02:00
Quentin Gliech
ea7299a14a Upgrade Rust to 1.72.0
Fixes new clippy errors and upgrade other tools
2023-08-28 18:05:56 +02:00
Quentin Gliech
a0ad162f56 rustls: use RootCertStore.add_trust_anchors instead of deprecated RootCertStore.add_server_trust_anchors 2023-08-09 12:01:08 +02:00
Quentin Gliech
a9b3445493 Bump Rust dependencies and remove unused ones 2023-07-27 17:23:08 +02:00
Quentin Gliech
4e74a7102d Reimplementation of a postgres-backed storage with a shared PG listener 2023-07-17 19:04:06 +02:00
Quentin Gliech
8fd4db1233 Fix build with native-root feature on 2023-04-18 23:01:43 +02:00
Quentin Gliech
cec23b93aa Better tracing attributes in the HTTP client 2023-04-18 14:45:43 +02:00
Quentin Gliech
3cc4749979 Replace the OTEL-based tracing layer with tracing based layers 2023-04-18 14:45:43 +02:00
Quentin Gliech
d943848d7d Proactively provision users on registration & sync threepids 2023-04-14 10:22:22 +02:00
Quentin Gliech
79d72b9123 ci: Update clippy to 1.66 and fix new warnings 2022-12-16 18:16:18 +01:00
Quentin Gliech
d8550778ea Remove the ServerLayer from mas-http 2022-12-05 19:39:51 +01:00
Quentin Gliech
05ea35690b Add a global HTTP client factory 2022-12-05 19:39:51 +01:00
Quentin Gliech
0cfbf17a13 Cleanup HTTP client building 2022-12-05 19:39:51 +01:00
Quentin Gliech
28704ab473 WIP: upstream OIDC provider support 2022-12-05 19:39:51 +01:00
Quentin Gliech
44cf4e3d3c Move the BoxCloneSyncService to mas-http 2022-12-05 19:39:51 +01:00
Quentin Gliech
c611b292f4 Bump the latest axum rc 2022-11-18 14:57:22 +01:00
Quentin Gliech
d72e702b73 Automate schema updates 2022-11-09 19:17:12 +01:00
Quentin Gliech
c39f011374 Move the GraphQL schema to its own crate 2022-11-09 19:17:12 +01:00
Quentin Gliech
56f9498a32 Better AWS SDK tracing 2022-11-04 09:31:50 +01:00
Quentin Gliech
4eb41b6655 Trace AWS operations & share TLS connector with mas-http 2022-11-03 18:08:20 +01:00
Quentin Gliech
d47ff77565 Fix the default features set 2022-11-03 15:19:49 +01:00
Jonas Platte
c386f440f4 Use new tuple Layer impls instead of ServiceBuilder (#475)
Co-authored-by: Quentin Gliech <quenting@element.io>
2022-10-17 16:48:12 +02:00
Kévin Commaille
d062c9fbc5 Derive Clone for http requests structs
So they don't prevent a Service from implementing Clone.
2022-10-17 12:47:43 +02:00
Kévin Commaille
a466d8f38e Fix imports used by feature-gated code 2022-10-17 12:47:20 +02:00
Quentin Gliech
8542d4e74a Have the listeners names in the metrics and traces
Also refactors the OTEL layer to have a separate metrics logic
2022-10-17 11:39:45 +02:00
Quentin Gliech
1314a11422 Refactor listeners building 2022-10-17 11:39:45 +02:00
Quentin Gliech
19f5d6cd36 Move the in-flight counter decrement to a drop guard 2022-09-28 11:13:53 +02:00