Commit Graph

210 Commits

Author SHA1 Message Date
Sunli
572f907df7 Now when the resolver returns the Result type, E can be all types that implement Into<async_graphql::Error>. 2021-04-09 15:04:01 +08:00
Sunli
81e053811b Improve Extensions. 2021-04-05 12:21:02 +08:00
Sunli
824356d118 Rework Extension 2021-04-04 14:37:41 +08:00
Sunli
e899885aa8 Add Request::disable_introspection method. #456 2021-03-30 11:59:57 +08:00
Sunli
05911f3516 Rework Extension & TracingExtension & OpenTelemetryExtension 2021-03-26 12:03:10 +08:00
Sunli
c2c2868b64 Fix internal context missing when there's no connection_init frame. #451 2021-03-24 17:24:12 +08:00
Sunli
15036be792 Add ComplexObject macro. #355 2021-03-18 10:13:46 +08:00
Sunli
4f47703118 Switch the async runtime used for testing to Tokio. 2021-03-12 12:47:24 +08:00
Taiki Endo
2bff2ad9dc Support generics in Subscription types 2021-03-09 22:21:56 +09:00
Sunli
88232deb62 Add test for Federation entity lookup with DataLoader. 2021-03-06 08:21:44 +08:00
Sunli
4f2ea5ed50 Moved Variables from async_graphql::context::Variables to
`async_graphql::Variables`.
2021-02-28 09:37:42 +08:00
Sunli
4ebe0dd4cd Allow the deprecation attribute to have no reason. 2021-02-27 11:59:58 +08:00
Sunli
144ddb752c Clippy clean 2021-02-26 20:05:09 +08:00
Sunli
5c66a9cdda Add support for Federation nested keys. 2021-02-21 23:06:26 +08:00
Sunli
2d7627cd39 Fixed GraphQL over WebSocket Protocol does not support ConnectionError events. #406 2021-02-06 11:02:41 +08:00
Sunli
b98e35995d Supports async websocket initializer. #393 2021-01-16 16:37:20 +08:00
Sunli
9c6fe67a23 Fix a bug that cause generic InputObject and SimpleObject is incorrect name. #387 2021-01-14 19:20:28 +08:00
Sunli
85a0ab0da1 Add support for generic SimpleObject. #387 2021-01-14 13:16:30 +08:00
Sunli
b054fc0704 Add Send + Sync constraints for InputType, OutputType and SubscriptionType. 2021-01-14 12:41:59 +08:00
Sunli
74657c6242 Add support for generic InputObject. #387 2021-01-14 11:27:15 +08:00
Sunli
5f2e0ae50d Clippy clean 2021-01-11 09:01:28 +08:00
Sunli
099415fd42 Implements InputType for Box<T> and Arc<T>. #382 2021-01-10 13:48:18 +08:00
Sunli
8f32e8e81e Fix #[Object] macro panic with default u32. #361 2020-12-28 18:39:17 +08:00
Aaron Hill
d8780bd720 Strip r# prefix when constructing getter ident
When calling `to_string()` on an identifier, the returned string will
have an `r#` prefix if the original identifer was a raw identifier. This
prefix needs to be removed if the identifier is interpolated into
another identifier (e.g. `__some_prefix__r#other_ident`) in order for
the new identifier to be valid.

This issue was previously masked due to the fact that the relevant test
uses `r#i32`. It's possible to use `i32` as a normal (non-raw) ident -
due to a bug in rustc, this means that the user-supplied `r#` prefix
will be lost when calling `to_string()`. This bug will eventually be
fixed, causing `to_string()` to start returning `r#i32` instead of
`i32`.

This commit strips the `r#` prefix (if present) from an identifier
before using it to construct a new identifier. The relevant test is
updated to use `r#match`, which actually requires the `r#` prefix to be
a valid identifier. This causes the test to fail without this patch on
current versions of Rust.
2020-12-20 19:08:22 -05:00
Sunli
bf9e3ec578 Improve depth and complex. 2020-12-18 18:56:28 +08:00
Sunli
c6d8df0bdb Remove async-channel and async-mutex from dependencies. 2020-12-17 10:05:32 +08:00
Sunli
fe24247c9d Add the skip attribute to the InputObject fields. 2020-12-15 20:29:59 +08:00
Sunli
ba23761cb4 Add visible attributes on types, fields, and parameters, allowing some content to be hidden based on conditions. 2020-12-12 16:23:53 +08:00
Sunli
b3bd8603e3 Add tests for graphql-ws. 2020-12-04 16:44:48 +08:00
Sunli
46d01db40f Merge branch 'master' into pr/350 2020-12-04 12:17:23 +08:00
Sunli
4b00f9393a Add websocket subprotocol for actix-web. 2020-12-04 12:13:52 +08:00
Sunli
9b10ebeab5 Fix the problem that the fields of the list are not merged correctly.#345 2020-11-27 10:26:23 +08:00
Sunli
12b3b0ee46 Fix async_graphql::Object does not work when inside macro after rust 1.48.0 2020-11-22 09:53:18 +08:00
Sunli
456f776fdb Merge branch 'master' of github.com:async-graphql/async-graphql 2020-11-04 10:26:04 +08:00
Sunli
194a2ff100 Fix the problem that Description derived macro do not support generic objects. 2020-11-04 10:25:30 +08:00
Sunli
bcf85fce51 Fix #333 2020-11-03 18:16:55 +08:00
Sunli
03144a47b9 Fix the problem of scalar macro. 2020-11-03 13:50:22 +08:00
Sunli
734b43b613 Fix interface downcasting. #330 2020-10-31 08:58:54 +08:00
Sunli
8d2c8f9bcc Add test for SchemaBuilder::override_description. #327 2020-10-27 20:47:24 +08:00
Sunli
320d9eef50 Add use_type_description attribute for derive macros Object, Scalar and Subscription. 2020-10-26 21:34:05 +08:00
Sunli
33697ea19f Add interface to implement another interface. #322 2020-10-24 09:08:18 +08:00
Sunli
4880c687ca Fix the problem that the Registry::create_dummy_type function may overwrite the keys of the registered type. #316 2020-10-20 19:55:10 +08:00
Sunli
e3d693da28 Add entity lookup support for MergedObject.
Add some GraphQL specification constraints for all derived macros.

Use `Registry::create_dummy_type` to create a merged type.
2020-10-20 11:49:31 +08:00
Sunli
83a0028085 Fix the bug that ʻExtension::prepare_request` cannot get the correct request data through the context.
Add test code for extension.
2020-10-18 11:24:16 +08:00
Koxiaet
a79ee02958 Fix macro hygiene 2020-10-16 20:21:46 +01:00
Koxiaet
79ad5540a1 Make macros hygienic 2020-10-16 11:37:59 +01:00
Koxiaet
12fe7445c7 Replace futures with futures_util 2020-10-16 07:49:22 +01:00
Sunli
4fa4b25ce4 Fix can no longer derive Union for union types with lifetimes. #311 2020-10-15 08:53:17 +08:00
Sunli
f9f60d31ec Configurable case conversion. 2020-10-14 19:16:10 +08:00
Sunli
2d0c192df8 Fix a bug in the validator. 2020-10-14 10:54:46 +08:00