Logo: Relish

  1. Sign up
  2. Sign in

Project: Gavel 0.1

  • Change version

    1. 0.1

Gavel 0.1

Gavel—HTTP validator

Gavel logo

What is Gavel?

Gavel is a tool for deciding which HTTP API call is valid and which is not.

It's useful for:

  • Specification by example and BDD for HTTP (RESTful) APIs
  • Diff HTTP Requests and Responses
  • Testing API documentation
  • DRY test assertion engine for REST API's HTTP request and response
  • API client (SDK) validations


$ curl --trace - http://httpbin.org/ip | curl-trace-parser  > expected
$ curl --trace - http://httpbin.org/ip | curl-trace-parser  > real
$ cat real | gavel expected
$ echo $?

How does it work?

Gavel` filters out boring noise in API communication and helps you understand important differences between real and expected HTTP messages (HTTP request and response). You can use Gavel with examples for:

Brief behavior description

  • Headers cannot be missing
  • Header values matter
  • JSON keys in bodies cannot be missing
  • Textual body must match exactly

See detailed expectation behavior specification.

Known implementations

Call for contributions

Looking for your language? Gavel has platform independent Cucumber specification. So feel feel to contribute! We are looking forward to see library for your language.


  1. Command-line interface
  2. Node.js library examples
  3. General validation behavior
  4. Data validators
  5. Input data model
  6. Platform independence and cotribution

Last published 11 months ago by Adam Kliment.