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
MongoDB Atlas runs apps anywhere Icon
MongoDB Atlas runs apps anywhere

Deploy in 115+ regions with the modern database for every enterprise.

MongoDB Atlas gives you the freedom to build and run modern applications anywhere—across AWS, Azure, and Google Cloud. With global availability in over 115 regions, Atlas lets you deploy close to your users, meet compliance needs, and scale with confidence across any geography.
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