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

You Might Also Like
Gen AI apps are built with MongoDB Atlas Icon
Gen AI apps are built with MongoDB Atlas

The database for AI-powered applications.

MongoDB Atlas is the developer-friendly database used to build, scale, and run gen AI and LLM-powered apps—without needing a separate vector database. Atlas offers built-in vector search, global availability across 115+ regions, and flexible document modeling. Start building AI apps faster, all in one place.
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