51 Commits

Author SHA1 Message Date
Kévin Commaille
e815eb7603 federation-api: Add support for authenticated media endpoints
According to MSC3916 / Matrix 1.11.
2024-07-16 15:02:45 +02:00
Kévin Commaille
f73ba5556c api: Allow types implementing ToString and FromStr for header values
Contrary to what the previous docs said, types implementing Display did not work,
only string types worked.
2024-07-14 12:28:48 +02:00
Matthias Ahouansou
50a46cc5f6
api: implement (Partial)Eq for Metadata 2024-07-11 21:47:48 +02:00
Kévin Commaille
2dcc83278a api: Add MatrixVersion::V1_11 2024-06-21 15:19:34 +02:00
Damir Jelić
a12c38c532 common: Add a error variant for unexpected header values 2024-05-14 18:18:15 +02:00
Kévin Commaille
10c7e59c57 client-api: Add helper methods to convert SystemTime from/to a HTTP date 2024-05-08 19:09:13 +02:00
Kévin Commaille
31dc4a2dfb
client-api: Add support for the Retry-After header
According to MSC4041 / Matrix 1.10

Co-authored-by: Jonas Platte <jplatte+git@posteo.de>
2024-04-07 13:52:43 +00:00
Kévin Commaille
041d871781 api: Add MatrixVersion::V1_10 2024-03-22 21:28:39 +01:00
Matthias Ahouansou
bbf81544f2 api: support for appservice-exclusive authentication 2024-03-13 22:06:58 +01:00
Kévin Commaille
f652cbb60f api: Add support for optional authentication 2024-03-07 12:30:28 +01:00
Kévin Commaille
ac2f725bcc api: Add support for Matrix 1.9 2023-11-30 14:42:14 +01:00
Kévin Commaille
7f0ca5eaa8 api: Add support for Matrix 1.8 2023-08-24 12:16:29 +02:00
Kévin Commaille
bcae4e5799 chore: Use .is_some_and(…) instead of .map_or(false, …) 2023-08-14 16:17:25 +02:00
Jonas Platte
ba5bf8cfce
Replace assert_matches by assert_matches2 2023-06-08 11:37:11 +02:00
Kévin Commaille
dc68190adc api: Add initial support for Matrix 1.7 2023-05-25 19:28:33 +02:00
Kévin Commaille
2296f16ea0 api: Allow to have an endpoint both defined and deprecated in Matrix 1.0 2023-05-25 16:53:56 +02:00
Kévin Commaille
e97e46e623 chore: Fix URLs to old spec 2023-05-04 13:04:57 +02:00
Kévin Commaille
4f8bcf3ee1 common: Add MatrixVersion::V1_6 2023-02-14 18:44:04 +01:00
Kévin Commaille
f159776f52 chore: Make all applicable spec links use the latest spec instead of a specific version 2023-02-12 12:39:24 +01:00
Kévin Commaille
06820cdc92 common: Use the same percent encoding set consistently 2023-01-24 20:15:09 +01:00
Kévin Commaille
48288865db
api: Only percent-encode reserved characters in endpoint URL path 2023-01-16 13:07:33 +01:00
Jonas Platte
ff8ab6b085
Replace ruma_common::serde::urlencoded with serde_html_form 2023-01-02 17:47:33 +01:00
Kévin Commaille
0feb39298a api: Add support for Matrix v1.5 2022-11-25 14:13:56 +01:00
Jonas Platte
ae3394a6df api: Turn metadata name and description fields into docstrings 2022-11-12 10:17:24 +01:00
Jonas Platte
2500e8f8fa api: Make query_string parameter of make_endpoint_url non-optional
When Some(_), the argument would often be an empty string. By always
using the empty string to mean "no query", we avoid trailing a `?` on
URLs without having two parameter values that mean the same thing.
2022-11-11 11:27:07 +01:00
Jonas Platte
a8ba82d585 api: Make EndpointError construction infallible
Simplifies error matching and preserves more information for
non-spec-compliant server errors.
2022-11-10 13:10:57 +01:00
Jonas Platte
2451f33a64
api: Replace ruma_api! compile-time path check with a test 2022-11-10 11:33:17 +01:00
Jonas Platte
9195a5de18
api: Make VersionHistory fields private 2022-11-10 11:33:17 +01:00
Jonas Platte
08dcf1e224
api: Add VersionHistory::{deprecated_in, removed_in} 2022-11-10 11:33:17 +01:00
Jonas Platte
866b01d0c2
api: Rename VersionHistory::added_version to added_in
… and reword its documentation.
2022-11-10 11:33:17 +01:00
Jonas Platte
848ca9b225
api: Rework VersionHistory path accessors
* Return iterators
* Rename all_unstable_paths to unstable_paths
* Rename all_versioned_stable_paths to stable_paths
2022-11-10 11:33:17 +01:00
Jonas Platte
b9ec4db8f0 api: Add metadata! macro for easy Metadata construction
Co-authored-by: Jonathan de Jong <jonathan@automatia.nl>
2022-10-28 10:39:21 +02:00
Jonathan de Jong
e783d77db7
api: Add VersionHistory const fn new 2022-10-26 18:00:46 +02:00
Jonas Platte
dff84efb0c
api: Remove authentication from Request derive attributes 2022-10-22 12:25:27 +02:00
Jonas Platte
e7e39a6af1
api: Remove method from Request derive attributes 2022-10-22 12:24:21 +02:00
Jonas Platte
ec31badd84
api: Replace path fields in Metadata with new VersionHistory type
Co-authored-by: Jonathan de Jong <jonathan@automatia.nl>
2022-10-22 11:17:55 +02:00
Kévin Commaille
045861441a doc: Update Matrix spec links to v1.4 2022-10-21 10:41:20 +02:00
Kévin Commaille
ef2afd9f6e api: Add support for Matrix v1.4 2022-09-30 17:18:08 +02:00
Jonas Platte
715c226975 api: Make select_path and make_endpoint_url methods on Metadata
… and remove #[doc(hidden)] attribute.
2022-09-29 15:49:39 +02:00
Kévin Commaille
9a8d7bf475 api: Get the default room version for a Matrix version 2022-06-21 15:51:55 +02:00
Kévin Commaille
a940de9e41
api: Add MatrixVersion::V1_3 2022-06-20 14:10:09 +00:00
Jonas Platte
8912182c56
Increase usage of implicit named arguments in format strings 2022-06-03 10:06:28 +02:00
Jonas Platte
5f902851af
Upgrade to Rust 2021 2022-05-27 12:04:23 +02:00
Jonas Platte
22fbb8e0dc api: Update error messages 2022-04-27 15:24:18 +02:00
Jonathan de Jong
f0177dc429
api: Add Metadata::versioning_decision_for 2022-04-11 15:44:03 +02:00
Jonas Platte
571fa90b8d
identifiers: Rename Error to IdParseError
… because it's now exported from the ruma-common crate root.
2022-03-28 12:22:28 +02:00
Jonas Platte
eb515046d7 api: Add map and transpose methods for FromHttpResponseError and ServerError 2022-03-22 13:26:38 +01:00
Jonas Platte
ffd7625a17 api: Rename FromHttpResponseError::{Http => Server} 2022-03-22 13:26:38 +01:00
Kévin Commaille
bdcf07be87
common: Merge ruma-serde into ruma-common 2022-03-10 12:11:00 +01:00
Kévin Commaille
088d1872b7
common: Merge ruma-identifiers into ruma-common 2022-03-09 17:46:51 +00:00