[racket] wffi (a "literate" web service "FFI" using a markdown file with parameterized HTTP messages)
This post is to share something I've been working on for a couple
weeks, and I'm at the point where I'd like to ask for feedback.
For now I'm calling it wffi (and pronouncing it "whiffy"):
https://github.com/greghendershott/wffi
Background: I've been reflecting on the kind of work I've been doing
to support Amazon Web Services. As well as thinking about other web
services (including some on the Racket wiki list of project ideas).
In addition to that client point of view, I've also been thinking
about it from other side, of defining and providing a web service.
tl;dr: I'm wanting to move up a level of abstraction on the whole
exercise, take a step higher on the food chain.
The idea I came up with is a sort of "literate programming" take on
the problem. All this web service documentation that I've been
reading? It could be used _almost_ as-is, as a specification of the
service, too. From which wrapper functions in Racket (or whatever
language) could be generated largely mechanically.
Current state: Some basic pieces are in place. There are working
examples for subsets of 3 web services (imgur, last.fm, and Google+).
If you have some feedback I'd be interested to learn if you:
- Like this idea?
- Have any suggestions or critiques?
- Are aware I'm reinventing wheels X Y and Z?
- Believe this is a solution in search of a problem?
I'd welcome discouragement as well as encouragement. To this point
it's been a chance for me to learn even more about Racket and web
services, so I'll feel good regardless of whether it goes any further.
Cheers,
Greg