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