Vulcain is a brand new protocol using HTTP/2 Server Push to create fast and idiomatic client-driven REST APIs. An open-source gateway server that you can put on top of any existing web API to instantly turn it into a Vulcain-compatible one is also provided! It supports hypermedia APIs but also any "legacy" API by documenting its relations using OpenAPI. The protocol has been published as an Internet-Draft that is maintained in this repository. A reference, production-grade, implementation gateway server is also available in this repository. It's free software (AGPL) written in Go. A Docker image is provided. Current solutions for these problems (GraphQL, JSON:API's embedded resources and sparse fieldsets, etc.) are smart network hacks for HTTP/1. But these hacks come with (too) many drawbacks when it comes to HTTP cache, logs and even security. Fortunately, thanks to the new features introduced in HTTP/2, it's now possible to create true REST APIs fixing these problems with ease.

Features

  • The Fields HTTP header allows the client to ask the server to return only the specified fields of the requested resource
  • Alternatively to HTTP headers, the preload query parameter can be used
  • Multiple Fields HTTP headers can be passed
  • Alternatively to HTTP headers, the fields query parameter can be used to filter resources
  • Map a non-hypermedia API using OpenAPI
  • Caddy web server module

Project Samples

Project Activity

See All Activity >

License

GNU Free Documentation License

Follow Vulcain

Vulcain Web Site

Other Useful Business Software
Try Google Cloud Risk-Free With $300 in Credit Icon
Try Google Cloud Risk-Free With $300 in Credit

No hidden charges. No surprise bills. Cancel anytime.

Use your credit across every product. Compute, storage, AI, analytics. When it runs out, 20+ products stay free. You only pay when you choose to.
Start Free
Rate This Project
Login To Rate This Project

User Reviews

Be the first to post a review of Vulcain!

Additional Project Details

Programming Language

Go

Related Categories

Go Software Development Software, Go Reverse Proxy Server

Registered

2022-03-15