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: Aug 29 at 5:54 PM by kerem | Created: Jun 20, 2013 at 6: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: Aug 17 at 10:02 AM by Manorama | Created: Jul 16, 2013 at 4: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: Jul 12 at 8:31 AM by eetuv | Created: Jul 11, 2013 at 6: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 2:39 PM by rchatsiri | Created: Feb 21, 2014 at 8:19 PM by stevetgates

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: Jul 15 at 7:21 AM by Jormungand999 | Created: Aug 18, 2014 at 9:10 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 9:30 PM by johnmiked15 | Created: Feb 21, 2014 at 8: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: May 19 at 7:41 PM by pimiy | Created: Jul 12, 2013 at 6:17 AM by SvenC

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: Jul 29 at 6:23 PM by aidsjorb | Created: Sep 15, 2014 at 11:36 PM by roschuma

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 10:39 PM by dvgopal | Created: Jul 11, 2013 at 6:25 PM by sanamithani

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: Jul 15 at 7:24 AM by Jormungand999 | Created: Aug 16, 2014 at 12:41 PM by petke

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: Jun 5 at 9:28 PM by EricMCornelius | Created: May 16, 2014 at 7:44 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: Jul 15 at 7:21 AM by Jormungand999 | Created: May 16, 2014 at 7: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 5 at 9:25 PM by EricMCornelius | Created: May 16, 2014 at 1: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: Jul 30 at 8:46 AM by jonghyun | Created: May 16, 2014 at 1:04 AM 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 7:53 PM by Temzix | Created: May 6, 2014 at 6: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 10:36 PM by DanJL | Created: Apr 10, 2014 at 12: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 5:57 PM by stevetgates | Created: Mar 7, 2014 at 2: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 7:57 AM by lolisia | Created: Dec 16, 2014 at 12:54 AM by stevetgates

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: Jul 3 at 8:33 AM by Rob_McKay | Created: Jun 17, 2014 at 12:48 AM by gbb21

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: Jul 15 at 7:22 AM by Jormungand999 | Created: May 31, 2014 at 9:35 PM by _VZ_

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 9:47 PM by vkaminsky | Created: May 16, 2014 at 7:46 PM 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 9:49 PM by vkaminsky | Created: May 14, 2014 at 6:27 PM by roschuma

Android with VS 2015 RTM - default Clang version is no longer 3.4 NuGet packages end up turned off

Reported from the following discussion: https://casablanca.codeplex.com/discussions/641769 Basically the problem is the Android NuGet packages only will add the files if the Clang version is 3....

Id #400 | Release: None | Updated: Jul 25 at 5:34 PM by navysparks | Created: Jul 24 at 5:46 PM by stevetgates

Support WRL (not /ZW) for Windows Store/Phone

Relevant discussion: https://casablanca.codeplex.com/discussions/579930 I believe it should just involve making sure all our WINAPI_FAMILY/__cplusplus_winrt checks are correct.

Id #357 | Release: None | Updated: Apr 9 at 9:01 AM by Altk | Created: Apr 1 at 2:06 AM by stevetgates

json-schema support

Extend Casablanca's JSON support to cover json-schema: For JSON data validation scenarios going beyond say using regex against string fields. The standard is still in draft, but I was wondering i...

Id #356 | Release: None | Updated: Apr 1 at 2:25 AM by stevetgates | Created: Mar 26 at 12:40 AM by Sserpenthraxus

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: Apr 13 at 3:23 PM by brinkrob | Created: Jan 8 at 11:19 AM by mbischof

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 10:34 PM by stevetgates | Created: Sep 26, 2014 at 8: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 8:33 AM by nikolaynnov | Created: Aug 28, 2014 at 6: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 3:50 AM by xubin | Created: Aug 27, 2014 at 11:27 PM by stevetgates

oauth - needs Visual Studio visualizer

Applies to both 1.0 and 2.0.

