54 Commits

Author SHA1 Message Date
Jonas Platte
92826df304
client: Add support for isahc as an HTTP client 2021-05-01 21:20:11 +02:00
Jonas Platte
23799cb702
client: Rename HttpClientExt methods to be much less likely to conflict with inherent methods 2021-05-01 21:20:11 +02:00
Jonas Platte
e3beb208e5
client: Use http_client::Dummy for doctests 2021-05-01 21:20:10 +02:00
Jonas Platte
a2b64df5d3
api: Require all EndpointErrors to be Send 2021-05-01 21:20:10 +02:00
Jonas Platte
cee6e2e365
client: Add send_request_as for application services 2021-05-01 21:20:10 +02:00
Jonas Platte
20dfd7c328
client: Allow request customization to be fallible 2021-05-01 21:20:10 +02:00
Jonas Platte
9bbad70592
client: Use ResponseResult type alias in more places 2021-05-01 21:20:07 +02:00
Jonas Platte
71b4463306
client: Small refactoring 2021-05-01 21:20:07 +02:00
Jonas Platte
ac78c855a8
client: Replace send_request_with_url_params with send_customized_request 2021-05-01 21:20:07 +02:00
Jonas Platte
0fa686ac1d
client: Add a dummy http client 2021-05-01 21:20:07 +02:00
Jonas Platte
db9262fa43
client: Add support for reqwest as an HTTP client 2021-05-01 21:20:07 +02:00
Jonas Platte
c7742085a8
client: Add HttpClientExt 2021-05-01 21:20:07 +02:00
Jonas Platte
e94e2e7b2b
client: Fix doctests by not compiling them
… and move the sync example to sync's docs.
2021-05-01 21:20:07 +02:00
Jonas Platte
c692d18797
client: Add an HttpClient abstraction and implement it for hyper::Client 2021-05-01 21:20:07 +02:00
Jonas Platte
89b191c143
client: Make Client generic over the underlying HTTP client
… and allow construction of a Client with a custom HTTP client, but
nothing more yet.
2021-05-01 21:20:06 +02:00
Jonas Platte
b956178c53
client: Fix crate docs 2021-05-01 21:20:06 +02:00
Jonas Platte
15c9e470c8
client: Remove session data other than the access token 2021-05-01 21:20:06 +02:00
Jonas Platte
e2be614552
client: Put client-api specific functionality behind a feature flag 2021-05-01 21:20:06 +02:00
Jonas Platte
f818b53ca1
Make conversions from Ruma types to http types generic
So users can select the Body type that makes the most sense for them.
2021-04-23 13:26:10 +02:00
Johannes Becker
0ca5785ead api: Replace access_token Option with SendAccessToken enum 2021-04-23 10:56:04 +02:00
Jonas Platte
c1693569f1
api: Replace bytes::Buf by AsRef<u8> for reading
This allows us to switch back to serde_json::from_slice instead of
serde_json::from_reader, because the latter is significantly slower.

See https://github.com/serde-rs/json/issues/160
2021-04-13 22:12:16 +02:00
Jonas Platte
2ac020173b
api: Introduce IncomingResponse trait 2021-04-12 20:38:22 +02:00
Jonas Platte
7acd73ec9a
client: Rewrap some lines 2021-04-09 12:14:35 +02:00
Kévin Commaille
963400979b
docs: Harmonize ruma modules descriptions 2021-04-07 12:14:49 +02:00
Jonas Platte
1bf4157a89
Add favicon and logo URLs for rustdoc 2021-04-05 11:42:07 +02:00
Kévin Commaille
02e6c935b3
client-api: Move user in login::Request to identifier in login::LoginInfo::Password 2021-03-15 10:36:54 +01:00
Jonas Platte
a20c75d536
Fix import grouping issues 2021-02-25 20:55:19 +01:00
Jonas Platte
25b43d2bf9
Replace futures-util dev-dependency with tokio-stream 2021-01-07 15:11:26 +01:00
Jonas Platte
1db0ad1bea
client: Replace futures_util::stream::try_unfold with async_stream::try_stream! 2021-01-04 16:12:12 +01:00
Jonas Platte
91dd6383c5
client: Fix build error with TLS disabled 2020-12-30 19:20:31 +01:00
Jonas Platte
4ffec95b01
Update hyper / tokio
(and raise the minimum version for other dependencies)
2020-12-30 19:01:22 +01:00
Jonas Platte
19ae6ff347
Remove lots of Copy implementations
so we don't have do breaking releases once they can't be Copy anymore.
2020-12-24 02:51:08 +01:00
Jonas Platte
48348edc7e
client: Small readability improvement 2020-12-24 02:25:24 +01:00
Jonas Platte
8ea4cf4862
client: Add support for rustls as the TLS backend 2020-12-24 01:43:14 +01:00
Jonas Platte
1129520290
client: Rename tls feature to tls-native 2020-12-24 01:29:19 +01:00
Jonas Platte
e7f55ea2c6
Rewrap comments 2020-11-27 18:22:18 +01:00
Jonas Platte
d34a270919
Allow custom values for more enums 2020-11-02 00:29:47 +01:00
Jonas Platte
e1975c2035
Be more consistent about whitespace 2020-10-24 00:44:01 +02:00
Jonas Platte
50eb700571
client: Select hyper connector (TLS backend) at build time 2020-10-18 00:39:20 +02:00
Vincent Lee
d36d005b97
Change requires_authentication: bool to authentication: AuthScheme 2020-09-18 16:28:51 +02:00
Nicholas Young
7ccdaa34d6 feature gate exhaustive types for all spec crates:
- ruma-appservice-api
- ruma-client-api
- ruma-events
- ruma-federation-api
2020-09-01 18:39:41 -06:00
Jonas Platte
fec07a7426
Update lots of types to the new API standards 2020-08-28 23:37:22 +02:00
Jonas Platte
e4cd59e7e5
client-api: Various API updates 2020-08-26 11:30:39 +02:00
Jonas Platte
a9757b13ae
client: Require a next_batch token for Client::sync 2020-08-18 00:25:41 +02:00
Jonas Platte
277800b980
client-api: Make sync_events request and response types non-exhaustive 2020-08-18 00:18:11 +02:00
Jonas Platte
7764671c36
Resolve FIXME 2020-08-18 00:05:35 +02:00
Jonas Platte
d6c15e5769
client-api: More borrowing 2020-08-14 01:40:35 +02:00
Jonas Platte
b4b96e44fd
Borrow things in more endpoint requests 2020-08-13 22:01:12 +02:00
Jonas Platte
4a1b6d5607
Use DeviceIdBox in ruma-events, ruma-*-api 2020-08-13 21:19:41 +02:00
Jonas Platte
f210f91611
Borrow strings and identifiers in uiaa::AuthData and dependent endpoints 2020-08-13 21:19:38 +02:00