68 Commits

Author SHA1 Message Date
Jonas Platte
00ae067bce
api-macros: Remove RawMetadata 2020-11-27 21:15:37 +01:00
Jonas Platte
187809cff5
api-macros: Export METADATA as a regular constant
Rather than just as an associated constant in trait implementations.
2020-11-27 21:15:32 +01:00
Devin Ragotzy
c15382ca41
api-macros: Make Response header fields override any defaults 2020-11-01 14:04:34 +01:00
Jonas Platte
e1975c2035
Be more consistent about whitespace 2020-10-24 00:44:01 +02:00
skim
5b904ddbd7
Update links to main branch 2020-10-13 10:24:54 +02:00
Jonas Platte
406b8501ac
Fix building on Rust 1.43.0 2020-09-29 22:12:56 +02:00
Jonas Platte
006582e3f2
Various README updates 2020-09-29 20:30:33 +02:00
Jonas Platte
8b9e20b842
Fix outdated links 2020-09-29 20:10:54 +02:00
Jonas Platte
e0e7f901d0
Merge license sections in README.md's 2020-09-26 16:26:32 +02:00
Jonas Platte
fdd326edf7
Move Outgoing from ruma-api to ruma-common
The derive macro moves from ruma-api-macros to a new ruma-common-macros
crate likewise.
2020-09-22 21:35:10 +02:00
Vincent Lee
d36d005b97
Change requires_authentication: bool to authentication: AuthScheme 2020-09-18 16:28:51 +02:00
Jonas Platte
133056c524
api-macros: Small improvements to request building code 2020-09-17 21:46:46 +02:00
Jonas Platte
3d1ab0cd3f
api-macros: Fix docs for associated METADATA types 2020-09-11 21:09:55 +02:00
Jonas Platte
67d113ba57
api: Add non_exhaustive attribute to request and reponse types through the macro 2020-09-11 21:01:02 +02:00
Devin Ragotzy
a8b4bad684
Support optional header values in request/response types 2020-08-21 19:53:46 +02:00
Jonas Platte
30a0a39d2b
Outgoing derive: Replace incoming_no_deserialize with incoming_derive(!Deserialize) 2020-08-17 22:08:56 +02:00
Jonas Platte
f101611c3d
Add incoming_derive to Outgoing derive macro 2020-08-17 22:03:56 +02:00
Jonas Platte
4a52931af7
Fix outdated docs on Outgoing derive 2020-08-17 21:40:48 +02:00
Jonas Platte
e06c800701
Remove unnecessary clone in expand_derive_outgoing 2020-08-17 21:40:47 +02:00
Devin Ragotzy
a6c1b8f0bd
Parse and emit attributes connected to the request/response defs in ruma_api macro 2020-08-14 00:01:19 +02:00
Jonas Platte
987d48666c
Split Endpoint trait into OutgoingRequest, IncomingRequest 2020-08-12 23:33:27 +02:00
Jonas Platte
52f7546c47
Make most things in ruma_api::error actually public (no more #[doc(hidden)])
So people can implement their own endpoints without the macros and
without using undocumented parts of the API
2020-08-12 23:33:27 +02:00
Devin Ragotzy
906465d0c3
Replace all ::ruma_api:: with the discovered crate name or $crate 2020-08-12 14:01:43 +02:00
Devin Ragotzy
98ddf25ae2 Allow the main ruma crate to re-export the ruma-api-macro things 2020-08-10 23:49:14 +02:00
Devin Ragotzy
6877c2f38d Use ruma_api crate from ruma or if renamed or not in crate prelude 2020-08-10 23:49:14 +02:00
Jonas Platte
9cf552f361
Add Endpoint::{IncomingRequest, IncomingResponse}
With these, it is no longer necessary to copy over the Endpoint trait's
where clauses whenever it is used as a bound
2020-08-09 03:18:14 +02:00
Devin Ragotzy
ddb1b48e71
Pass the attributes of any type deriving Outgoing to the Incoming type 2020-08-09 03:01:40 +02:00
Devin Ragotzy
f455d4c8ab
Remove Response lifetime generation code in ruma_api macro
… and enforce that there are no lifetimes in response {}
2020-08-09 03:01:19 +02:00
Jonas Platte
1fbf05d71f
Fix some bad formatting 2020-08-08 21:52:58 +02:00
Jonas Platte
0366466792
Use toplevel imports in ruma_api! expansion 2020-08-08 21:23:07 +02:00
Jonas Platte
ade12dec47
Fix inversion of NonAuthEndpoint implementations 2020-08-08 20:05:44 +02:00
Jonas Platte
30e73186e7
Bump dependencies 2020-08-07 19:13:00 +02:00
Devin Ragotzy
b2d45e4748 Rename generic_lifetime -> is_lifetime_generic 2020-08-07 00:48:01 +02:00
Devin Ragotzy
1060d63057 Use full type with Outgoing trait for request query deserialization 2020-08-07 00:48:01 +02:00
Devin Ragotzy
e783288ef0 Limit when RequestQuery impls Deserialize and impl Outgoing 2020-08-07 00:48:01 +02:00
Devin Ragotzy
770a68d49b Fix Outgoing derive missing lifetimes when branching for emitting code 2020-08-07 00:48:01 +02:00
Devin Ragotzy
5103baeb4b Add semicolons and the other possible syn::Type types 2020-08-07 00:48:01 +02:00
Devin Ragotzy
1336cd8c41 Handle tuple types in collect_lifetime_idents 2020-08-07 00:48:01 +02:00
Devin Ragotzy
4e2f1a19e1 Fix typo and rename copy_lifetime_ident -> collect_lifetime_ident 2020-08-07 00:48:01 +02:00
Devin Ragotzy
f67744bb4f Throw error if query_map has any ref types 2020-08-07 00:48:01 +02:00
Devin Ragotzy
588a6035f0 Use Outgoing trait in ruma_api_lifetime tests 2020-08-07 00:48:01 +02:00
Devin Ragotzy
80237d6dd1 Fix clippy warnings 2020-08-07 00:48:01 +02:00
Devin Ragotzy
c980644d77 Clean up and fix missing comma for request query map 2020-08-07 00:48:01 +02:00
Devin Ragotzy
e36149aea1 Add tuple lifetime stripping to derive_outgoing 2020-08-07 00:48:01 +02:00
Devin Ragotzy
0793724264 Refactor to use Req/ResLifetimes struct for adding lifetimes to req/res 2020-08-07 00:48:01 +02:00
Devin Ragotzy
e7f7c3bb9d Add lifetime params to Request/Response when needed 2020-08-07 00:48:01 +02:00
Devin Ragotzy
1155edcaed Add lifetime discovery and collection functions to ruma-api-macro 2020-08-07 00:48:01 +02:00
Devin Ragotzy
2fbdd674ab Refactor impl_outgoing_with_incoming_self and add struct variant 2020-08-01 18:19:17 +02:00
Devin Ragotzy
f0fb9a69c0 Handle enums and nested types properly 2020-08-01 18:19:17 +02:00
Jonas Platte
f5c529bc36
Try not to rely on prelude in ruma-api-macros generated code
… and fix some lines that were too wide
2020-08-01 01:21:09 +02:00