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: Jul 15 at 7:23 AM by Jormungand999 | 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: Jul 21 at 8:54 PM by stevetgates | 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

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

Build error on OS X & latest version of clang

Hey, trying to compile with the latest version of Clang blows up with tons of warnings-turned-to-errors like this: /.../casablanca/Release/include/cpprest/details/SafeInt3.hpp:3144:9: error: un...

Id #404 | Release: None | Updated: Jul 31 at 7:10 PM by roschuma | Created: Jul 30 at 1:38 PM by eagleflo

Need json number value comparison between double and integer types.

I've found that a comparison of interger_type and double_type will always be fail even though there values are equal.(ie. 1.0 & 1) web::json::value DoubleValue = web::json::value::parse(L"{ \"doubl...

Id #403 | Release: None | Updated: Jul 31 at 7:07 PM by roschuma | Created: Jul 30 at 9:02 AM by jonghyun

Can only download partial content

Hi, I am using the pattern... http_client request(baseuri, mHttpConfig); // mHttpConfig for attaching the Oauth2 token request.request(methods::GET, actionUri).then([=](http_response response) {...

Id #402 | Release: None | Updated: Jul 29 at 6:02 PM by glukacsy | Created: Jul 29 at 4:54 PM by glukacsy

Let http_client_config to be able to configure customized path or file for CA

In linux version of http_client_config, it is better to add the functionality to set a customized trusted CA, which essentially implements as the underlying add_verify_path call or load_verify_file...

Id #401 | Release: None | Updated: Jul 28 at 8:26 AM by evanc | Created: Jul 28 at 8:26 AM by evanc

Windows in scoped_c_thread_locale::c_locale() - global once_flag doesn't have static init

Given a global once_flag the Standard says that this once_flag should be statically initialized because it has a constexpr constructor. Current the VC compiler emits a dynamic initializer, so attem...

Id #399 | Release: None | Updated: Jul 20 at 8:21 PM by stevetgates | Created: Jul 20 at 8:21 PM by stevetgates

WinHTTP Automatic Redirection hardly usable

The problem WinHttp port currently leaves automatic redirection turned on (it is turned on by default for WinHttp). That brings many problems: There is no way how to turn it off from the interf...

Id #397 | Release: None | Updated: Jul 13 at 4:53 PM by stevetgates | Created: Jul 8 at 3:23 PM by pecholt

test_http_server - doesn't handle some failure cases gracefully, causing test failures on Windows

Specifically this his being hit by the following two progress_handler_tests.cpp sporadically in our builds: data_upload_exception data_download_exception The tests report failure like the foll...

Id #395 | Release: None | Updated: Jul 13 at 5:16 PM by stevetgates | Created: Jul 1 at 10:37 PM by stevetgates