casablanca websocket_client returns websocket_incoming_message. However because there is no way to set the websocket_incoming_message response contents externally testing scenarios where messages were received was not possible. To make the code testable we would have to change the template type to something that returns pplx::task<utility::string_t> instead of pplx::task<websocket_incoming_message> which meant we could not use the casablanca websocket_client directly as the template type which was the main point of using the template in the first place. As a result the static polymorphism (i.e. template) is being replaced with runtime polymorphism (base pure virtual class).
- moving url and querystring from connection to connection_impl
- marking ctors with 1 mandatory parameter as explicit to prevent from implicit conversions
- moving implementations from headers to cpp files
No functional changes
Note: these are just basic changes for the already exisiting Release|Win32 configuration. we will need to rethink and consolidate the build when we start buildning for other architectures/platforms