Commit Graph

82 Commits

Author SHA1 Message Date
Koxiaet
6947d95030 Merge branch 'master' of github.com-koxiaet:async-graphql/async-graphql into master 2020-09-22 20:03:33 +01:00
Koxiaet
49462cf05f 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
47329b9458 Add Request::extension method. #271 2020-09-21 15:53:07 +08:00
Koxiaet
d52268523f Merge branch 'master' of github.com-koxiaet:async-graphql/async-graphql into master 2020-09-17 19:23:15 +01:00
Koxiaet
890b282dd9 Improve websockets 2020-09-17 19:22:54 +01:00
Sunli
76257403e2 Add support for batch queries. 2020-09-17 19:54:12 +08:00
Sunli
5bb705bdf3 2.0.0-alpha.5 2020-09-14 09:46:22 +08:00
Koxiaet
6e628031bf 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
dcc7d1be14 Replace http::GQLRequest with Request 2020-09-12 17:07:46 +01:00
Koxiaet
35e74a4e17 Create resolver_utils 2020-09-12 10:29:52 +01:00
Sunli
a4fdf6a38a Re-enable the test on websocket. 2020-09-11 16:41:56 +08:00
Sunli
049b652dd6 Add transports::websocket module. 2020-09-11 15:54:56 +08:00
Sunli
35f17a389c Remove unnecessary Result on Schema::execute_stream function. 2020-09-11 10:47:55 +08:00
Sunli
91c75ced2a Make all tests passed (async-graphql). 2020-09-10 19:35:48 +08:00
Sunli
f3c0d86f12 Continue to refactor. 2020-09-10 16:39:43 +08:00
Sunli
ce0683e1f9 Initial attempt. 2020-09-10 12:49:08 +08:00
Koxiaet
47259548c4 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
Koxiaet
1c26ff124f Merge branch 'master' into master 2020-09-06 07:20:18 +01:00
Koxiaet
c055736101 Rustfmt 2020-09-06 07:16:36 +01:00
Koxiaet
81d85c2535 Rewrite async-graphql-parser 2020-09-06 06:38:31 +01:00
Sunli
613549d9c6 Remove unnecessary memory allocation. 2020-09-02 14:27:04 +08:00
Sunli
6a38057a22 Implements Default for Schema. 2020-08-28 14:19:35 +08:00
Sunli
8431c3a3d8 Rename SubscriptionTransport to ConnectionTransport. #240 2020-08-15 08:47:45 +08:00
Sunli
47174966fb Add directive @ifdef 2020-08-06 14:52:54 +08:00
Sunli
2cf350a5c8 Removes code about streaming requests. 2020-07-31 10:10:03 +08:00
Sunli
909ae5e64d Fix input validator is ignored when using variable #207 2020-07-11 10:05:30 +08:00
Sunli
7630fe1f51 Extension::Logger now provides more comprehensive error information. 2020-06-13 22:14:47 +08:00
Sunli
13e31ac9b1 Add QueryBuilder::extension function. #87 2020-06-05 15:42:29 +08:00
Sunli
ddd35315c9 Add SchemaBuilder::enable_federation #136 2020-06-02 08:49:27 +08:00
sunli
1069461873 Logger extensions filter out introspection. #87 2020-05-27 20:47:22 +08:00
Sunli
69367dc65f Fix potential security issues with subscription connections. 2020-05-26 13:35:13 +08:00
Sunli
1461210df7 Add logger extension 2020-05-22 11:58:49 +08:00
Sunli
24af597f30 Add StreamResponse type 2020-05-21 11:36:44 +08:00
Sunli
326fac2799 Add @stream directive 2020-05-21 10:12:54 +08:00
sunli
374023748d Add @defer support for actix-web 2020-05-20 20:10:40 +08:00
sunli
fe4b98e0a8 Solve problem #99 2020-05-20 15:44:59 +08:00
sunli
6f924efcf4 Add defer tests 2020-05-20 13:42:55 +08:00
Sunli
75bfba057a Add Deferred type and @defer directive. #51 2020-05-19 20:53:29 +08:00
sunli
a811f48952 Update schema.rs 2020-05-19 00:03:15 +08:00
sunli
10a8b71adb Preserve field order for introspection. #89 2020-05-16 10:05:48 +08:00
Sunli
f74652e61a Modify some type names (internal types) 2020-05-15 10:08:37 +08:00
sunli
8299a54456 Improve GraphQL query parser performance. #76 2020-05-12 16:27:06 +08:00
sunli
dc7c8d5280 Merge branch 'parser'
Implement a new GraphQL query parser and remove the dependency on graphql-parser.
2020-05-09 17:55:04 +08:00
sunli
220cd1e775 Report subscription stream errors to the client. 2020-05-03 16:02:46 +08:00
sunli
d7df065528 Fixed a bug that caused the subscription request to fail to receive any messages. #45 2020-05-03 10:06:17 +08:00
sunli
c9fe0e9393 Add some test 2020-05-03 09:12:14 +08:00
sunli
d564ce27f1 Websocket transport creates context data from the connect_init.payload property 2020-04-23 14:52:22 +08:00
sunli
a4781523fb v1.9.11
Add context data for subscription
2020-04-23 10:26:16 +08:00
sunli
c11ed53c48 Add SchemaBuilder::register_type method 2020-04-21 20:47:48 +08:00
sunli
09d5e5f489 v1.9.0 2020-04-14 09:53:17 +08:00