Commit Graph

497 Commits

Author SHA1 Message Date
Sunli
1cab6d0186 Remove unnecessary features for tide and warp integrations. 2020-09-26 08:35:17 +08:00
Koxiaet
38c9c718d6 Reduce code duplication in batches in actix web 2020-09-25 17:38:12 +01:00
Sunli
2c693e1245 Make uuid to optional dependent. 2020-09-25 15:40:04 +08:00
Sunli
68965e5a0c Add data_XXX methods to ResolveInfo and remove context field from ResolveInfo. #260 2020-09-25 15:26:29 +08:00
Sunli
09eea044eb Improve tracing 2020-09-25 15:01:55 +08:00
Sunli
3d749f329f
Merge pull request #275 from simplificAR/export_description
Export description with `Registry::export_sdl`
2020-09-24 09:21:47 +08:00
Koxiaet
b871be2731 Rustfmt and write ARCHITECTURE.md 2020-09-23 20:23:15 +01:00
Koxiaet
635a1a5ed7 Publicize resolver utils and move Scalar there 2020-09-23 19:50:35 +01:00
Koxiaet
7f35fbca4c Big improvements to tide integration 2020-09-23 18:30:03 +01:00
Daniel Wiesenberg
225f46d180
Run Rustfmt and Clippy 2020-09-23 15:54:33 +02:00
Daniel Wiesenberg
7b53e856e0
Export description with Registry::export_sdl 2020-09-23 15:47:04 +02:00
Sunli
e3125b2d2d Add Schema::sdl method. #191 2020-09-23 14:14:22 +08:00
Koxiaet
203ea4ad64 Merge branch 'master' of github.com-koxiaet:async-graphql/async-graphql into master 2020-09-22 20:03:33 +01:00
Koxiaet
0880be3e0b Move some validations to parser
This commit moves the single anonymous and duplicated operation name
validation rules into the parser, allowing for a nicer format to be
exposed by it. It also adds better error messages to the parser.
2020-09-22 19:59:48 +01:00
Sunli
fa10a55745 Add Request::extension method. #271 2020-09-21 15:53:07 +08:00
Sunli
0259a35782 Implement Serialize/Deserialize for MaybeUndefine<T>. 2020-09-21 15:22:45 +08:00
Sunli
37e21c54fa Add BatchRequest support for actixweb and warp integrations. 2020-09-21 14:57:33 +08:00
Sunli
559e7c41b3
Merge pull request #272 from mwilliammyers/feat/maybe-undefined
Remove Deserialize impl from MaybeUndefined
2020-09-21 07:56:47 +08:00
William Myers
90b2cfdaea
Remove Deserialize impl from MaybeUndefined
Change Serialize implementation to use the `untagged` attribute.
This handles the common case of directly serializing `MaybeUndefined`,
but deserializing into an `Option<T>`. We could add a more sophisticated
custom deserialize implementation later.
2020-09-20 13:22:51 -07:00
Sunli
e21fe02cac Make ObjectType is public. 2020-09-20 15:47:17 +08:00
Sunli
7bb67f135e Fix docs 2020-09-20 13:34:49 +08:00
Sunli
707b8e5930 Merge branch 'master' of https://github.com/async-graphql/async-graphql 2020-09-20 13:28:25 +08:00
Sunli
5bfb992ad7 Fix enum strings in query variables are not converted to proper enums. #270 2020-09-20 13:28:18 +08:00
William Myers
d3f5c56c6d
Add more trait implementations to MaybeUndefined
Closes #267
2020-09-19 14:10:54 -07:00
Koxiaet
f873c9ac5a Warp: Replace BoxedFilter with impl Filter 2020-09-19 18:10:46 +01:00
Koxiaet
ec49d4ec56 Reexport async-graphql-parser 2020-09-19 06:14:59 +01:00
Sunli
b0690cae8b Fix compiling without features 2020-09-18 15:14:40 +08:00
Sunli
019241ac22 2.0.0-alpha.12 2020-09-18 15:05:07 +08:00
Sunli
c98b269e50 Add Upload::into_async_read with blocking 2020-09-18 14:32:00 +08:00
Sunli
322e296a24 Remove the GQL prefix of all macros. #208 2020-09-18 09:10:24 +08:00
Koxiaet
3c04411780 Remove code duplication for batch requests 2020-09-17 19:43:03 +01:00
Koxiaet
5cf527aeef Merge branch 'master' of github.com-koxiaet:async-graphql/async-graphql into master 2020-09-17 19:23:15 +01:00
Koxiaet
88be6bca61 Improve websockets 2020-09-17 19:22:54 +01:00
Sunli
acc1a6f515 Add support for batch queries. 2020-09-17 19:54:12 +08:00
Sunli
de3f0937b0 Some improvements. 2020-09-17 11:22:09 +08:00
Sunli
dc77e7f262 Update docs 2020-09-17 09:03:36 +08:00
Sunli
c3d70b0553 Add test for ErrorExtensions. 2020-09-17 08:47:41 +08:00
Koxiaet
f82322045e Document features 2020-09-15 19:32:13 +01:00
Sunli
509c92a11f Move http::websocket::create and http::websocket::create_with_initializer function to http::WebSocketStream. 2020-09-15 20:07:59 +08:00
Sunli
ba03ccf3ea Rework websocket
a
2020-09-15 11:49:07 +08:00
Sunli
059128e9c5 http::websocket::create function now returns the WebSocketStream type. 2020-09-15 11:19:00 +08:00
Sunli
d6eea10816 Remove InputObjectType and add InputValueType/OutputValueType to docs 2020-09-15 09:31:55 +08:00
Koxiaet
84be87aab6 Rustfmt 2020-09-14 20:20:15 +01:00
Koxiaet
91f059f9ee Fix compiling without features 2020-09-14 20:16:41 +01:00
Koxiaet
fbcae8aa29 Improved serialize_resp 2020-09-14 19:56:12 +01:00
Koxiaet
a86c3a86b8 Remove and feature-gate dependencies 2020-09-14 19:38:41 +01:00
Sunli
3233f3638c Implement Type for more stdlib collection types #189
Implement InputValueType/OutputValueType for HashSet<T>/BTreeSet<T>/VecDeque<T>/LinkedList<T>
Implement ScalarType for char/NonZero*/HashMap<String,T>/BTreeMap<String, T>
2020-09-14 20:06:44 +08:00
Sunli
fad20a80e9 Update README.md 2020-09-14 14:13:43 +08:00
Sunli
6e3dc9721b Improve websocket 2020-09-14 10:44:56 +08:00
Sunli
134ef7ad56 Fix the problem that the compilation fails when the compilation parameter is --no-default-features.
Update mod.rs
2020-09-14 09:54:55 +08:00
Sunli
d67a511a07 2.0.0-alpha.5 2020-09-14 09:46:22 +08:00
Sunli
bbcfade50e Improve registry 2020-09-14 08:37:15 +08:00
Sunli
ae46e91b08 Remove unnecessary memory allocation in websocket. 2020-09-14 08:25:00 +08:00
Koxiaet
d404e756bc Rework subscriptions
The main change in this commit is changing the return type of
SubscriptionType::create_stream from
Future<Result<Stream<Result<Response>>>> to just Stream<Result<Json>>. I
also allowed the returned stream to borrow from self and context.
2020-09-13 18:52:36 +01:00
Koxiaet
91ec3486ce Support !Unpin in receive_body with pin project 2020-09-13 11:49:07 +01:00
Koxiaet
863d57a4b0 Remove SimpleBroker 2020-09-13 10:47:28 +01:00
Koxiaet
f204841d1f Restructure types module 2020-09-13 10:38:19 +01:00
Koxiaet
1af9ce5b95 Remove unused idx parameter on subscription 2020-09-13 08:13:56 +01:00
Koxiaet
42c3cfc17c Improve lookahead 2020-09-13 08:02:14 +01:00
Koxiaet
55753983a9 Move websockets to http module and fix doc tests 2020-09-13 07:40:34 +01:00
Sunli
f530d01bf4 Remove all attribute macros that can be replaced by derive. 2020-09-13 11:41:15 +08:00
Koxiaet
cffed09c78 Remove Deref for ContextBase 2020-09-12 17:42:15 +01:00
Koxiaet
8796c5e1a7 Replace http::GQLRequest with Request 2020-09-12 17:07:46 +01:00
Sunli
a8e7608c9e Hide async_graphql::resolver_utils module in docs.
l:
2020-09-12 21:47:11 +08:00
Sunli
bbf784fe42 Remove async_graphql::http::StreamBody
l:
2020-09-12 21:44:34 +08:00
Sunli
3b5d387f55 Delete serde.rs 2020-09-12 21:27:14 +08:00
Koxiaet
1aa36819eb Create resolver_utils 2020-09-12 10:29:52 +01:00
Sunli
e11d8c8d87 Change MultipartOptions to a builder. 2020-09-12 07:43:50 +08:00
Sunli
20dc0cfdfc Fix a little bug. 2020-09-11 23:43:26 +08:00
Sunli
a0b55a9e43 async-graphql-tide 2.0 2020-09-11 22:17:17 +08:00
Sunli
a93b91ae2d Re-enable the test on websocket. 2020-09-11 16:41:56 +08:00
Sunli
3e01ef0be7 Fix tests 2020-09-11 16:05:21 +08:00
Sunli
faac753096 Add transports::websocket module. 2020-09-11 15:54:56 +08:00
Sunli
9cc293c8be Clippy clean 2020-09-11 10:51:20 +08:00
Sunli
553e6ffd53 Remove unnecessary Result on Schema::execute_stream function. 2020-09-11 10:47:55 +08:00
Sunli
c88747dfe4 Make all tests passed (async-graphql). 2020-09-10 19:35:48 +08:00
Sunli
d5cbbfb05f Merge changes. 2020-09-10 16:54:38 +08:00
Sunli
2f5a1ccf20 Merge branch '2.0' of github.com:async-graphql/async-graphql into 2.0 2020-09-10 16:43:24 +08:00
Sunli
7a90069cad Continue to refactor. 2020-09-10 16:39:43 +08:00
Koxiaet
c00c368c35 Move HTTP functions to HTTP module 2020-09-10 08:04:24 +01:00
Sunli
9bc837da9e Initial attempt. 2020-09-10 12:49:08 +08:00
Sunli
cacb5aa9d8 Rustfmt 2020-09-10 09:09:55 +08:00
Koxiaet
096660a676 Remove anyhow, byteorder and base64 dependencies 2020-09-09 17:34:23 +01:00
Koxiaet
a526b751d5 Merge branch 'master' of github.com-koxiaet:async-graphql/async-graphql into master 2020-09-09 17:06:36 +01:00
Koxiaet
7ad1b8cd58 Reorder dependencies and remove dependency on mime 2020-09-09 17:03:33 +01:00
Sunli
31f4dcb2f2 Merge branch 'master' of https://github.com/async-graphql/async-graphql 2020-09-09 18:42:58 +08:00
Sunli
0d3a0f6949 Add context to ResolveInfo. #260 2020-09-09 18:42:10 +08:00
Koxiaet
b3093e92d4 Fix Tide tests 2020-09-08 11:07:32 +01:00
Koxiaet
122f8ef230 Fix tests 2020-09-08 10:19:25 +01:00
Koxiaet
7cd823ba04
Merge branch 'master' into master 2020-09-08 09:48:01 +01:00
Koxiaet
a42cc58f00 Merge branch 'master' of github.com-koxiaet:Koxiaet/async-graphql into master 2020-09-08 09:32:37 +01:00
Koxiaet
c42aa55625 Rustfmt 2020-09-08 09:30:29 +01:00
Koxiaet
ed5acdcf18 Support service parsing in async-graphql-parser
- Instead of adding a separate module `schema` like there was before,
since service parsing and executable parsing have a fair amount of
overlap I put them as two submodules `executable` and `service` in both
`parse` and `types`. Also, the grammar is unified under one `.pest`
file.
- Added const equivalents to `Value`, `Directive` etc
- Change the reexport `async_graphql::Value` from
`async_graphql_parser::types::Value` to
`async_graphql_parser::types::ConstValue` since in 99% of cases in this library
a const value is wanted instead of a value.
- Added consistent usage of executable/service instead of the ambiguous
query/schema.
- Some of the tests actually had invalid GraphQL so the new more correct
grammar made them fail, that was fixed.
- Added a `Name` newtype to refer to GraphQL names
(`[A-Za-z_][A-Za-z_0-9]*`) since they are used so frequently.
2020-09-08 09:21:27 +01:00
Sunli
5f14325ef5 Remove historical code that is no longer used. 2020-09-07 18:53:03 +08:00
Sunli
9ce0554ed3 Clippy cleanup 2020-09-06 18:59:38 +08:00
Sunli
22fb1681d5 Make all tests pass. 2020-09-06 18:53:24 +08:00
Koxiaet
9ad4e8c1a8
Merge branch 'master' into master 2020-09-06 07:20:18 +01:00
Koxiaet
3bf5f3a16c Rustfmt 2020-09-06 07:16:36 +01:00
Koxiaet
e3e58d261d Rewrite async-graphql-parser 2020-09-06 06:38:31 +01:00
Sunli
dc02466cc7 Implement Into<ID> for all integer types. 2020-09-06 12:33:57 +08:00