161 Commits

Author SHA1 Message Date
Jonas Platte
3211fccab0
Remove borrowing in requests 2022-11-28 14:02:35 +01:00
Kévin Commaille
61a9d65b71 events: Rename events::relation::Relations to BundledRelations 2022-11-25 22:33:37 +01:00
Kévin Commaille
dab2956039 events: Use a struct for parsing of EventContent attributes 2022-11-12 11:14:04 +01:00
Kévin Commaille
67abaf4de1 identifiers: Add From<OwnedId> impls for String 2022-11-12 11:13:34 +01:00
Kévin Commaille
c75d97772c identifiers: Deduplicate as_str() based impls between ID DSTs and owned IDs 2022-11-12 11:13:34 +01:00
Jonas Platte
bdb5950fe4 macros: Remove ruma_api! macro 2022-11-12 10:17:24 +01:00
Kévin Commaille
c5fb935472 macros: Add .m.rule.snake_case rename rule for StringEnum 2022-11-12 09:55:57 +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
7d018897b0
macros: Move ensure_feature_presence check from ruma_api to request / response 2022-11-10 11:33:18 +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
94990f60f2 events: Don't skip serializing empty content of redacted events 2022-11-09 17:11:50 +01:00
Jonas Platte
8d0f817f48
api: Allow incoming request method of HEAD for GET endpoints 2022-11-02 23:26:57 +01:00
Jonas Platte
d18bea570c Use Cargo workspace dependencies
… for most external dependencies that are used from multiple workspace
crates.
2022-11-01 11:13:21 +01:00
Jonas Platte
f613137b31
macros: Add response attribute macro 2022-11-01 09:39:11 +01:00
Jonas Platte
af97ddaa58
macros: Remove unnecessary type distinction 2022-10-31 10:00:50 +01:00
Jonas Platte
b7c47c9e70
macros: Always implement IncomingRequest trait on IncomingRequest type
… rather than the `Request` type, even if `IncomingRequest` is a type
alias for it.

This (only) affects where the implementation is shown in the
documentation.
2022-10-31 09:58:36 +01:00
Jonas Platte
74dab985aa api: Use metadata macro from ruma_api! 2022-10-28 10:39:21 +02:00
Jonas Platte
ec67fcbd6f api: Use VersionHistory::new from ruma_api!
… and remove a now-redundant check from the macro code.
2022-10-28 10:38:52 +02:00
Jonathan de Jong
7e1fd603e6
Bump MSRV to 1.64 2022-10-26 17:22:23 +02:00
Jonas Platte
c7e84c5249
Fix clippy lints
Automated using `cargo clippy --fix`.
2022-10-26 13:38:29 +02:00
Jonas Platte
f22857e682
macros: Add request attribute macro 2022-10-24 15:28:50 +02:00
Jonas Platte
c021a14b60
macros: Rename error_ty => error 2022-10-24 15:28:50 +02:00
Jonas Platte
1be2def65a
Revert "api: Remove error_ty from Request and Response derive attributes"
This reverts commit 1989e0350d61ca769b258ce5f2f48360dc4b3f3c.
2022-10-24 15:28:50 +02:00
Jonas Platte
876e8e38aa
macros: Simplify Response derive attribute parsing 2022-10-22 12:25:27 +02:00
Jonas Platte
dff84efb0c
api: Remove authentication from Request derive attributes 2022-10-22 12:25:27 +02:00
Jonas Platte
c9bd9bf00b
api: Remove NonAuthRequest traits 2022-10-22 12:24:22 +02:00
Jonas Platte
1989e0350d
api: Remove error_ty from Request and Response derive attributes 2022-10-22 12:24:22 +02:00
Jonas Platte
e7e39a6af1
api: Remove method from Request derive attributes 2022-10-22 12:24:21 +02:00
Jonas Platte
70c5e84107
macros: Remove unnecessary self:: qualitication 2022-10-22 11:29:58 +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
Jonas Platte
6642686b58
macros: Remove unused custom keywords 2022-10-22 11:12:52 +02:00
Jonas Platte
764e96a254
api: Enforce consistent path field order 2022-10-20 20:51:09 +02:00
Jonas Platte
3c3c6f388f
Merge branch 'ruma-0.7' 2022-10-18 09:14:16 +02:00
Jonas Platte
67b2ec7d34
Release ruma-common 0.10.5 2022-10-18 09:09:59 +02:00
Kévin Commaille
ec853e968a events: Generate structs without relation for events that can be replaced 2022-10-17 20:27:49 +02:00
Jonas Platte
6ec7fc09ea
Merge branch 'ruma-0.7' 2022-10-17 18:05:42 +02:00
Jonas Platte
146c237ec4
macros: Allow opt-out of Debug deriving for incoming types 2022-10-17 18:01:39 +02:00
Jonas Platte
83d60d1fab
Release ruma-common 0.10.4 2022-10-17 17:27:27 +02:00
Jonas Platte
cc514a2b6c
macros: Allow opt-out of Debug deriving for incoming types 2022-10-17 17:16:38 +02:00
Kévin Commaille
739c35aaca api: Allow to use any HeaderName with the header keyword of ruma_api 2022-10-10 19:09:39 +02:00
Kévin Commaille
d55573a555 api: Remove AuthScheme::QueryOnlyAccessToken
It is no longer used by the Appservice API.
2022-10-02 15:08:31 +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
Jonas Platte
8290d712f2 api: Move the majority of endpoint URL building out of macro code 2022-09-29 15:49:39 +02:00
Jonas Platte
a6e23d731e api: Slighty reduce the amount of macro-generated code
By moving format(_args)! usage into a regular fn and calling that from
the proc-macro-generated code.
2022-09-29 15:49:39 +02:00
Jonas Platte
2dbaf19ded
macros: Refactor ResponseField 2022-09-26 16:03:05 +02:00
Jonas Platte
a59a648d04
macros: Refactor RequestField 2022-09-26 15:48:45 +02:00
Jonas Platte
028eb8a457
events: Remove deprecated API 2022-09-22 11:50:22 +02:00
Jonas Platte
97387f36c1
macros: Fix outdated documentation 2022-09-22 11:47:32 +02:00
Jonas Platte
66ff4dbaad Raise MSRV to 1.62 2022-09-20 13:49:16 +02:00