support statically linked runtime

I think as you know if you are linking against this library and you are not using dynamically linked runtime you might see weird behaviors or even crash (have no idea what's going on since it's not...

Id #18 | Release: None | Updated: Sun at 4:19 PM by punitganshani | Created: Jun 20, 2013 at 7:59 PM by c2c

Client Side Certificates

Please vote if this is an important scenario for you. If the lack of this feature is is blocking your adoption of the C++ REST SDK, please comment below. Note: We cannot guarantee that this fea...

Id #41 | Release: None | Updated: Feb 13 at 1:05 AM by stevetgates | Created: Jul 16, 2013 at 5:29 PM by stevetgates

Support for Clang compiler on Linux

Please vote if this is an important scenario for you. If the lack of this feature is is blocking your adoption of the C++ REST SDK, please comment below. Note: We cannot guarantee that this featur...

Id #24 | Release: None | Updated: Nov 22, 2014 at 11:33 AM by berkutx | Created: Jul 11, 2013 at 7:09 PM by sanamithani

Linux/non-Windows http_client proxy support

Please vote if this is an important scenario for you. If the lack of this feature is is blocking your adoption of the C++ REST SDK, please comment below. Note: We cannot guarantee that this feat...

Id #88 | Release: None | Updated: Dec 22, 2014 at 3:39 PM by rchatsiri | Created: Feb 21, 2014 at 9:19 PM by stevetgates

Linux/non-Windows http_client authentication support

Support for some http authentication schemes in http_client on Linux and other non-Microsoft platforms

Id #89 | Release: None | Updated: Feb 11 at 10:30 PM by johnmiked15 | Created: Feb 21, 2014 at 9:21 PM by stevetgates

Add Windows Integrated Security

Please add an option to use the credentials of the currently logged on user to authenticate against servers.

Id #38 | Release: None | Updated: Dec 30, 2014 at 7:33 PM by japatterson | Created: Jul 12, 2013 at 7:17 AM by SvenC

Windows - support for utf-8, single byte strings

On Windows string_t is a 2 byte character, assumed UTF-16 string in the C++ Rest SDK. For some data critical areas we could make API overloads that work with std::string or return std::string. Th...

Id #239 | Release: None | Updated: Feb 27 at 6:59 PM by nikgloy | Created: Aug 18, 2014 at 10:10 PM by stevetgates

Additional platform support: Xbox

Please vote if this is an important scenario for you. If the lack of this feature is is blocking your adoption of the C++ REST SDK, please comment below. Note: We cannot guarantee that this featu...

Id #34 | Release: None | Updated: Sep 22, 2014 at 11:39 PM by dvgopal | Created: Jul 11, 2013 at 7:25 PM by sanamithani

HTTPS support for non-Windows http_listener

Please vote if this scenario is import for you: We currently have support for HTTPS with the http_listener on Windows desktop, however we do not have it for Linux, OSX, etc.

Id #274 | Release: None | Updated: Feb 12 at 3:28 PM by slepasteur | Created: Sep 16, 2014 at 12:36 AM by roschuma

http_listener - [Linux] server keep connection alive

We don't have keep-connection alive implemented on our server on Linux (even though it looks like it is implemented, there is a variable m_close in http_linux_server.cpp but it simply doesn't work)...

Id #141 | Release: None | Updated: Feb 4 at 8:52 PM by Temzix | Created: May 16, 2014 at 8:44 PM by stevetgates

http_listener - Allow for session management

There currently is no way to determine if a request came from a new connection or an existing persistent connection. Please allow a way to know when a session is open, and a way for the user to kno...

Id #111 | Release: None | Updated: Feb 4 at 8:53 PM by Temzix | Created: May 6, 2014 at 7:50 PM by Nagendra17

http_client: How to get the redirected URL?

I'm fetching a document that can contain relative URLs. Since the original request may be redirected, I need to know the URL actually used to fetch the resource to turn those relative URLs into ab...

Id #100 | Release: None | Updated: Sep 4, 2014 at 11:36 PM by DanJL | Created: Apr 10, 2014 at 1:33 AM by kavyako

Support CentOS / Red Hat

We are nearing the completion of our Windows project and now must have C++ REST SDK running on Red Hat. We are a Red Hat shop. We would like to see the C++ REST SDK officially supported on CentOS/ ...

Id #92 | Release: None | Updated: Jan 6 at 6:57 PM by stevetgates | Created: Mar 7, 2014 at 3:13 AM by BSalita

http_listener (boost impl) - race closing with requests errors in some cases can cause AVs

