Froody - Yet another XML web API framework
bash$ lwp-request 'http://127.0.0.1:4242/?method=froody.demo.localtime&time=258244200' <?xml version="1.0" encoding="utf-8"?> <rsp stat="ok"> <time now="Wed Mar 8 22:30:00 1978"> <day>8</day> <daylight>0</daylight> <dow>3</dow> <doy>66</doy> <hour>22</hour> <minute>30</minute> <month>2</month> <second>0</second> <year>78</year> </time> </rsp>
See Froody::QuickStart for a better introduction.
Froody is a framework that can be used to easily create both a server and a client for making remote API calls across the web.
Froody communicates by the AJAX friendly calling convention of passing parameters to methods via CGI parameters and returning XML data structures as a response. The Froody framework handles all the nastyness of dealing with the CGI and XML for you, so all you really have to worry about in your Perl code is actually getting the job done. In particular, it lets you define a strict spec for what will be returned simply by example, making new methods quick and easy to write.
First, before you do anything else, you want to read Froody::QuickStart. This is the basic tutorial which'll get you up and running and give you and idea of what Froody is all about.
Once you've read that you probably want to read one of the following
How to quickly write an XML specification for Froody Methods.
What you need to know in order to implement the methods you specified reading the above.
A quick review of the data formats used by Froody
Setting up a Froody Server
Please report any bugs you find via the CPAN RT system. http://rt.cpan.org/NoAuth/ReportBug.html?Queue=Froody
Copyright Fotango 2005. All rights reserved.
This module is free software; you can redistribute it and/or modify it under the same terms as Perl itself.
This module has been worked on by the following people:
Stig Brautaset <email@example.com> Nicholas Clark <firstname.lastname@example.org> Mark Fowler <email@example.com> Chia-liang Kao <firstname.lastname@example.org> Tom Insam <email@example.com> Norman Nunley <firstname.lastname@example.org>
You can reach the current maintainers by emailing us at
email@example.com, but if you're reporting bugs please use the RT system mentioned above so we can track the issues you report.
examples directory that ships with this distribution.