On 4 July 2012 21:37, Adam J Cooper <adam@adamcooper.com> wrote:

I am new to Boost and definitely still a novice with C++ in general.

 

I would like to use Amazon Web Services (AWS) with C++.

 

AWS supplies tookits (APIs) for .Net, Java, etc.  However, they do not supply an API for C++.

 

Therefore, I believe the best way for me to interact with AWS using C++ will be with REST.


REST is more of a loose idea than a specific API or architecture, however there are some bits and pieces that will help you.

 

My rationale for wanting to use C++ is that I enjoy the flexibility and aesthetics of C++ and want to continue to find opportunities to learn and practice with it.  (I do not have a specific application need and could use the AWS .Net API for my project if I needed to).


Aesthetics?! Lol, each to their own :-D
 

Having said that, I understand that Boost is one of the most highly-regarded add-on libraries for C++.  Therefore, is there a Boost library that will EASILY allow me to make REST (get and post) calls?  If not, can someone recommend another well-tested and widely used C++ library that would allow me to make such REST calls?


I'm not sure 'EASILY' applies at all - there are several technologies involved here (networking, HTTP, JSON/XML/similar) and a stack of libraries is more usual for the c++ world than an all-in-one library that'll do it for you. A quick Google search seems to confirm that there's no magic bullet.

In case it's of any help, here are the libraries I'm currently using or am aware of:

http://cpp-netlib.github.com/latest/index.html for networking
Supports both client & server implementations, though I've only used the client API.
I found the docs a little slow to sink in, as they're a little more implementation-focused than objective-focused, but the group is active and the primary developer helpful and very approachable.

http://curl.haxx.se/libcurl/ is a well-known library for URL access and supports a wide variety of protocols.
I've had no direct experience of it myself, but it's pretty ubiquitous so support should be easy to access.
It may be easier to use for a c++ newbie than cpp-netlib which is template heavy.

http://www.codeproject.com/Articles/20027/JSON-Spirit-A-C-JSON-Parser-Generator-Implemented for JSON [de]serialisation.
I'm using this at the moment, though the API seems..'odd' to me in some ways.
I found some inconsistencies between docs and code, and between the built and include-only versions of the library.

If you're still green with c++ I'd probably recommend http://jsoncpp.sourceforge.net/ over json_spirit.
I've not used it in a year or 2, and it's not boost-based, but docs are helpful and it worked well for me at the time.

More JSON library discussion at http://stackoverflow.com/questions/245973/whats-the-best-c-json-parser


HTH :-)


--
Rob Desbois
http://theotherbranch.wordpress.com/
"I disapprove of what you say, but I’ll defend to the death your right to say it", Voltaire