I'm pleased to announce a new tool for testing JSON-based HTTP
APIs. It's called Riposte, and it's made in Racket. Just do

  raco pkg install riposte

to get it.

I made Riposte to facilitate testing of JSON-based HTTP APIs in my day
job as a web developer at an ecommerce shop. ("JSON-based" means that
every HTTP request and response is either empty or has a JSON for its
body. No HTML, no XML, no images. Just JSON.)

Riposte is a language for tests. I deliberately chose a
non-S-expression-based syntax because I wanted to help make the tool
more or less immediately useful to my teammates, none of whom are
Lisp/Scheme programmers.

You can see some snippets of the language at its homepage:


The aim was to make a command line tool that can be used in a team of
people (web developers, more precisely) who aren't Racket
programmers. They don't need to know that the tool they're using is
implemented in Racket; it just needs to work and be helpful. The tool
is useful during development (to test that your code really does
change the system as you intend) as well as in a continuous
integration system.

Riposte is an external DSL (at least, that's the way it's currently
implemented). Although it is a #lang, and can be (sort of) used in
DrRacket, it wasn't built in the canonical Racket way (internal DSLs
and linguistic abstraction. The most accurate description of Riposte,
as it exists now, is that it's a Racket program that uses the brag parser
generator, which produces a parse tree, which then gets evaluated.

Although Riposte is currently as an external DSL, I'd very much like to
take a second look at it and make it in the Racket way. Would this be
something that I might learn more about at the upcoming Racket Summer

Feedback welcome. Documentation is rough, but not entirely
absent. Reply to me here (or privately), or submit an issue using
GitHub Issues (https://github.com/vicampo/riposte).


You received this message because you are subscribed to the Google Groups 
"Racket Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to racket-users+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to