Commit Graph

562 Commits

Author SHA1 Message Date
Sunli
5d705afeb4 Update docs 2020-09-17 09:03:36 +08:00
Sunli
70556af838 Add test for ErrorExtensions. 2020-09-17 08:47:41 +08:00
Koxiaet
e2f53cc30f Document features 2020-09-15 19:32:13 +01:00
Sunli
492bba1cdd Move http::websocket::create and http::websocket::create_with_initializer function to http::WebSocketStream. 2020-09-15 20:07:59 +08:00
Sunli
6b71ba87de Rework websocket
a
2020-09-15 11:49:07 +08:00
Sunli
86a6a34aac http::websocket::create function now returns the WebSocketStream type. 2020-09-15 11:19:00 +08:00
Sunli
1e430b9c11 Remove InputObjectType and add InputValueType/OutputValueType to docs 2020-09-15 09:31:55 +08:00
Koxiaet
c2f34b90e5 Rustfmt 2020-09-14 20:20:15 +01:00
Koxiaet
d2b1dd4cab Fix compiling without features 2020-09-14 20:16:41 +01:00
Koxiaet
c546b87de6 Improved serialize_resp 2020-09-14 19:56:12 +01:00
Koxiaet
a3ad1aac30 Remove and feature-gate dependencies 2020-09-14 19:38:41 +01:00
Sunli
42817a3aa6 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
99ff3a8b96 Update README.md 2020-09-14 14:13:43 +08:00
Sunli
1ab5da63ef Improve websocket 2020-09-14 10:44:56 +08:00
Sunli
01f02c6bc1 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
5bb705bdf3 2.0.0-alpha.5 2020-09-14 09:46:22 +08:00
Sunli
fd35272f62 Improve registry 2020-09-14 08:37:15 +08:00
Sunli
6e5153c8b1 Remove unnecessary memory allocation in websocket. 2020-09-14 08:25:00 +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
8d92454fc3 Support !Unpin in receive_body with pin project 2020-09-13 11:49:07 +01:00
Koxiaet
367076cd66 Remove SimpleBroker 2020-09-13 10:47:28 +01:00
Koxiaet
6cf7e78ea9 Restructure types module 2020-09-13 10:38:19 +01:00
Koxiaet
d4eed93ad4 Remove unused idx parameter on subscription 2020-09-13 08:13:56 +01:00
Koxiaet
06a52dc936 Improve lookahead 2020-09-13 08:02:14 +01:00
Koxiaet
9796364348 Move websockets to http module and fix doc tests 2020-09-13 07:40:34 +01:00
Sunli
24b80d52d3 Remove all attribute macros that can be replaced by derive. 2020-09-13 11:41:15 +08:00
Koxiaet
b8add03d53 Remove Deref for ContextBase 2020-09-12 17:42:15 +01:00
Koxiaet
dcc7d1be14 Replace http::GQLRequest with Request 2020-09-12 17:07:46 +01:00
Sunli
79bcf5f710 Hide async_graphql::resolver_utils module in docs.
l:
2020-09-12 21:47:11 +08:00
Sunli
adcd36a0bf Remove async_graphql::http::StreamBody
l:
2020-09-12 21:44:34 +08:00
Sunli
e136f90ba6 Delete serde.rs 2020-09-12 21:27:14 +08:00
Koxiaet
35e74a4e17 Create resolver_utils 2020-09-12 10:29:52 +01:00
Sunli
1320d1ae45 Change MultipartOptions to a builder. 2020-09-12 07:43:50 +08:00
Sunli
857afb1f54 Fix a little bug. 2020-09-11 23:43:26 +08:00
Sunli
c2e32c2ea1 async-graphql-tide 2.0 2020-09-11 22:17:17 +08:00
Sunli
a4fdf6a38a Re-enable the test on websocket. 2020-09-11 16:41:56 +08:00
Sunli
c129079f69 Fix tests 2020-09-11 16:05:21 +08:00
Sunli
049b652dd6 Add transports::websocket module. 2020-09-11 15:54:56 +08:00
Sunli
ec670adb6c Clippy clean 2020-09-11 10:51:20 +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
22d6e20da3 Merge changes. 2020-09-10 16:54:38 +08:00
Sunli
13f094b67e Merge branch '2.0' of github.com:async-graphql/async-graphql into 2.0 2020-09-10 16:43:24 +08:00
Sunli
f3c0d86f12 Continue to refactor. 2020-09-10 16:39:43 +08:00
Koxiaet
3945599015 Move HTTP functions to HTTP module 2020-09-10 08:04:24 +01:00
Sunli
ce0683e1f9 Initial attempt. 2020-09-10 12:49:08 +08:00
Sunli
53a7314666 Rustfmt 2020-09-10 09:09:55 +08:00
Koxiaet
f770501557 Remove anyhow, byteorder and base64 dependencies 2020-09-09 17:34:23 +01:00
Koxiaet
f1af4ea195 Merge branch 'master' of github.com-koxiaet:async-graphql/async-graphql into master 2020-09-09 17:06:36 +01:00
Koxiaet
45a08e9b00 Reorder dependencies and remove dependency on mime 2020-09-09 17:03:33 +01:00
Sunli
c397156657 Merge branch 'master' of https://github.com/async-graphql/async-graphql 2020-09-09 18:42:58 +08:00
Sunli
a4a5847d4f Add context to ResolveInfo. #260 2020-09-09 18:42:10 +08:00
Koxiaet
2f80e484d1 Fix Tide tests 2020-09-08 11:07:32 +01:00
Koxiaet
ea7e4eaf2a Fix tests 2020-09-08 10:19:25 +01:00
Koxiaet
324e65f3dd Merge branch 'master' into master 2020-09-08 09:48:01 +01:00
Koxiaet
f9ce6118b2 Merge branch 'master' of github.com-koxiaet:Koxiaet/async-graphql into master 2020-09-08 09:32:37 +01:00
Koxiaet
04c898ef01 Rustfmt 2020-09-08 09:30:29 +01: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
Sunli
175a48875e Remove historical code that is no longer used. 2020-09-07 18:53:03 +08:00
Sunli
e2c9de9183 Clippy cleanup 2020-09-06 18:59:38 +08:00
Sunli
ca84859f46 Make all tests pass. 2020-09-06 18:53:24 +08: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
dece273372 Implement Into<ID> for all integer types. 2020-09-06 12:33:57 +08:00
Sunli
44413f32c9 Update docs for InputObject macro. 2020-09-03 20:20:33 +08:00
Sunli
613549d9c6 Remove unnecessary memory allocation. 2020-09-02 14:27:04 +08:00
Sunli
e79fa24641 Improve subscriptions performance. 2020-09-02 10:47:18 +08:00
Sunli
c3a4bf6e11 Merge branch 'master' of https://github.com/async-graphql/async-graphql 2020-09-01 19:34:05 +08:00
Sunli
ff43bd8a21 Improve subscriptions performance for warp. 2020-09-01 19:33:35 +08:00
Sunli
769bffcbf2 Fix the test code and add docs. 2020-09-01 09:10:12 +08:00
Koxiaet
02f7a5fbbc Remove dependency on serde_derive, satisfy Clippy, improve docs 2020-08-31 19:18:02 +01:00
Sunli
40d19f2f58 Add DateTime<Local> scalar.
Fixed compile problem with `v1.48-nightly`.
2020-08-31 16:12:12 +08:00
Sunli
0c4f8e5c16 Clippy clean 2020-08-31 15:40:44 +08:00
Sunli
78d3885a67 Cargo fmt --all 2020-08-31 15:35:53 +08:00
D1plo1d
7f7397650a Added async_graphql::graphql tracing namespace 2020-08-30 21:11:43 -04:00
D1plo1d
5a6c77ba9d Refactored tracing extension to allow better span and event filtering and improve signal to noise 2020-08-30 21:01:53 -04:00
D1plo1d
c675b929d3 Added Default to tracing extension 2020-08-30 16:32:14 -04:00
Renat Sadykov
7567a47498 Add the DateTime<FixedOffset> scalar 2020-08-29 23:18:57 +03:00
Sunli
6a38057a22 Implements Default for Schema. 2020-08-28 14:19:35 +08:00
Sunli
c35eecd90d Merge subscriptions #243 2020-08-27 15:35:48 +08:00
Sunli
8431c3a3d8 Rename SubscriptionTransport to ConnectionTransport. #240 2020-08-15 08:47:45 +08:00
Sunli
8c272127ea Add scalar type for NaiveDateTime. #237 2020-08-14 15:28:42 +08:00
Sunli
4e8bd65b34 Fix send data with 'complete' WebSocket message. #238 2020-08-14 15:21:10 +08:00
Sunli
6bf9718225 Update docs 2020-08-10 14:57:45 +08:00
Sunli
2a62c56104 Add derive macro GQLMergeObject. #231 2020-08-10 14:11:46 +08:00
Sunli
b0403f4e99 Add Default impl for MergedObject. #231 2020-08-10 10:47:30 +08:00
Sunli
4b6bb38e83 Add MergedObject type. #231 2020-08-09 15:03:10 +08:00
Midas Lambrichts
db904b623b 3% speedup in chat run by allocating vector up front 2020-08-08 13:36:14 +02:00
Sunli
47174966fb Add directive @ifdef 2020-08-06 14:52:54 +08:00
Sunli
aa3293b65c Add support for query execution over websocket. 2020-07-31 11:30:57 +08:00
Sunli
2cf350a5c8 Removes code about streaming requests. 2020-07-31 10:10:03 +08:00
Sunli
503339f504 InputValueValidator::is_valid function now returns the Result type. #221 2020-07-30 09:43:51 +08:00
Sunli
b7ad1ded91 Export serde_json::Number as async_graphql::Number. 2020-07-30 09:30:57 +08:00
Sunli
2dc61013be Replace Value::Int and Value::Float with Value::Number. 2020-07-29 09:42:52 +08:00
Sunli
a2aa731fe4 Use log crate instead of xlog because xlog still needs to be perfected. #217 2020-07-24 16:55:46 +08:00
Sunli
a18abab7b7 Fix Federation schema throws error while using multiple Option inputs #211 2020-07-17 10:14:40 +08:00
Sunli
4d3851e1b5 Replace log crate with xlog. 2020-07-15 18:05:24 +08:00
Sunli
909ae5e64d Fix input validator is ignored when using variable #207 2020-07-11 10:05:30 +08:00
Sunli
ea9e733a6e Merge pull request #206 from D1plo1d/patch-1
Add Serialize and Deserialize to ID
2020-07-08 15:10:01 +08:00
Sunli
2dde8b4aa6 Add OutputJson type #203 2020-07-08 14:44:57 +08:00
Rob Gilson
ff8fa50718 Add Serialize and Deserialize to ID
This should allow types containing IDs to be serialized (eg. for saving to a database).
2020-07-08 01:58:46 -04:00
Koxiaet
35c2401676 Document default values 2020-07-07 09:41:29 +01:00
Blaine Bublitz
c48f126fcd Use FieldResult for data(), add data_unchecked() for panic 2020-07-06 17:39:53 -07:00
Sunli
eb7a72aac6 Remove ref attribute for SimpleObject fields, and add owned attribute. 2020-06-23 14:42:57 +08:00
Sunli
ad4013d034 Fix typo 2020-06-22 15:59:53 +08:00
Sunli
643b540575 Update datetime.rs 2020-06-16 23:21:05 +08:00
Jake Thompson
3329cb37ea Update parsing to support more formats, this includes the JS standard format that is not compatible with the %+ time format 2020-06-16 01:46:20 +00:00
Sunli
665b337bf2 Remove all datasource-related code and update the documentation. 2020-06-15 14:17:19 +08:00
Sunli
1b8de3b433 Remove connection::DataSource 2020-06-15 12:06:15 +08:00
Sunli
5dfc12469a Update integers.rs 2020-06-15 09:26:43 +08:00
Midas Lambrichts
11d7a8cbdb Added u32 as ScalarType 2020-06-14 22:13:45 +02:00
Sunli
7630fe1f51 Extension::Logger now provides more comprehensive error information. 2020-06-13 22:14:47 +08:00
Sunli
0fe1067866 Add Querybuilder::query_source function. #174 2020-06-13 09:09:44 +08:00
Sunli
bbb58701af Fix typo 2020-06-12 09:55:20 +08:00
Bryan Burgers
e21f2e6316 Allow vars to be missing when def is nullable
Allow variables to be missing when the associated variable definition is
nullable (in which case we use `null` as the default).

