Microsoftの C++ REST SDK、コードネームがCasablanca、が Apacheライセンスのもとでオープンソースされた。「現代的な非同期のC++ API設計を使って、クラウドベースのクライアント-サーバー通信をネイティブコードでサポートするMicrosiftの成果」と、説明されている。高レベルな記述をせずに、この製品は、C++11を使って、Microsoftが望む、クライアント側のHTTPコードを書くための、より簡単な方法を提供する。
Casablancaは、マルチプラットフォームであり、Windows 7と Windows 8と同様にLinuxをサポートしている。Microsoftの開発者である Artur Laksberg氏は、WinXPとVistaのサポートも開発中である、と述べている。もう一つ特筆すべきことは、非同期操作のサポートです。Microsoftの発表 は、Casablanca の実際の動きを示すために、HTTPを介したファイルのアップロードやJSONオブジェクトの作成の例を幾つか提供している。
Windows とLinuxの両方のビルドは、以下のフィーチャをサポートしている。
- HTTPクライアント経由でサーバーへの接続を生成し、リクエストを送り、応答を処理する機能。
- Uniform Resource Identifiers (URI)の構築と使用をサポート。
- JSONの値を構築、パース、シリアライズする。
- Streams とStream Buffersを介してバイトを元にあるメディアへ/から非同期に書き/読みする。
幾つかの異なる Streams とStream Buffersが使える:メモリーベースのプロデューサー-コンシューマ、ファイル、STLコンテナによるメモリーベースのストリーム、生ポインターストリーム、相互運用ストリーム。この最後のタイプのストリームによってできるようになるのは、「...Casablanca は、2セットのクラスを提供する。その1つは、 iostreamへの非同期のストリームインターフェースを与え、もう1つは、非同期ストリームへの iostreamインターフェースを与える。」
Linux httpクライアントには、若干の制限があり、https、プロキシ、認証をまだサポートしていない。しかし、Microsoftは、これらのフィーチャは将来のリリースでサポートされる、と言っている。 CodePlexには、Casablancaのソースコードがあり、最新のスナップショットをオンラインで見ることもできるし、Gitで入手するか、Zipアーカイブをダウンロード出来る。