Id #241 | Release: None | Updated: Oct 13, 2014 at 8:35 AM by nikolaynnov | Created: Aug 19, 2014 at 11:04 PM 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 9:19 AM by halex2005 | Created: Jul 5, 2014 at 3: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 4:39 PM by stevetgates | Created: Jun 27, 2014 at 1:09 AM by arturl

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 5:26 PM by raffaeler | Created: May 22, 2014 at 8: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 18, 2014 at 11:05 PM by stevetgates | Created: May 20, 2014 at 1: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 2:56 AM by utsav_popli | Created: May 16, 2014 at 8: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 10:27 PM by stevetgates | Created: May 16, 2014 at 7: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 4:35 PM by stevetgates | Created: May 16, 2014 at 7: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 4:35 PM by stevetgates | Created: May 16, 2014 at 7: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 8:54 AM by nikolaynnov | Created: May 16, 2014 at 1: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 2:37 PM by sriramkp | Created: May 5, 2014 at 5: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 25, 2014 at 11:12 PM by stevetgates | Created: Mar 10, 2014 at 12:42 AM by BSalita

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 3:48 PM by rajeshkannanp | Created: Sep 26, 2013 at 12:06 AM by hpidcock

http_listener crash - Segmentation fault

Hello, i have problem with service. This is very strange, because on all of ours employee computers (Intel NUC's with Fedora/Ubuntu/Debian systems) it work without a problem, but on our server ma...

Id #414 | Release: None | Updated: Tue at 2:43 PM by kowalikm | Created: Tue at 2:42 PM by kowalikm

http_listener crashes when URI contains a pending square bracket

When a square bracket is present at the last position in the URI, http_listener throws an uri_exception which isn't catched, thus the program is terminated (as of Casablanca 2.5.0). Somehow Http Se...

Id #413 | Release: None | Updated: Thu at 7:36 AM by mrkkrj | Created: Aug 24 at 11:12 AM by mrkkrj

File streams do not support files > 4 GB on Win32

The stream classes in concurrency::streams do not support files > 4 GB when used from a 32-Bit process. See the following code and attached project. The output is: The actual size of the file is ...

Id #411 | Release: None | Updated: Aug 13 at 3:11 PM by BerndA | Created: Aug 13 at 3:11 PM by BerndA

Load failed error in Windows Server 2012 R2 OS

I have downloaded the lasted casablanca on the Windows Server 2012 R2 Operating system. using git clone https://git01.codeplex.com/casablanca The visual studio used to build is : Visual Studio ...

Id #410 | Release: None | Updated: Aug 18 at 12:52 AM by roschuma | Created: Aug 12 at 11:44 AM by savithamr

No cpprestsdk.v140.winxp.msvcstl.dyn.rt-dyn NuGet package available

There is no cpprestsdk.v140.winxp.msvcstl.dyn.rt-dyn NuGet package available for version 2.6.0. Will future versions support "v140_xp" platform toolset and if they will, when will they be release...

Id #409 | Release: None | Updated: Aug 18 at 11:24 AM by Barfy | Created: Aug 11 at 1:56 PM by Barfy

Building 64 bit binaries for Android on Linux

Are there any instructions for building 64 bit binaries for use on Android? The configure file in the Build_android folder doesn't seem to support building for 64 bit. Has anyone done this?

Id #407 | Release: None | Updated: Aug 4 at 9:25 PM by roschuma | Created: Aug 3 at 8:24 PM by dudepantsbro

Heap corruption when free Winhttp objects

Hi cpprest team, We are using azure storage SDK which is using cpprest to manage http request. We are seeing a heap corruption crash in our process. Here is the call stack of where the heap corru...

Id #406 | Release: None | Updated: Aug 3 at 8:47 AM by hanzhu | Created: Aug 3 at 8:47 AM by hanzhu

iOS instructions do not produce a framework

From https://casablanca.codeplex.com/discussions/642168. First, I think 'Building Boost' section of 'How to build and setup on iOS' contains errors, as 2nd and 3rd command seem are obsolete. The...

Id #405 | Release: None | Updated: Jul 31 at 7:16 PM by roschuma | Created: Jul 30 at 8:40 PM by roschuma