Feedback about Blocking Issues and Work-Arounds

Apr 26, 2014 at 3:40 PM
Edited Apr 26, 2014 at 3:41 PM
Blocking Issues:
  1. We'll require Listener SSL for Windows within a few weeks, Linux some weeks later. Hopefully the contributor merge is going well. Otherwise we'll have to fallback to listener architecture consisting of a hybrid of node.js and C++ REST SDK.
Issues we'll have to work-around:
  1. Support for Red Hat in some months. Others seem to have found some success with CentOS/RedHat.
  2. Would like web::json::value::parse() to preserve the order of JSON property names, not alphabetize by property name. I believe it preserved order some releases ago(?). Round-tripping parse() to serialize() doesn't result in the original ordering. This is at least an issue for our debugging/sanity checks/visual confirmations.
  3. Naming issues of libs/dlls. We've decided the only way to minimize support headaches is to statically link C++ REST SDK libs with our apps, thus eliminating C++ REST SDK dlls. We are aware of the pluses and minuses to this approach.
Apr 26, 2014 at 8:09 PM
Hi BSalita,

  1. For Windows the pull request is located right here. If you need it right now you take it directly from the forked repository, otherwise it probably will be in our next release sometime in May. As far as Linux I don't know when it will happen, but we gladly would take any contributions adding. Our current focus is on websockets for Windows desktop/Linux/Mac/iOS, and then Android support.
Issues working around:
  1. Yes others have had success building with CentOS. If is quite unlikely for us to be officially adding this in the short term.
  2. JSON ordering is not guaranteed by the specification and we did make a change affecting this in our 2.0.0 release that results in better performance. If this is really important you could add and option to preserve ordering, but it would have to be off by default.
  3. Regarding static linking several people have successfully done this themselves so you shouldn't have too many major problems.
In general I don't think we will be getting to addressing a lot of these issues in the short term. If possible you should strongly consider implementing some of these yourself and contributing back to benefit the greater community. The first step is to sign our contributor license agreement, then you are free to make pull requests on our development branch with you changes. If you are making changes it is a probably a good idea to announce on our forums so you don't duplicate effort with others.