Go to file
Quentin Perez c5b3bfb2c7 Bump lru to 0.7.1
The advisory script brought up a RUSTSEC error:

---
error[A001]: Use after free in lru crate
    ┌─ /home/haptop/Developer/radicle-link/Cargo.lock:207:1
    │
207 │ lru 0.6.6 registry+https://github.com/rust-lang/crates.io-index
    │ --------------------------------------------------------------- security vulnerability detected
    │
    = ID: RUSTSEC-2021-0130
    = Advisory: https://rustsec.org/advisories/RUSTSEC-2021-0130
    = Lru crate has use after free vulnerability.

      Lru crate has two functions for getting an iterator. Both iterators give
      references to key and value. Calling specific functions, like pop(), will remove
      and free the value, and but it's still possible to access the reference of value
      which is already dropped causing use after free.
    = Announcement: jeromefroe/lru-rs#120
    = Solution: Upgrade to >=0.7.1
---

This patch follows the recommended solution and pins the `lru` crate
to 0.7.1.
2021-12-30 16:49:06 +01:00
.github Add tide integration 2021-11-19 08:10:47 +08:00
derive Release 3.0.19 2021-12-30 10:43:35 +08:00
docs Update book 2021-12-09 20:20:51 +08:00
examples@0ce0a43874 Bump actix-web from 4.0.0-beta.14 to 4.0.0-beta.18 2021-12-30 10:04:58 +08:00
integrations Release 3.0.19 2021-12-30 10:43:35 +08:00
parser Release 3.0.19 2021-12-30 10:43:35 +08:00
src Clippy 2021-12-30 10:16:49 +08:00
tests Fix field guards not working on ComplexObject. #767 2021-12-26 10:42:36 +08:00
value Release 3.0.19 2021-12-30 10:43:35 +08:00
.gitignore Moved benchmark from side repo 2020-06-01 21:05:37 +05:00
.gitmodules Update dependencies and make examples submodule 2020-10-15 20:48:06 +01:00
.rustfmt.toml Update cargo edition to 2021 2021-10-22 19:34:47 -04:00
ARCHITECTURE.md Rename InputValueType to InputType and OutputValueType to OutputType. 2020-12-11 15:37:50 +08:00
Cargo.toml Bump lru to 0.7.1 2021-12-30 16:49:06 +01:00
CHANGELOG.md Clippy 2021-12-30 10:16:49 +08:00
feature-comparison.md Custom directive 2021-11-20 09:04:46 +08:00
LICENSE-APACHE Release 2.10.3 2021-10-12 18:22:48 +08:00
LICENSE-MIT Release 2.10.3 2021-10-12 18:22:48 +08:00
README.md Clippy 2021-12-30 10:16:49 +08:00

A GraphQL server library implemented in Rust

Async-graphql is a high-performance server-side library that supports all GraphQL specifications.

Safety

This crate uses #![forbid(unsafe_code)] to ensure everything is implemented in 100% Safe Rust.

Features

  • Fully supports async/await
  • Type safety
  • Rustfmt friendly (Procedural Macro)
  • Custom scalars
  • Minimal overhead
  • Easy integration (poem, actix_web, tide, warp, rocket ...)
  • Upload files (Multipart request)
  • Subscriptions (WebSocket transport)
  • Custom extensions
  • Apollo Tracing extension
  • Limit query complexity/depth
  • Error Extensions
  • Apollo Federation
  • Batch Queries
  • Apollo Persisted Queries

Crate features

This crate offers the following features, all of which are not activated by default:

Apollo Studio

Apollo Studio is a cloud platform that helps you build, monitor, validate, and secure your organization's data graph. An existing extension is available for this crate here

Examples

All examples are in the sub-repository, located in the examples directory.

Run an example:

git submodule update # update the examples repo
cd examples && cargo run --bin [name]

Integrations

Who's using Async-graphql in production?

Community Showcase

  • rust-actix-graphql-sqlx-postgresql Using GraphQL with Rust and Apollo Federation
  • entity-rs A simplistic framework based on TAO, Facebook's distributed database for Social Graph.
  • vimwiki-server Provides graphql server to inspect and manipulate vimwiki files.
  • Diana Diana is a GraphQL system for Rust that's designed to work as simply as possible out of the box, without sacrificing configuration ability.
  • cindythink
  • sudograph

Blog Posts

License

Licensed under either of

References

Contribute

Welcome to contribute !