82 Commits

Author SHA1 Message Date
Jonas Platte
8e247a5ce2
Release ruma-api 0.17.0-alpha.2 2021-01-02 14:58:00 +01:00
Jonas Platte
f55e2b2cc6
Bump dependency requirements 2020-12-24 02:48:01 +01:00
Jonas Platte
212153ea5f
Mark macro-generated trait implementations as #[automatically_derived] 2020-12-13 13:29:03 +01:00
Jonas Platte
95d21552e0
Use a dedicated method for conversion from http::Request to Ruma request types 2020-12-13 12:59:21 +01:00
Jonas Platte
ac4446ab5b
api-macros: Improve readability of expand_all 2020-12-13 12:28:48 +01:00
Jonas Platte
ae6595339c
Stop stripping serde attributes
To still prevent 'unknown attribute' errors, the attribute is registered
using a dummy derive macro where needed.
2020-12-13 11:54:39 +01:00
Jonas Platte
cc07d26af6
Allow empty request / response if all body parameters are optional 2020-12-06 22:33:27 +01:00
Jonas Platte
5562a23aaa
Move Raw, Outgoing and all macro code from ruma-common to ruma-serde 2020-11-28 03:45:39 +01:00
Jonas Platte
5175d3d622
api_macros: Improve readability, fix lines >100 chars 2020-11-27 23:06:31 +01:00
Jonas Platte
a6ff054ba3
api-macros: Refactor metadata parsing
* duplicate field assignment will now raise an error
* parsing should now be faster (though it probably doesn't matter)
* the code is now split into more independent parts
2020-11-27 21:44:59 +01:00
Jonas Platte
761aecbe4e
api-macros: Remove RawApi, some refactoring 2020-11-27 21:15:37 +01:00
Jonas Platte
183f427143
api-macros: Rename RawErrorType => ErrorType 2020-11-27 21:15:37 +01:00
Jonas Platte
4d9fdeb61d
api-macros: Remove RawResponse 2020-11-27 21:15:37 +01:00
Jonas Platte
05249c6cdb
api-macros: Remove RawRequest 2020-11-27 21:15:37 +01:00
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