I don't think the code for handling closing is entirely correct in non straightforward cases. If requests are in progress in error paths segmentation faults occur. I don't think this is particular ...

Id #328 | Release: None | Updated: Dec 19, 2014 at 8:57 AM by lolisia | Created: Dec 16, 2014 at 1:54 AM by stevetgates

Websockets not supported on Visual Studio 14 desktop

Our implementation relies on Boost via several NuGet packages. These packages do not have Visual Studio 14 versions, therefore supporting websockets on Visual Studio 14 requires further investigati...

Id #277 | Release: None | Updated: Oct 13, 2014 at 7:59 AM by nikolaynnov | Created: Sep 18, 2014 at 12:25 AM by roschuma

http_client - support automatic gzip compression/decompression

1) I get this http response header() (L"Cache-Control", L"no-cache") (L"Content-Encoding", L"gzip") (L"Content-Length", L"792") (L"Content-Type", L"application/json;charset=utf-8") (L"Date"...

Id #234 | Release: None | Updated: Nov 26, 2014 at 7:12 PM by SheldonLemoine | Created: Aug 16, 2014 at 1:41 PM by petke

http_client - support timeout options at the individual request level

One of our internal customers requested interest in being able to set timeouts at the individual request level. Right now we only support options for configuration at the http_client level affectin...

Id #142 | Release: None | Updated: Oct 22, 2014 at 10:47 PM by vkaminsky | Created: May 16, 2014 at 8:46 PM by stevetgates

http_listener - Add support to add cookies

.NET has SetCookie, AppendCookie: eg: add a cookie to the response. For instance, add a cookie with current visited time. It will be good to have this feature in Casablanca. Currently, users can u...

Id #133 | Release: None | Updated: Feb 27 at 7:32 AM by SheldonLemoine | Created: May 16, 2014 at 8:18 PM by stevetgates

http_listener - Implement support for 100-Continue Expect header

Casablanca: How can we support 100-Continue Expect header using Casablanca. See Section 8.2.3 of HTTP specification: The purpose of the 100 (Continue) status (see section 10.1.1) is to allow a cl...

Id #131 | Release: None | Updated: Jun 26, 2014 at 3:38 PM by sriramkp | Created: May 16, 2014 at 2:29 AM by stevetgates

json - include decimal point and trailing zero when serializing double round doubles (Azure storage)

I noticed that when serializing a JSON message that contains a double value which is a round number (e.g. 123.0), the value is printed without a decimal point. This poses a problem for our server b...

Id #119 | Release: None | Updated: Feb 2 at 7:46 AM by wendej | Created: May 16, 2014 at 2:04 AM by stevetgates

http_client - validate servers with custom certificates

On non-windows platforms, openssl expects all valid certificates to reside in a directory like "/usr/local/etc/openssl". This can be problematic if the user program doesn't have root access, or the...

Id #116 | Release: None | Updated: Oct 22, 2014 at 10:49 PM by vkaminsky | Created: May 14, 2014 at 7:27 PM by roschuma

Linux - ARM support

Hi, is casablanca actualy supporting arm architecture? build logs attached (cdecl errors)

Id #291 | Release: None | Updated: Nov 25, 2014 at 10:21 PM by ilektron | Created: Oct 1, 2014 at 11:17 AM by LocutusOfBorg

Increase reported detail from WinHTTP failures

Currently, we only use and report based on the dwResult field in the WINHTTP_ASYNC_RESULT structure. This makes it difficult to know specifically what failed when a failure occurs. It would be good...

Id #286 | Release: None | Updated: Oct 24, 2014 at 11:34 PM by stevetgates | Created: Sep 26, 2014 at 9:49 PM by roschuma

http_client - iOS/OS X/Android certificate verification improve error reporting

When using the iOS and JNI APIs for verification failure is just true/false right now. The OpenSSL callback takes true/false. Ideally we should provide more error information to the user. Perhaps a...

Id #258 | Release: None | Updated: Oct 13, 2014 at 9:33 AM by nikolaynnov | Created: Aug 28, 2014 at 7:18 AM by stevetgates

websocket_client - authorization credentials support on non-WinRT

This is only implemented in our WinRT websocket_client right now.

Id #254 | Release: None | Updated: Aug 28, 2014 at 4:50 AM by xubin | Created: Aug 28, 2014 at 12:27 AM by stevetgates

Fix warnings on gcc 4.8 with -Wall in test code.

Subtask of https://casablanca.codeplex.com/workitem/173

Id #253 | Release: None | Updated: Sep 5, 2014 at 10:00 PM by stevetgates | Created: Aug 27, 2014 at 10:10 PM by roschuma

oauth - needs Visual Studio visualizer

Applies to both 1.0 and 2.0.

Id #241 | Release: None | Updated: Oct 13, 2014 at 9:35 AM by nikolaynnov | Created: Aug 20, 2014 at 12:04 AM by stevetgates

Add logging of HTTP requests/responses

It would be nice to have a way to provide a (user-configurable) logger which would be called for all HTTP requests done by the library and for all responses to them. This would be mostly useful to ...

Id #211 | Release: None | Updated: Aug 28, 2014 at 10:19 AM by halex2005 | Created: Jul 5, 2014 at 4:17 PM by _VZ_

Add additional error parameter to datetime::from_string

1601-01-01T00:00:00Z is a valid date, but it not distinguishable from an error. We should add an output parameter error to from_string, something like this: datetime __cdecl datetime::from_string(...

Id #207 | Release: None | Updated: Oct 27, 2014 at 5:39 PM by stevetgates | Created: Jun 27, 2014 at 2:09 AM by arturl

replace all platform dependent synchronization primitives with stl version

Starting from Dev14, ppltasks will no long provide definitions for (scoped)_recursive_lock_t (scoped)_read_writer_lock_t critical_section_t etc.. We need to make Casablanca only depends on ...

Id #198 | Release: None | Updated: Oct 13, 2014 at 9:39 AM by nikolaynnov | Created: Jun 17, 2014 at 1:48 AM by gbb21

fix appverifier error for winsock initialization from DllMain

Websockets uses boost asio. And asio has a Static variable to ensure that winsock is initialised before main. Looks like in case of a dll, it may not be safe to initialise Winsock from global obje...

Id #188 | Release: None | Updated: Oct 13, 2014 at 9:41 AM by nikolaynnov | Created: Jun 10, 2014 at 2:20 AM by kavyako

Make json::value(const char*) safe under Windows

The following code: json::value params; params[U("version")] = json::value("1.0"); results in the following JSON: {"version":true} under Windows, as "1.0" literal is implicitly converted to bool...

Id #185 | Release: None | Updated: Jan 6 at 6:55 PM by stevetgates | Created: May 31, 2014 at 10:35 PM by _VZ_

Add cancellation support to websocket APIs (especially receive task)

Currently, websocket APIs do not take cancellation token. Initiating a receive returns a task that completes when a message is received. If user wishes to cancel this operation, it is not possibl...

Id #177 | Release: None | Updated: Aug 18, 2014 at 6:26 PM by raffaeler | Created: May 22, 2014 at 9:39 PM by kavyako

Compiling cpprest/http_client.h with g++ -Wall results in tons of warnings

Compiling any code using the SDK with "g++ -Wall" results in more than a hundred warnings. The warnings are harmless: 70 of them are -Wunknown-pragmas and 33 more are -Wreorder, but it would still ...

Id #173 | Release: None | Updated: Sep 19, 2014 at 12:05 AM by stevetgates | Created: May 20, 2014 at 2:52 PM by _VZ_

streams - interop APIs to convert from WinRT stream to Casablanca stream

The stream interop APIs only provide a way to convert from Casablanca stream (concurrency::streams::streambuffer) to WinRT stream and not the other way round. We need to provide the two way convers...

Id #164 | Release: None | Updated: Jul 2, 2014 at 3:56 AM by utsav_popli | Created: May 16, 2014 at 9:59 PM by stevetgates

streams - size() method returns size64_t but rest of APIs take size_t

A customer discovered that our size() API on stream buffers, however the rest of the APIs for reading/writing etc... use size_t. I'm not exactly sure how we ended up in this situation but, we sh...

Id #145 | Release: None | Updated: Oct 24, 2014 at 11:27 PM by stevetgates | Created: May 16, 2014 at 8:51 PM by stevetgates

http_listener - improve perf when listener is responding to requests with payloads (smaller payloads : <=100KB)

Testcase: client sends GET request to the listener, listener responds to the request with data. Measure the round trip time, time taken to send the request, and receiving success status code and ...

Id #138 | Release: None | Updated: Sep 3, 2014 at 5:35 PM by stevetgates | Created: May 16, 2014 at 8:38 PM by stevetgates

http_listener - improve perf when listener is receiving requests with data payloads

Testcase: client sends PUT request to the listener, each request has a data payload. Measure the round trip time, time taken to send the request, read the data at the listener end and receiving s...

Id #137 | Release: None | Updated: Sep 3, 2014 at 5:35 PM by stevetgates | Created: May 16, 2014 at 8:37 PM by stevetgates

utility::datetime::from_string doesn't work when some values are dropped from date/time representation

ISO 8601 specifies several formats. http://en.wikipedia.org/wiki/ISO_8601 datetime::from_string should work with all of them. from_string returns 0 if any of the values are dropped. for instance...

Id #129 | Release: None | Updated: Oct 13, 2014 at 9:54 AM by nikolaynnov | Created: May 16, 2014 at 2:26 AM by stevetgates

http_listener - Allow users to configure maximum number of simultaneous sessions

To allow users to better control the use of CPU resources, and memory resources, please give them a knob where they can set the maximum number of simultaneous sessions and threads. See related di...

Id #110 | Release: None | Updated: Jun 26, 2014 at 3:37 PM by sriramkp | Created: May 5, 2014 at 6:00 PM by Nagendra17

Use Compiler Constants to Check for Common Errors

Use compiler manifest constants in #include files to check for common development errors for the various supported compilers. Here's some gcc tests: ifdef GNUC ifndef GNUG error "Error: Not a C++ c...

Id #93 | Release: None | Updated: Aug 26, 2014 at 12:12 AM by stevetgates | Created: Mar 10, 2014 at 1:42 AM by BSalita

extract_json() memory leak Reported

Hi. I've used v1.4 in my VC++(MFC) project. ( i solved dll unloaded problem - https://casablanca.codeplex.com/workitem/17 ) And I get a memory leak report. I tested SDI Project with the follow...

Id #78 | Release: None | Updated: Oct 24, 2014 at 11:27 PM by stevetgates | Created: Jan 24, 2014 at 6:35 AM by kisuya

MQTT Client + MQTT Listener

Addition of an Asynchronous MQTT Client + Listener to allow for M2M messaging via MQTT.

Id #55 | Release: None | Updated: Dec 21, 2013 at 4:48 PM by rajeshkannanp | Created: Sep 26, 2013 at 1:06 AM by hpidcock

Casablanca server memory leak

Hi, I am using casablanca from NUGet (<package id="cpprestsdk" version="2.4.0.1" targetFramework="Native" />). VS2013. I have a cpu and memory leak on practical empty project (few hours testing) a...

Id #348 | Release: None | Updated: Today at 1:21 AM by stevetgates | Created: Mon at 2:53 PM by krajna

get error when connect to websocket via proxy

Hi, I used casablanca(development branch lastest commit) to connect with websocket server via proxy. websocket_callback_client client; websocket_client_config client_config; web::web_proxy wp(U(...

Id #347 | Release: None | Updated: Feb 26 at 5:35 PM by stevetgates | Created: Feb 26 at 10:28 AM by najp

Does C++ REST SDK support on ARM Cortex

Hi, Do we ave compiled version of this library using Keil compiler. We are planning to use this SDK on embedded device with ARM Cortex. Thanks, Naeem

Id #343 | Release: None | Updated: Feb 11 at 11:39 PM by roschuma | Created: Feb 11 at 5:05 PM by snahmad75

If Webserver is down exception not thrown in connect call

Hi Steve, a) As mentioned, am opening a fresh issue. The following code crashes my app on Windows 7 ( where casablanca is loaded as a dll ) if the webserver is not online auto current_context = ta...

Id #338 | Release: None | Updated: Jan 29 at 8:35 PM by stevetgates | Created: Jan 28 at 6:27 PM by AnkaSoftware

websocket_client_config ssl verify mode

Currently it's not possible to disable certificate validation for websockets, the only way to do is to change the cpprestsdk source code (which is not the best idea). It would be great to provide...

Id #337 | Release: None | Updated: Jan 8 at 5:33 PM by stevetgates | Created: Jan 8 at 12:19 PM by mbischof

pplx::task constructor should accept non-copiable lambdas

Original discussion: https://casablanca.codeplex.com/discussions/577020 Inside the constructor for tasks, at least one copy is made of the passed lambda. This prevents capturing move-only resourc...

Id #336 | Release: None | Updated: Jan 7 at 8:07 PM by roschuma | Created: Jan 7 at 8:07 PM by roschuma

Build fails on OS X 10.8.5 due to -Wnull-conversion

Hi, There is a problem while compiling CPPRest 2.3 on Mac OS X 10.8.5 with a conversion from NULL to nullptr_t: ... cpprest/astreambuf.h:524:42: error: implicit conversion of NULL constant to 'n...

Id #327 | Release: None | Updated: Dec 17, 2014 at 1:11 AM by stevetgates | Created: Dec 14, 2014 at 5:23 AM by LeSnip3R