Commit Graph

680 Commits

Author SHA1 Message Date
Sunli
4d2110bf0d Clippy clean 2021-05-07 10:14:05 +08:00
D1plo1d
ed8332ec90 feat: Websocket::with_message_stream added for developers to experiment with File Uploads over WebSockets 2021-05-06 20:08:28 -04:00
Sunli
bdeeff328a Fix the problem that the ComplexObject macro cannot work due to the secret attribute. 2021-04-23 10:25:00 +08:00
Utkarsh Kukreti
a7f662e4a5 add missing fonts to http::playground_source's html
graphql-playground uses Open Sans and Source Code Pro and its README
suggests adding this snippet [1].

[1]: https://github.com/graphql/graphql-playground#use
2021-04-18 03:03:29 +05:30
Sunli
6a12847d4b Clippy clean 2021-04-12 16:01:03 +08:00
Sunli
664bc9b073 Fixed an error in exporting Federation SDL. 2021-04-12 15:46:49 +08:00
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
9ab9a60ec0 Remove spin crate from dependencies 2021-04-08 11:41:15 +08:00
Sunli
36c7d4a883 Fix stack overflow during Registry::create_type for recursive type while running Schema::build. #474 2021-04-08 11:27:06 +08:00
Sunli
bcfc9b9dd9 Update CI 2021-04-07 19:46:58 +08:00
Sunli
a9ac598e2e Add secret attribute for arguments, they will not appear in the log. #463 2021-04-07 19:40:19 +08:00
Sunli
709bb49e07 Fix missing log output of Logger extension. 2021-04-05 21:47:45 +08:00
Sunli
81e053811b Improve Extensions. 2021-04-05 12:21:02 +08:00
Sunli
a4db80bdc9 Update subscription.rs 2021-04-04 19:51:41 +08:00
Sunli
824356d118 Rework Extension 2021-04-04 14:37:41 +08:00
Sunli
8a67781180 Add the BuildHasher generic parameter to dataloader::HashMapCache to allow custom hashing algorithms. #455 2021-04-02 18:22:06 +08:00
Sunli
fc91672ec4 Add SelectionField::alias and SelectionField::arguments methods. 2021-04-02 11:04:59 +08:00
Sunli
577fa5ded6 Fix Schema::sdl() does not include subscription definitions. #464 2021-04-01 20:56:14 +08:00
Sunli
40549303d4 Implements ScalarType for serde_json::Value. 2021-04-01 16:54:54 +08:00
Sunli
46927c3fc9 Add cache support for DataLoader. #455 2021-04-01 15:46:46 +08:00
Sunli
37cacf64dc Add name and visible attributes for Newtype macro for define a new scalar. #437 2021-03-31 19:28:19 +08:00
Sunli
662454c103 Remove SchemaBuilder::override_name method. #437 2021-03-31 16:54:57 +08:00
Sunli
e899885aa8 Add Request::disable_introspection method. #456 2021-03-30 11:59:57 +08:00
Sunli
5d641a79bd Clippy clean 2021-03-26 21:07:45 +08:00
Sunli
05911f3516 Rework Extension & TracingExtension & OpenTelemetryExtension 2021-03-26 12:03:10 +08:00
Denis Nevmerzhitskii
db6508f861 Fix chrono-tz integration 2021-03-24 19:09:08 +02:00
Sunli
c2c2868b64 Fix internal context missing when there's no connection_init frame. #451 2021-03-24 17:24:12 +08:00
Sunli
84fe7bfc57 Update dependencies 2021-03-24 12:25:03 +08:00
Sunli
279899559a Update docs 2021-03-22 13:27:24 +08:00
Sunli
54a1979c34 Remove TracingConfig
Now Request span always takes the current span as the parent, so this option is no longer needed.
2021-03-22 12:01:49 +08:00
Sunli
1c32a8afcb Now all features are not activated by default. 2021-03-22 10:39:17 +08:00
Sunli
7fb02d587e Add extension::OpenTelemetry. 2021-03-22 09:36:14 +08:00
Sunli
6e2fe32be0 Add SchemaBuilder::enable_subscription_in_federation method. #449 2021-03-20 17:22:18 +08:00
Sunli
e8fb9768d4 Fix tracing extension doesn't work with async code. ##448 2021-03-20 10:32:41 +08:00
Sunli
15036be792 Add ComplexObject macro. #355 2021-03-18 10:13:46 +08:00
Sunli
4c34494e52 Fix the problem that the validation does not work on some inline fragments. 2021-03-14 10:15:52 +08:00
Sunli
d37297bb06 Add DataLoader::loader method. #441 2021-03-12 15:41:10 +08:00
Sunli
4f47703118 Switch the async runtime used for testing to Tokio. 2021-03-12 12:47:24 +08:00
Sunli
272fea205d Add SchemaBuilder::override_name method. #437 2021-03-09 18:07:18 +08:00
Sunli
f6c0c33885 Add extends attribute for derive macros Subscription and MergedSubscription. 2021-03-09 15:12:14 +08:00
Sunli
197b3ae0a9 Export subscription type to Federation SDL. 2021-03-09 14:54:54 +08:00
Sunli
d0fe7fc23b Remove unnecessary Box from WebSocket messages. 2021-03-09 12:07:12 +08:00
Sunli
007b4e74db Execute _entity requests in parallel. #431 2021-03-07 16:37:34 +08:00
Taiki Endo
f3e488c6a6 Fix format of InputObject in SDL 2021-03-07 15:35:47 +09:00
Sunli
d723717e4b Add descriptions for the exported Federation SDL. 2021-03-06 08:38:19 +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
68b5ed680f Improve the performance of introspection queries. 2021-02-24 12:06:11 +08:00
Sunli
035f6d0a51 Fix the problem that the borrowing lifetime returned by the Context::data function is too small. 2021-02-23 23:05:08 +08:00
Sunli
2953ed059c When introspection is disabled, introspection related types are no longer registered. 2021-02-23 12:49:41 +08:00
Sunli
5c66a9cdda Add support for Federation nested keys. 2021-02-21 23:06:26 +08:00
puh
f77b34356e Fix typo in multipart stream size limit calculations 2021-02-13 21:50:17 +03:00
Sunli
386b0b2876 Clippy clean 2021-02-13 09:55:53 +08:00
Sunli
490533b640 Rustfmt 2021-02-13 09:28:05 +08:00
Sunli
2d7627cd39 Fixed GraphQL over WebSocket Protocol does not support ConnectionError events. #406 2021-02-06 11:02:41 +08:00
Sunli
d193a138e3 Fixed the bug that can accept subscription requests during the initialization of WebSocket. 2021-02-06 09:24:00 +08:00
Sunli
b98e35995d Supports async websocket initializer. #393 2021-01-16 16:37:20 +08:00
Sunli
66aadd6319 Add NewType derive macro. #388 2021-01-15 10:29:03 +08:00
Sunli
b054fc0704 Add Send + Sync constraints for InputType, OutputType and SubscriptionType. 2021-01-14 12:41:59 +08:00
Sunli
f3f08c0067 Fix the bug that dataloader will only return one value when loading the same key. #386 2021-01-11 09:42:30 +08:00
Sunli
5f2e0ae50d Clippy clean 2021-01-11 09:01:28 +08:00
Naaman Curtis
78a1ea1910 update response to correctly carry headers through (#384)
* update response to correctly carry headers through
2021-01-11 08:05:51 +08:00
Naaman
f92dda0271 Update http-headers to use http::HeaderMap 2021-01-10 10:57:28 +00:00
Sunli
099415fd42 Implements InputType for Box<T> and Arc<T>. #382 2021-01-10 13:48:18 +08:00
Sunli
5a29f74062 #[Object] on impl dyn TraitObj. #381 2021-01-10 11:21:47 +08:00
Sunli
1e449f9da6 Add Context::set_http_header method. #370 2021-01-10 08:06:48 +08:00
Ejez
50f6d2396c Include full link (#379)
Include the full link to ensure it is always accessible, whether from
github, doc.rs or elsewhere.
2021-01-06 22:06:01 +08:00
Sunli
65ca9ef605 Add Schema::federation_sdl method. #376 2021-01-06 11:01:13 +08:00
Sunli
c0ce4d4473 Clippy clean 2021-01-04 08:18:28 +08:00
Sunli
7a311f8476 Implements Debug for SelectionField. #364 2021-01-01 12:03:30 +08:00
Sunli
3e6339e630 Improve dataloader 2020-12-22 10:04:21 +08:00
Sunli
f58fe85822 Update docs. 2020-12-21 19:23:51 +08:00
Sunli
af1d501d75 Add dataloader 2020-12-21 13:33:36 +08:00
Sunli
6043543df7 Add custom complexity for subscription. 2020-12-19 18:39:33 +08:00
Sunli
0d76987f40 Add Analyzer extension. 2020-12-18 23:58:03 +08:00
Sunli
c49c3ffa07 Update docs. 2020-12-18 19:31:36 +08: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
004ff93557 Update docs 2020-12-15 15:12:05 +08:00
Sunli
56b60a0f56 Update docs 2020-12-15 10:05:44 +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
5c39d0197d Rename InputValueType to InputType and OutputValueType to OutputType. 2020-12-11 15:37:50 +08:00
Sunli
46d01db40f Merge branch 'master' into pr/350 2020-12-04 12:17:23 +08:00
Patrick Fernie
e25bcf1c98 use Sec-WebSocket-Protocol header to negotiate protocol 2020-12-03 16:16:07 -05:00
Patrick Fernie
0e711b782e rustfmt fixes 2020-12-02 08:41:12 -05:00
Patrick Fernie
7fb6d7bfbe Add graphql-ws feature for subprotcol selection
On 2020-09-14 a revised version of the [GraphQL over
WebSocket](https://the-guild.dev/blog/graphql-over-websockets) spec was
released as [graphql-ws](https://github.com/enisdenjo/graphql-ws), which
differs from the de facto standard implemented by
[subscriptions-transport-ws](https://github.com/apollographql/subscriptions-transport-ws).

This adds a new `cargo` (non-default) feature, `graphql_ws`, which when enabled utilizes the new protocol spec.

Original [subscriptions-transport-ws
protocol](https://github.com/apollographql/subscriptions-transport-ws/blob/master/PROTOCOL.md)
Revised [graphql-ws
protocol](https://github.com/enisdenjo/graphql-ws/blob/master/PROTOCOL.md)
2020-12-02 08:13:00 -05:00
Sunli
83b659bafb Add Context::field function. #346 2020-11-30 19:41:35 +08:00
Sunli
6cdd7e44a3 Update upload.rs 2020-11-30 13:47:00 +08:00
Sunli
3a0dda2224 Remove the dependency on bytes crate. 2020-11-30 13:43:17 +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
997faa9c71 Fix #343 2020-11-23 12:43:31 +08:00
Sunli
044aa6e67c Implements Cow<T> for OutputValueType. #189 2020-11-08 09:22:50 +08:00
Sunli
d682483bb3 Update docs. 2020-11-07 21:30:40 +08:00
Sunli
79227c88ea Add TracingConfig for each request. #337 2020-11-07 21:23:22 +08:00
Koxiaet
6d5233f690 Don't duplicate type names in parsing error message 2020-11-07 06:05:59 +00:00
Sunli
5b5740e682 Export sdl for interface to implements another interface. #322 2020-11-07 08:49:08 +08:00
Sunli
ea7abf8495 Fix the problem that the resolver_utils::resolve_container function does not call the extensions. #336 2020-11-07 08:27:50 +08:00
Sunli
d3a00571c0 Clippy clean 2020-11-07 08:24:17 +08:00