Koxiaet
768b666acd
Merge master
2020-09-30 18:24:24 +01:00
Sunli
7bccbd1277
Update docs.
2020-09-30 11:55:56 +08:00
Sunli
a95a532857
Added Apollo persisted queries extension. #280
2020-09-30 11:37:12 +08:00
Sunli
35f886a7f8
Improve trait for GraphQL types.
2020-09-30 07:45:48 +08:00
Koxiaet
50009b66ce
Rework errors
...
This completely overhauls the error system used in async-graphql.
- `Error` has been renamed to `ServerError` and `FieldError` has been
renamed to just `Error`. This is because `FieldError` is by far the most
common error that users will have to use so it makes sense to use the
most obvious error name. Also, the current name didn't make sense as it
was used for things other than field errors, such as the data callback
for websockets.
- `ServerError` has been made completely opaque. Before it was an enum
of all the possible errors, but now it just contains an error message,
the locations, the path and extensions. It is a shame that we lose
information, it makes more sense as _conceptually_ GraphQL does not
provide that information. It also frees us to change the internals of
async-graphql a lot more.
- The path of errors is no longer an opaque JSON value but a regular
type, `Vec<PathSegment>`. The type duplication of `PathSegment` and
`QueryPathSegment` is unfortunate, I plan to work on this in the future.
- Now that `ServerError` is opaque, `RuleError` has been removed from
the public API, making it simpler.
- Additionally `QueryError` has been completely removed. Instead the
error messages are constructed ad-hoc; I took care to never repeat an
error message.
- Instead of constructing field-not-found errors inside the
implementations of field resolvers they now return `Option`s, where a
`None` value is representative of the field not being found.
- As an unfortunate consequence of the last change, self-referential
types based on the output of a subscription resolver can no longer be
created. This does not mean anything for users, but causes lifetime
issues in the implementation of merged objects. I fixed it with a bit of
a hack, but this'll have to be looked into further.
- `InputValueError` now has a generic parameter - it's kind of weird but
it's necessary for ergonomics. It also improves error messages.
- The `ErrorExtensions` trait has been removed. I didn't think the
`extend` method was necessary since `From` impls exist. But the
ergonomics are still there with a new trait `ExtendError`, which
is implemented for both errors and results.
- `Response` now supports serializing multiple errors. This allows for
nice things like having multiple validation errors not be awkwardly
shoved into a single error.
- When an error occurs in execution, data is sent as `null`. This is
slightly more compliant with the spec but the algorithm described in
<https://spec.graphql.org/June2018/#sec-Errors-and-Non-Nullability > has
yet to be implemented.
2020-09-29 20:06:44 +01:00
Sunli
4e7bb1a59c
Added context for Extension.
2020-09-29 20:47:37 +08:00
Sunli
e60864a18d
Rework async-graphql-derive. #288
2020-09-29 16:06:10 +08:00
Sunli
ded45bcf6b
Update docs
2020-09-28 11:15:37 +08:00
Sunli
5d315ec6d2
Clippy clean.
2020-09-27 19:29:23 +08:00
Sunli
4d019f1d6f
Update schema.rs
2020-09-27 19:13:12 +08:00
Sunli
012e5ee315
Fixed variables cannot deserialize from null. #282
2020-09-27 19:10:49 +08:00
Sunli
fae50062e0
Fix the problem when generating Federation SDL. #283
2020-09-27 18:49:04 +08:00
Sunli
f9cfc14e45
Update docs
2020-09-27 18:22:01 +08:00
Sunli
0d6771a199
Add some type detection to make the defined schema conform to the GraphQL specification. #282
2020-09-27 15:35:05 +08:00
Sunli
7d3eb9b62c
Make Object and Subscription macros support #cfg(...)
attribute. #281
2020-09-27 10:20:20 +08:00
Sunli
b47d08c5b5
Invoke extensions for execute_schema.
2020-09-26 15:52:59 +08:00
Sunli
5c293ffdc2
Improve the error message of Tracing extension.
2020-09-26 12:35:28 +08:00
Sunli
44a1869112
Update readme
2020-09-26 11:25:21 +08:00
Sunli
c350d182ce
When an error occurs in the query, the Tracing extension can output the error message.
2020-09-26 09:49:46 +08:00
Sunli
089e830d26
Add StringNumber type.
2020-09-26 09:22:54 +08:00
Sunli
3e19b23178
Remove unnecessary features for tide and warp integrations.
2020-09-26 08:35:17 +08:00
Koxiaet
aae4c29dd0
Reduce code duplication in batches in actix web
2020-09-25 17:38:12 +01:00
Sunli
5eef10a1c4
Make uuid
to optional dependent.
2020-09-25 15:40:04 +08:00
Sunli
b316c30416
Add data_XXX methods to ResolveInfo and remove context field from ResolveInfo. #260
2020-09-25 15:26:29 +08:00
Sunli
8a82954f0b
Improve tracing
2020-09-25 15:01:55 +08:00
Sunli
390aac5ddd
Merge pull request #275 from simplificAR/export_description
...
Export description with `Registry::export_sdl`
2020-09-24 09:21:47 +08:00
Koxiaet
9e98d79c88
Rustfmt and write ARCHITECTURE.md
2020-09-23 20:23:15 +01:00
Koxiaet
e97a7d9def
Publicize resolver utils and move Scalar there
2020-09-23 19:50:35 +01:00
Koxiaet
70d2dbc39c
Big improvements to tide integration
2020-09-23 18:30:03 +01:00
Daniel Wiesenberg
eeb38b69cf
Run Rustfmt and Clippy
2020-09-23 15:54:33 +02:00
Daniel Wiesenberg
125eb74fbc
Export description with Registry::export_sdl
2020-09-23 15:47:04 +02:00
Sunli
312b8f13d8
Add Schema::sdl
method. #191
2020-09-23 14:14:22 +08:00
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
Sunli
7eb2143b2c
Implement Serialize/Deserialize for MaybeUndefine<T>.
2020-09-21 15:22:45 +08:00
Sunli
e12ae8b236
Add BatchRequest support for actixweb and warp integrations.
2020-09-21 14:57:33 +08:00
Sunli
92c5db674a
Merge pull request #272 from mwilliammyers/feat/maybe-undefined
...
Remove Deserialize impl from MaybeUndefined
2020-09-21 07:56:47 +08:00
William Myers
b1763de1ea
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
22420ee7ec
Make ObjectType is public.
2020-09-20 15:47:17 +08:00
Sunli
679385b5de
Fix docs
2020-09-20 13:34:49 +08:00
Sunli
1f009c6e57
Merge branch 'master' of https://github.com/async-graphql/async-graphql
2020-09-20 13:28:25 +08:00
Sunli
20d240df47
Fix enum strings in query variables are not converted to proper enums. #270
2020-09-20 13:28:18 +08:00
William Myers
c117cc0bf5
Add more trait implementations to MaybeUndefined
...
Closes #267
2020-09-19 14:10:54 -07:00
Koxiaet
6095383019
Warp: Replace BoxedFilter
with impl Filter
2020-09-19 18:10:46 +01:00
Koxiaet
d2489eca0b
Reexport async-graphql-parser
2020-09-19 06:14:59 +01:00
Sunli
73333035bd
Fix compiling without features
2020-09-18 15:14:40 +08:00
Sunli
c1d4dbed87
2.0.0-alpha.12
2020-09-18 15:05:07 +08:00
Sunli
45dc3d6d09
Add Upload::into_async_read with blocking
2020-09-18 14:32:00 +08:00
Sunli
e645e9d999
Remove the GQL prefix of all macros. #208
2020-09-18 09:10:24 +08:00
Koxiaet
07d2204773
Remove code duplication for batch requests
2020-09-17 19:43:03 +01: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
34eaa1d686
Some improvements.
2020-09-17 11:22:09 +08:00
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
Sunli
bc3dd36a4e
Fixed the bug of generating federation sdl. #96
2020-05-19 10:32:08 +08:00
sunli
a811f48952
Update schema.rs
2020-05-19 00:03:15 +08:00
sunli
c5f5e7795c
Provide the interface information of the object to the Federation. #95
2020-05-18 19:47:09 +08:00
Sunli
85c54762bf
Sort __Schema.types and __Schema.directives by name. #93
2020-05-18 11:37:05 +08:00
Sunli
235d29b954
Fix some bugs in federation integration.
2020-05-18 11:24:27 +08:00
Sunli
c4ef89e00c
Upgrade multer to 1.1.1
2020-05-18 09:32:55 +08:00
sunli
2a63fe1b54
Replace multipart parser with multer.
2020-05-17 16:26:36 +08:00
Caio
8c14c6c675
Rustfmt
2020-05-16 13:12:37 -03:00
Caio
27e5c94731
Fix compilation errors
2020-05-16 13:08:03 -03:00
sunli
c16d239b65
Remove some unsafe code
2020-05-16 21:14:26 +08:00
sunli
948005832c
Export SchemaBuilder
2020-05-16 18:04:47 +08:00
sunli
10a8b71adb
Preserve field order for introspection. #89
2020-05-16 10:05:48 +08:00
Caio
ae85517976
Impl Scalar for NaiveDate and NaiveTime
2020-05-15 08:51:54 -03:00
Sunli
6de85377f7
Rename async_graphql_parser::ast to async_graphql_parser::query
2020-05-15 10:38:48 +08:00
Sunli
f74652e61a
Modify some type names (internal types)
2020-05-15 10:08:37 +08:00
sunli
534837e1b9
Add Context::look_ahead
2020-05-14 22:13:28 +08:00
Sunli
7ab8326cbf
Add Context::position
2020-05-14 17:35:25 +08:00
Sunli
3cd98918db
Add async-graphql-lambda
...
Update async-graphql-tide api
2020-05-14 14:50:08 +08:00
sunli
8299a54456
Improve GraphQL query parser performance. #76
2020-05-12 16:27:06 +08:00
Nicolai Unrein
1726c64e7a
Add From<serde_json::Value> for Json
2020-05-11 17:55:54 +02:00
sunli
8e9aff105e
Support Upload Stream #15
...
I think the previous implementation is not elegant enough, the `QueryBuilder::set_files_holder` function looks disgusting, so I refactored it.
By the way, the performance of parsing InputValue has been optimized, and unnecessary clones have been removed.
2020-05-11 21:47:24 +08:00
Sunli
0e371afb3c
It not finished yet.
2020-05-11 17:13:50 +08:00
Blaine Bublitz
b7bc7fea12
Change Unions to enums instead of structs
2020-05-10 21:27:30 -07:00
Blaine Bublitz
6f70924967
Fix tests
2020-05-10 20:25:49 -07:00
Samuel Hurel
05cac5854f
impl From<ID> for Cursor
2020-05-10 16:25:16 +02:00
Samuel Hurel
c06f871b41
Prefer TryFrom to TryInto for ID
2020-05-10 16:13:41 +02:00
Samuel Hurel
34f286b2d9
Remove useless as_str on ID
2020-05-10 15:58:56 +02:00
Samuel Hurel
c810764e7e
Simplify ID conversion
2020-05-10 15:52:47 +02:00
Samuel Hurel
d3015e9814
Simplify cursor conversion
2020-05-10 14:49:52 +02:00
sunli
ff6f97d7df
Add ToGraphQLCursor and ToGraphQLID traits. #54
2020-05-10 18:39:53 +08:00
sunli
728989209f
The error reason can be returned when the input value is parsed incorrectly. #70
2020-05-10 18:27:46 +08:00
sunli
2755f4f9a9
Use rustdoc comments as graphql desc. #62
2020-05-10 12:41:05 +08:00
sunli
bc2966bc0d
Improve parser performance.
2020-05-10 10:59:51 +08:00
sunli
d343c0c2f6
Update docs
2020-05-10 09:41:13 +08:00
sunli
0d540465a5
Remove the disgusting functions json_value_to_gql_value and gql_value_to_json_value. 😂
2020-05-09 22:16:39 +08:00
sunli
7f7e708614
Move the parser to async-graphql-parser crate.
2020-05-09 22:02:55 +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
f63c923521
Update json.rs
2020-05-08 10:40:29 +08:00
sunli
60e94890d0
Clippy cleanup
2020-05-07 20:44:24 +08:00
sunli
e6e1755502
Add Json scalar type. #56
2020-05-07 20:41:00 +08:00
sunli
2ec948fdf5
Update any.rs
2020-05-07 18:50:47 +08:00
sunli
c1e0b8f4a7
Add Any::parse_value method. #56
2020-05-07 18:49:09 +08:00
Samuel Hurel
12ced257a6
Add ObjectId to ID type conversion
2020-05-07 08:42:34 +02:00
sunli
539c75ee89
Add uuid::Uuid, usize to ID type conversion. #54
2020-05-07 11:15:04 +08:00
Blaine Bublitz
c678dde4be
Allow datasource to use context
2020-05-06 17:04:26 -07:00
Sunli
96f19e8498
Update base.rs
2020-05-06 10:02:25 +08:00
sunli
64aee618fc
Make PageInfo available from outside ( #52 )
2020-05-06 06:52:04 +08:00
sunli
35531b65f8
Change the first parameter of OutputValueType::resolve to be &self
2020-05-05 21:06:48 +08:00
Blaine Bublitz
e4101db924
Relay pagination algorithm
2020-05-05 00:22:01 -07:00
Samuel Hurel
034306cc10
Export the new Cursor
type
2020-05-05 09:05:39 +02:00
sunli
d7ea05ab14
Add tests to limit complexity and depth.
2020-05-05 13:46:56 +08:00
Blaine Bublitz
eaa50a52e0
Add Cursor scalar ( #48 )
...
* Add Cursor scalar
2020-05-05 13:21:45 +08:00
sunli
18a9a12664
Fixed a type error
2020-05-03 23:00:20 +08:00
sunli
f3697e6a1a
Implement OutputType for FieldResult
2020-05-03 22:32:37 +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
ee50ae9be6
Update lib.rs
2020-05-02 10:46:02 +08:00
sunli
331e65a72b
Add field guard
2020-05-02 07:57:34 +08:00
Nicolai Unrein
511be1e84d
Allow conversion to Any for all types that can be converted to Value.
2020-04-29 12:49:51 +02:00
sunli
3f49ebce0e
Move project to async-graphql
2020-04-28 15:41:31 +08:00
sunli
8faa376776
Add tracing extension
2020-04-28 15:01:19 +08:00
sunli
61583f54a3
Replace the impl_scalar macro with the procedural macro Scalar
2020-04-27 17:58:10 +08:00
sunli
4659da9c30
fix #33
2020-04-27 12:57:52 +08:00
sunli
a4b4e69ea7
Remove the redundant field
parameter for OutputType::resolve_field.
2020-04-26 15:12:18 +08:00
sunli
70b8ecc311
Update connection_type.rs
2020-04-26 14:40:55 +08:00
sunli
88f6e468e7
Some minor changes
2020-04-26 12:34:08 +08:00
sunli
c1fcaf0b7e
Update lib.rs
2020-04-26 10:12:01 +08:00
sunli
3f06a12b3d
Update base.rs
2020-04-25 14:57:01 +08:00
sunli
85f3bbe3af
Implemented OutputValueType for Box<T> and Arc<T>
2020-04-25 14:51:26 +08:00
Samuel Hurel
6996fae099
Add bson::UtcDateTime support
2020-04-24 19:12:07 +02:00
sunli
740804e327
Extension::result
now returns an Option
2020-04-24 10:37:18 +08:00
sunli
964cf0e140
Update context.rs
2020-04-24 10:05:41 +08:00
sunli
11ddf0ae29
Fix typo
2020-04-23 22:54:34 +08:00
sunli
8647688ab5
Update connection.rs
2020-04-23 22:07:41 +08:00
sunli
1917d236ae
Use FnvHashMap
for Data
2020-04-23 21:36:04 +08:00
sunli
4247cbcb47
v1.9.17
2020-04-23 18:11:03 +08:00
sunli
bf9712ad03
v1.9.15
2020-04-23 15:30:12 +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
44bd920ad2
Update error.rs
2020-04-22 19:09:59 +08:00
sunli
8210ab240a
Update graphiql_source.rs
2020-04-22 18:47:20 +08:00
sunli
d76decdc16
Clippy cleanup
2020-04-22 15:03:41 +08:00
sunli
279244d106
Fix interface resolver bug
2020-04-22 14:59:14 +08:00
sunli
3724d1c62e
Update query.rs
2020-04-22 10:35:07 +08:00
sunli
359d3f64c0
v1.9.8
2020-04-21 20:49:32 +08:00
sunli
c11ed53c48
Add SchemaBuilder::register_type method
2020-04-21 20:47:48 +08:00
sunli
041eb7b1b7
v1.9.7
...
Add a `ref` attribute to the field attribute of `SimpleObject`.
2020-04-21 15:40:19 +08:00
sunli
98cdfd4c42
v1.9.5
2020-04-21 12:13:14 +08:00
sunli
a11248aa95
Add IntoQueryBuilderOpts
2020-04-21 10:14:14 +08:00
sunli
13b7ce2e59
Merge branch 'master' of github.com:sunli829/async-graphql
2020-04-20 14:40:25 +08:00
sunli
affacd81d0
v1.9.4
2020-04-20 14:37:28 +08:00
nicolaiunrein
248e29c40b
Fix url linking from Upload
to example.
2020-04-20 07:59:10 +02:00
sunli
18b5ab1c49
Add some docs
2020-04-19 10:28:52 +08:00
sunli
0b9d5ee071
The int64 scalar serializes to a string
2020-04-19 10:17:47 +08:00