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
Jonas Platte
12c7a4a17c
Rewrap comment
2020-08-01 01:02:45 +02:00
Jonas Platte
10184cb9ca
Use a dedicated method for conversion from Ruma request type to http::Request
2020-08-01 01:01:15 +02:00
Devin Ragotzy
c86f0b106b
Re-add the Outgoing trait and derive macro
...
The Outgoing trait now has no attributes except incoming_no_deserialize,
it looks for any references and lifetimes in a struct declaration and
removes them. The point of the Outgoing trait is to allow references to
be serialized and owned values to come out of deserialization. It has no
ability to wrap values in Raw (then EventResult).
2020-07-31 12:59:19 -04:00