Commit Graph

38 Commits

Author SHA1 Message Date
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
Quentin Gliech
f5eb93d754 HTTP metrics & other stuff 2022-09-28 11:13:53 +02:00
Quentin Gliech
6f5b3636ba Simplify the HTTP client building
Also supports loading the WebPKI roots instead of the native ones for
TLS
2022-09-27 19:05:25 +02:00
Kévin Commaille
78cffd7e02 Make HTTP request layers convert to Bytes
Add layer to convert a request's Bytes to a Body.
2022-08-23 12:25:38 +02:00
Quentin Gliech
bf8b431d53 Apply suggestions from code review
Co-authored-by: Kévin Commaille <76261501+zecakeh@users.noreply.github.com>
2022-08-19 10:51:24 +02:00
Quentin Gliech
c23014b5de Gate some crates behind features in mas-http 2022-08-19 10:51:24 +02:00
Quentin Gliech
7dfebeda82 Add a layer to catch HTTP error codes 2022-08-19 10:51:24 +02:00
Quentin Gliech
3a8003f359 Layer to application/x-www-form-urlencoded bodies 2022-08-19 10:51:24 +02:00
Quentin Gliech
5bb2868795 Better Tower layers 2022-08-19 10:51:24 +02:00
Kévin Commaille
06ebf8a3ef Fix new clippy 0.1.63 warnings 2022-08-12 11:05:21 +02:00
Quentin Gliech
c1adcd6690 Enable the clippy::str_to_string lint 2022-08-08 10:06:20 +02:00
Quentin Gliech
722023b7ec Fix some false-positive clippy lints
Those were introduced in clippy 1.62 (under clippy::pedantic) and are in
proc-macro generated code
2022-07-01 16:36:35 +02:00
Quentin Gliech
632ce19811 More OTEL attributes on HTTP requests 2022-04-08 14:16:34 +02:00
Quentin Gliech
119074496c Add CORS headers to API-like routes 2022-04-07 16:25:42 +02:00
Quentin Gliech
a1acdce74d Attach remote and local address to HTTP server/client spans 2022-04-07 11:52:43 +02:00
Quentin Gliech
1ad2e97d17 Make the ServerLayer work properly with axum 2022-04-06 17:35:29 +02:00
Quentin Gliech
650bfa86b3 Better OpenTelemetry tracer 2022-02-24 16:03:37 +01:00
Quentin Gliech
8748460831 Implement private_key_jwks client authentication
This involves a lot of things, including:
 - better VerifyingKeystore trait
 - better errors in the JOSE crate
 - getting rid of async_trait in some JOSE traits
2022-02-17 15:42:44 +01:00
Quentin Gliech
342c64b5d9 Many improvements to the mas-http crate
- make `mas_http::client` implement Service directly instead of being
   an async function
 - a Get layer that makes a Service<Uri>
 - better error sources in the JSON layer
 - make the client have a proper error type
2022-02-15 08:28:25 +01:00
Quentin Gliech
718cac3fb5 Implement a JSON tower layer
This will help requesting JSON APIs
2022-02-11 14:15:31 +01:00
Quentin Gliech
d92415d419 Proper HTTP client 2022-02-10 16:38:17 +01:00
Quentin Gliech
90a63d593a Dedicated HTTP server/client crate
Also have better names for the HTTP routes
2022-02-10 16:38:16 +01:00