Is there a straightforward Boost API for REST Web services calls

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. 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). 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? Thank you, Adam

On 4 July 2012 21:37, Adam J Cooper
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-Genera... 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

On 05.07.2012 00:37, Adam J Cooper 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.
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).
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?
Depends on what you call easily, and what do you mean by REST (as Rob mentioned). Some time ago I wrote a tiny thing to interact with some web service on top of Boost.Asio, Urdl (not yet submitted, I believe) and TinyJSON, and I found that easy enough, apart from TinyJSON being too dynamic for my taste. I've just put it to https://github.com/vprus/todoist-backup in case it's any help. - Volodya

If it you plan to develop on the windows platform, Casablanca (http://msdn.microsoft.com/en-us/devlabs/casablanca.aspx) would be worth a look. I don't know how this works on other platforms, but the intention of the developers is to have a multi-platform, open-source library. -----Ursprüngliche Nachricht----- Von: boost-users-bounces@lists.boost.org [mailto:boost-users-bounces@lists.boost.org] Im Auftrag von Vladimir Prus Gesendet: Thursday, July 05, 2012 2:01 PM An: boost-users@lists.boost.org Betreff: Re: [Boost-users] Is there a straightforward Boost API for REST Web services calls On 05.07.2012 00:37, Adam J Cooper 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.
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).
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?
Depends on what you call easily, and what do you mean by REST (as Rob mentioned). Some time ago I wrote a tiny thing to interact with some web service on top of Boost.Asio, Urdl (not yet submitted, I believe) and TinyJSON, and I found that easy enough, apart from TinyJSON being too dynamic for my taste. I've just put it to https://github.com/vprus/todoist-backup in case it's any help. - Volodya _______________________________________________ Boost-users mailing list Boost-users@lists.boost.org http://lists.boost.org/mailman/listinfo.cgi/boost-users

On Thu, Jul 5, 2012 at 6:48 AM, Jens Auer
If it you plan to develop on the windows platform, Casablanca ( http://msdn.microsoft.com/en-us/devlabs/casablanca.aspx) would be worth a look. I don't know how this works on other platforms, but the intention of the developers is to have a multi-platform, open-source library.
-----Ursprüngliche Nachricht----- Von: boost-users-bounces@lists.boost.org [mailto: boost-users-bounces@lists.boost.org] Im Auftrag von Vladimir Prus Gesendet: Thursday, July 05, 2012 2:01 PM An: boost-users@lists.boost.org Betreff: Re: [Boost-users] Is there a straightforward Boost API for REST Web services calls
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.
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).
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
On 05.07.2012 00:37, Adam J Cooper wrote: that would allow me to make such REST calls?
Depends on what you call easily, and what do you mean by REST (as Rob mentioned). Some time ago I wrote a tiny thing to interact with some web service on top of Boost.Asio, Urdl (not yet submitted, I believe) and TinyJSON, and I found that easy enough, apart from TinyJSON being too dynamic for my taste.
I've just put it to https://github.com/vprus/todoist-backup in case it's any help.
- Volodya
_______________________________________________ Boost-users mailing list Boost-users@lists.boost.org http://lists.boost.org/mailman/listinfo.cgi/boost-users _______________________________________________ Boost-users mailing list Boost-users@lists.boost.org http://lists.boost.org/mailman/listinfo.cgi/boost-users
I've had pretty good experience with PION: http://www.pion.org/projects/pion-network-library/ . With a little bit of wrapping, you can get a JSON web service rolling along in no time. -- Travis Gockel Chief λ Combinator
participants (5)
-
Adam J Cooper
-
Jens Auer
-
Rob Desbois
-
Travis Gockel
-
Vladimir Prus