Welcome!

The C++ REST SDK (codename "Casablanca") is a Microsoft project for cloud-based client-server communication in native code using a modern asynchronous C++ API design. This project aims to help C++ developers connect to and interact with services.

Getting Started

Are you new to Casablanca? To get going we recommend you start by taking a look at our tutorial to use the http_client. It walks through how to setup a project to use Casablanca and make a basic Http request. Other important information, like how to build Casablanca from source, can be located on the documentation page.

What's in the SDK:

  • Features - HTTP client/server, JSON, URI, asynchronous streams, WebSockets client
  • A consistent and powerful model for composing asynchronous operations based on C++ 11 features
  • Platforms - Windows desktop, Windows store, Windows phone, Ubuntu, OS X, and iOS
  • Support for Visual Studio 2012 and Visual Studio 2013 with debugger visualizers
  • NuGet package with binaries for Windows platforms

Notice for Linux/OSX users

We depend on the extremely popular OpenSSL library to implement https for our non-windows clients. Recently, there has been a major security exploit discovered in this open source software (nicknamed Heartbleed). Since we do not currently have HTTPS support for the listener (the primary target of this exploit), most client applications should not be significantly threatened. However, we still recommend updating your system packages to use the patched version of this software and notifying any of your downstream clients to update their packages as well.

More information is available at http://heartbleed.com/.

Contribute Back!

Is there a feature missing that you'd like to see, or found a bug that you have a fix for? Or do you have an idea or just interest in helping out to build Casablanca? Let us know and we'd love to work with you. For a good starting point on where we are headed and feature ideas, take a look at our requested features.

As an example here are a couple of features, in addition to bugs, we could use help on. But are interested in more ideas as well.
  • UDP client
  • TCP client
  • https support in our http_listener
Big or small we'd like to take your contributions back to help improve Casablanca for everyone. If interested contact us askcasablanca at Microsoft dot com.

Having Trouble?

We'd love to get your review score, whether good or bad, but even more than that, we want to fix your problem. If you submit your issue as a Review, we won't be able to respond to your problem and ask any follow-up questions that may be necessary. The most efficient way to do that is to open a discussion or track it under issues.

Quick Links

Last edited Thu at 1:44 PM by roschuma, version 67