HTTP Server Deployment

Jan 13, 2015 at 6:16 PM
Hi All,

I'm just learning about Casablanca, so pardon the ignorance. I have a few questions about deployment and such as we're about to embark on using a 3rd-party service that is built using Casablanca.
  1. Is Casablanca is primarily a REST client framework? I see the http server is in beta and reading the FAQ it reads more about accessing services than serving them.
  2. Does the http listener work with IIS on windows or does it embed an HTTP server?
  3. What authentication types does the server support? Basic? NTLM?
  4. Does the server support HTTPS?
Thanks in advance.
Jan 14, 2015 at 9:31 AM
Hi andyczerwonka,

I'm only a user like you, but I can give you my experience.
  1. I'm currently using Casablanca to implement http server and works great.
  2. Embed http server. In fact, in windows is using HTTP server API from Windows API.
  3. I don't have experimented with authorizations, because I implemented it by json messages and secure the channel by SSL. OAuth is included in Casablanca if interested.
  4. I have HTTPS currently working on Windows. You can find the discussion about it and a link about how to secure the socket on Windows. In the code, you only need to set de url beginning with "https://...".
Regards,
Coordinator
Jan 14, 2015 at 5:26 PM
Hi andyczerwonka,

I'll add some more information beyond what jdiazdesico provided.
  1. Yes the C++ REST SDK is mostly a client side focused library, we have a basic http_listener that we did some work on that you can take a look at. It currently is marked as 'Beta' and under the experimental namespace because we don't believe it has received enough attention and features to be considered complete.
  2. The http_listener is a library only solution and doesn't have any integration with IIS. As jdiazdesico mentions it builds on top of the Windows HTTP server API, when on Windows. On other platforms it builds on top of Boost.
  3. Our http_listener doesn't have support for any authentication.
  4. On Windows HTTPS is supported, but not on other platforms right now.
All of this is obviously open source, and we accept contributions so if you want to add any more features let us know.

Steve
Jan 14, 2015 at 5:28 PM
Thanks for the update.