This fixes queries like

```graphql
query Test($var: Int) {
    test(var: $var)
}
```

```json
{}
```

which appear to be allowed according to the GraphQL spec.
2020-06-11 10:00:47 -05:00
Sunli
6f7a3ea0e4 Add GQLInterface and GQLUnion 2020-06-11 15:08:51 +08:00
Sunli
a58d2d71ab Merge branch 'master' of github.com:async-graphql/async-graphql 2020-06-11 11:23:34 +08:00
Sunli
82eefd67fd Add GQLEnum, GQLInputObject, GQLSimpleObject macros. #164
use `proc_macro_derive` to solve the problem that Enum, InputObject, and SimpleObject do not support the #cfg attribute.
2020-06-11 11:23:23 +08:00
Coenen Benjamin
a1e5543f9c Update name of scalar DateTime to DateTimeUtc (#166)
* Update name of scalar DateTime to DateTimeUtc
2020-06-09 21:18:23 +08:00
Sunli
7b09aaf70b Fix slice support #165 2020-06-09 18:45:22 +08:00
William Myers
422337fd1e Add docs about into_read being blocking
Addresses #151
2020-06-07 20:44:01 -06:00
sunli
32210eb64a Fix upload seems broken in the new version. #160 2020-06-07 16:32:05 +08:00
iancormac84
9b3c2c9b8a Upgrade bson crate. 2020-06-06 12:38:15 -04:00
Sunli
52996501ad Fix Subscription panics when unsubscribing from exhausted stream #157 2020-06-06 19:58:36 +08:00
Sunli
edec696610 Add tests for feature attribute 2020-06-06 11:49:29 +08:00
Sunli
4a28518e33 Update playground_source.rs 2020-06-06 10:30:14 +08:00
Sunli
1820e1b723 Clippy cleanup 2020-06-06 10:10:10 +08:00
Roman Useinov
3889f219cd Add the ability to specify full config for GraphQLPlayground (#155)
* add the ability to specify full config for GraphQLPlayground
2020-06-06 09:55:53 +08:00
Coenen Benjamin
437a677948 Update FnMut to FnOnce for query closure 2020-06-06 02:00:21 +02:00
Sunli
b31ac79123 add feature attribute to field attribute inside SimpleObject 2020-06-05 21:17:15 +08:00
Coenen Benjamin
1084c44535 add feature attribute to field attribute inside Object (#153)
* add feature support in field attribute
2020-06-05 21:06:53 +08:00
Sunli
13e31ac9b1 Add QueryBuilder::extension function. #87 2020-06-05 15:42:29 +08:00
Sunli
37943fa30a Fix relay @defer requires a label in the second chunk. #146 2020-06-05 12:20:23 +08:00
Sunli
bd75b81d85 Update guard.rs 2020-06-03 14:59:26 +08:00
Sunli
746544412b Add PostGuard. #129 2020-06-03 14:50:06 +08:00
Sunli
ef6ed9aae5 Update connection::query docs 2020-06-02 21:43:08 +08:00
Sunli
54177e0a1a Add Default derive for Json type 2020-06-02 21:00:54 +08:00
Sunli
c41dba50bc Add example for connection::query 2020-06-02 19:12:28 +08:00
Sunli
2452a44484 Add connection::query function 2020-06-02 17:43:13 +08:00
Sunli
b10aa5fde8 Little performance optimization. 2020-06-02 12:02:14 +08:00
Sunli
2b2f193800 Merge pull request #119 from kevinschoonover/master
Add tests for Input Validators
2020-06-02 09:06:59 +08:00
Sunli
775c7be6b1 Update docs 2020-06-02 08:57:45 +08:00
Sunli
ddd35315c9 Add SchemaBuilder::enable_federation #136 2020-06-02 08:49:27 +08:00
Kevin Schoonover
9b114cf616 Add input validator tests + fix clippy errors 2020-06-01 16:42:13 -05:00
Kevin Schoonover
7c35bf1186 Update input validator errors to be standardized 2020-06-01 16:42:06 -05:00
Kevin Schoonover
eeb9d6219d Fix AND input validator operator 2020-06-01 16:42:06 -05:00
Sunli
e841c911f8 Add ability to exclude Subscription from _service.sdl #131 2020-06-01 19:36:19 +08:00
Sunli
89f9a7cbbf Add async_graphql_warp::GQLResponseStream type 2020-06-01 10:40:07 +08:00
Sunli
76035443ac Fix validators bug 2020-06-01 10:19:24 +08:00
Sunli
267620d08e Fix incorrect variable substitution. #126 2020-05-31 11:54:07 +08:00
Sunli
e76dcb94da Remove unsafe code from tests 2020-05-29 17:29:15 +08:00
Sunli
05a4f73490 Remove unsafe code in SubscriptionStream 2020-05-29 14:42:14 +08:00
Sunli
9eff1da4ae Remove premature generic constraints of DataSource type. 2020-05-29 12:42:58 +08:00
Sunli
dba575d4a5 Add Connection::map and Connection::map_node functions 2020-05-29 12:19:08 +08:00
Sunli
6361bc4532 Update connection_type.rs 2020-05-29 11:56:12 +08:00
Sunli
38db0cbec5 Update DataSource example 2020-05-29 11:54:16 +08:00
Sunli
a2239fd51c Rename Connection::new_with_additional_fields to Connection::with_additional_fields and Edge::new_with_additional_fields to Edge::with_additional_fields 2020-05-29 10:28:18 +08:00
Sunli
6cc92458e1 Add Connection::try_append and Connection::try_append_stream 2020-05-29 09:24:31 +08:00
Иван Плесских
a7ee9e777f Added docs for Interface field method argument (#124)
* Added docs for `Interface` field `method` argument
2020-05-28 23:50:01 +08:00
sunli
e98327ae5e Update some docs 2020-05-28 22:18:15 +08:00
Sunli
43c8daa132 Add MaybeUndefined type (#123)
* Add MaybeUndefined type
2020-05-28 15:00:55 +08:00
Sunli
3cdf109bfd Update integers.rs 2020-05-28 11:25:03 +08:00
Sunli
0c15370bcd Fix the problem that async-graphql cannot be compiled and passed in rust nightly-2020-05-25. #122 2020-05-28 10:26:07 +08:00
sunli
0ebf7d4087 Update mod.rs 2020-05-28 08:07:29 +08:00
Sunli
76ff909ccd New data source (#105)
* New data source
2020-05-28 08:02:00 +08:00
sunli
1069461873 Logger extensions filter out introspection. #87 2020-05-27 20:47:22 +08:00
sunli
d53eb1a9ff Fix Service type name error. 2020-05-27 18:07:38 +08:00
Sunli
41cba4d6fb Fixed a bug in fragment query. #114 2020-05-27 15:23:53 +08:00
Sunli
b16fc7b9b9 Add the method parameter to the interface field. #112 2020-05-27 10:25:23 +08:00
Sunli
451f0c27f0 Compilation trouble with StringMinLength validator. #113 2020-05-27 09:42:58 +08:00
Sunli
a9d3ac9cf8 Implement a type-safe default value definition for InputValue. #111 2020-05-26 20:43:53 +08:00
Sunli
69367dc65f Fix potential security issues with subscription connections. 2020-05-26 13:35:13 +08:00
Sunli
4ae76b505f Remove the wrong feature condition. 2020-05-26 11:57:26 +08:00
Sunli
774811350a Merge pull request #107 from mwilliammyers/feat/json
Derive Serialize & Deserialize for Json
2020-05-26 11:53:02 +08:00
William Myers
3bbedd0445 Fix typos in project description 2020-05-25 15:37:46 -06:00
William Myers
3486981284 Derive Serialize & Deserialize for Json 2020-05-25 15:34:43 -06:00
Sunli
c4415f1102 Update doc for Context::data 2020-05-22 14:02:28 +08:00
Sunli
19803ccc61 Fix the problem of compilation failure. 2020-05-22 13:38:46 +08:00
Sunli
1461210df7 Add logger extension 2020-05-22 11:58:49 +08:00
Samuel Hurel
32e04ab635 Merge pull request #100 from IcanDivideBy0/stream_connection
Stream connection
2020-05-21 14:18:32 +02:00
Samuel Hurel
f9249e403f Add proper count for Stream DataSource impl 2020-05-21 14:02:21 +02:00
Samuel Hurel
d58fd6e942 Remove StreamDataSource wrapper 2020-05-21 13:10:36 +02:00
Samuel Hurel
a7a17a43ad Add doc 2020-05-21 11:45:15 +02:00
Samuel Hurel
1f4b732615 Fix tests & impl From<Stream> for StreamDataSource 2020-05-21 10:22:36 +02:00
Sunli
120830b29b Remove Sync for StreamBody 2020-05-21 16:12:18 +08:00
Samuel Hurel
3aac2160e0 Remove StreamDataSource mapping closure 2020-05-21 09:55:49 +02:00
Samuel Hurel
02de780921 Stream connection 2020-05-21 09:40:42 +02:00
Sunli
bcd39f4df8 Remove Clone bound for Deferred and Streamed 2020-05-21 15:38:26 +08:00
Sunli
788360d6b7 Add StreamResponse support to async-graphql-tide 2020-05-21 14:03:05 +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
7d4150766e Upgrade multer to 1.2.0 2020-05-21 07:43:35 +08:00
sunli
0bed5011b0 Merge branch 'master' of github.com:async-graphql/async-graphql 2020-05-20 20:11:32 +08:00
sunli
374023748d Add @defer support for actix-web 2020-05-20 20:10:40 +08:00
Nicolai Unrein
df75c15f20 add examples and benchmarks to docs introduction 2020-05-20 13:39:00 +02: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
d00e3e8c25 The scalar name and description attributes are placed on the process macro attributes. #97 2020-05-19 13:27:01 +08:00