Skip to content

Commit f836809

Browse files
Remove web::uri usage from public API (#7834)
1 parent f1b1886 commit f836809

27 files changed

+110
-293
lines changed

src/SignalR/clients/cpp/src/signalrclient/connection_impl.cpp

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -80,13 +80,13 @@ namespace signalr
8080

8181
m_disconnect_cts = pplx::cancellation_token_source();
8282
m_start_completed_event.reset();
83-
m_message_id = m_groups_token = m_connection_id = _XPLATSTR("");
83+
m_connection_id = _XPLATSTR("");
8484
}
8585

8686
return start_negotiate(m_base_url, 0);
8787
}
8888

89-
pplx::task<void> connection_impl::start_negotiate(const web::uri& url, int redirect_count)
89+
pplx::task<void> connection_impl::start_negotiate(const utility::string_t& url, int redirect_count)
9090
{
9191
if (redirect_count >= MAX_NEGOTIATE_REDIRECTS)
9292
{
@@ -214,7 +214,7 @@ namespace signalr
214214
return pplx::create_task(start_tce);
215215
}
216216

217-
pplx::task<std::shared_ptr<transport>> connection_impl::start_transport(const web::uri& url)
217+
pplx::task<std::shared_ptr<transport>> connection_impl::start_transport(const utility::string_t& url)
218218
{
219219
auto connection = shared_from_this();
220220

@@ -294,7 +294,7 @@ namespace signalr
294294
.then([transport](){ return pplx::task_from_result(transport); });
295295
}
296296

297-
pplx::task<void> connection_impl::send_connect_request(const std::shared_ptr<transport>& transport, const web::uri& url, const pplx::task_completion_event<void>& connect_request_tce)
297+
pplx::task<void> connection_impl::send_connect_request(const std::shared_ptr<transport>& transport, const utility::string_t& url, const pplx::task_completion_event<void>& connect_request_tce)
298298
{
299299
auto logger = m_logger;
300300
auto query_string = _XPLATSTR("id=" + m_connection_id);
@@ -479,7 +479,7 @@ namespace signalr
479479
return m_connection_state.load();
480480
}
481481

482-
utility::string_t connection_impl::get_connection_id() const
482+
utility::string_t connection_impl::get_connection_id() const noexcept
483483
{
484484
if (m_connection_state.load() == connection_state::connecting)
485485
{
@@ -507,7 +507,7 @@ namespace signalr
507507
m_disconnected = disconnected;
508508
}
509509

510-
void connection_impl::ensure_disconnected(const utility::string_t& error_message)
510+
void connection_impl::ensure_disconnected(const utility::string_t& error_message) const
511511
{
512512
const auto state = get_connection_state();
513513
if (state != connection_state::disconnected)

src/SignalR/clients/cpp/src/signalrclient/connection_impl.h

Lines changed: 6 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -41,14 +41,14 @@ namespace signalr
4141
pplx::task<void> stop();
4242

4343
connection_state get_connection_state() const noexcept;
44-
utility::string_t get_connection_id() const;
44+
utility::string_t get_connection_id() const noexcept;
4545

4646
void set_message_received(const std::function<void(const utility::string_t&)>& message_received);
4747
void set_disconnected(const std::function<void()>& disconnected);
4848
void set_client_config(const signalr_client_config& config);
4949

5050
private:
51-
web::uri m_base_url;
51+
utility::string_t m_base_url;
5252
std::atomic<connection_state> m_connection_state;
5353
logger m_logger;
5454
std::shared_ptr<transport> m_transport;
@@ -63,17 +63,14 @@ namespace signalr
6363
std::mutex m_stop_lock;
6464
event m_start_completed_event;
6565
utility::string_t m_connection_id;
66-
utility::string_t m_connection_data;
67-
utility::string_t m_message_id;
68-
utility::string_t m_groups_token;
6966

7067
connection_impl(const utility::string_t& url, trace_level trace_level, const std::shared_ptr<log_writer>& log_writer,
7168
std::unique_ptr<web_request_factory> web_request_factory, std::unique_ptr<transport_factory> transport_factory);
7269

73-
pplx::task<std::shared_ptr<transport>> start_transport(const web::uri& url);
70+
pplx::task<std::shared_ptr<transport>> start_transport(const utility::string_t& url);
7471
pplx::task<void> send_connect_request(const std::shared_ptr<transport>& transport,
75-
const web::uri& url, const pplx::task_completion_event<void>& connect_request_tce);
76-
pplx::task<void> start_negotiate(const web::uri& url, int redirect_count);
72+
const utility::string_t& url, const pplx::task_completion_event<void>& connect_request_tce);
73+
pplx::task<void> start_negotiate(const utility::string_t& url, int redirect_count);
7774

7875
void process_response(const utility::string_t& response);
7976

@@ -85,6 +82,6 @@ namespace signalr
8582
void invoke_message_received(const utility::string_t& message);
8683

8784
static utility::string_t translate_connection_state(connection_state state);
88-
void ensure_disconnected(const utility::string_t& error_message);
85+
void ensure_disconnected(const utility::string_t& error_message) const;
8986
};
9087
}

src/SignalR/clients/cpp/src/signalrclient/constants.h

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -3,9 +3,6 @@
33

44
#pragma once
55

6-
#include "cpprest/details/basic_types.h"
7-
86
#define SIGNALR_VERSION _XPLATSTR("0.1.0-alpha0")
9-
#define PROTOCOL _XPLATSTR("1.4")
107
#define USER_AGENT _XPLATSTR("SignalR.Client.Cpp/") SIGNALR_VERSION
118
#define MAX_NEGOTIATE_REDIRECTS 100

src/SignalR/clients/cpp/src/signalrclient/http_sender.cpp

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ namespace signalr
1010
{
1111
namespace http_sender
1212
{
13-
pplx::task<utility::string_t> get(web_request_factory& request_factory, const web::uri& url,
13+
pplx::task<utility::string_t> get(web_request_factory& request_factory, const utility::string_t& url,
1414
const signalr_client_config& signalr_client_config)
1515
{
1616
auto request = request_factory.create_web_request(url);
@@ -32,7 +32,7 @@ namespace signalr
3232
});
3333
}
3434

35-
pplx::task<utility::string_t> post(web_request_factory& request_factory, const web::uri& url,
35+
pplx::task<utility::string_t> post(web_request_factory& request_factory, const utility::string_t& url,
3636
const signalr_client_config& signalr_client_config)
3737
{
3838
auto request = request_factory.create_web_request(url);
@@ -54,4 +54,4 @@ namespace signalr
5454
});
5555
}
5656
}
57-
}
57+
}

src/SignalR/clients/cpp/src/signalrclient/http_sender.h

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -12,10 +12,10 @@ namespace signalr
1212
{
1313
namespace http_sender
1414
{
15-
pplx::task<utility::string_t> get(web_request_factory& request_factory, const web::uri& url,
15+
pplx::task<utility::string_t> get(web_request_factory& request_factory, const utility::string_t& url,
1616
const signalr_client_config& client_config = signalr_client_config{});
1717

18-
pplx::task<utility::string_t> post(web_request_factory& request_factory, const web::uri& url,
18+
pplx::task<utility::string_t> post(web_request_factory& request_factory, const utility::string_t& url,
1919
const signalr_client_config& client_config = signalr_client_config{});
2020
}
21-
}
21+
}

src/SignalR/clients/cpp/src/signalrclient/hub_connection_impl.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -43,7 +43,7 @@ namespace signalr
4343
const std::shared_ptr<log_writer>& log_writer, std::unique_ptr<web_request_factory> web_request_factory,
4444
std::unique_ptr<transport_factory> transport_factory)
4545
: m_connection(connection_impl::create(url, trace_level, log_writer,
46-
std::move(web_request_factory), std::move(transport_factory))),m_logger(log_writer, trace_level),
46+
std::move(web_request_factory), std::move(transport_factory))), m_logger(log_writer, trace_level),
4747
m_callback_manager(json::value::parse(_XPLATSTR("{ \"error\" : \"connection went out of scope before invocation result was received\"}"))),
4848
m_disconnected([]() noexcept {}), m_handshakeReceived(false)
4949
{ }

src/SignalR/clients/cpp/src/signalrclient/request_sender.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ namespace signalr
1111
{
1212
namespace request_sender
1313
{
14-
pplx::task<negotiation_response> negotiate(web_request_factory& request_factory, const web::uri& base_url,
14+
pplx::task<negotiation_response> negotiate(web_request_factory& request_factory, const utility::string_t& base_url,
1515
const signalr_client_config& signalr_client_config)
1616
{
1717
auto negotiate_url = url_builder::build_negotiate(base_url);

src/SignalR/clients/cpp/src/signalrclient/request_sender.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ namespace signalr
1414
{
1515
namespace request_sender
1616
{
17-
pplx::task<negotiation_response> negotiate(web_request_factory& request_factory, const web::uri &base_url,
17+
pplx::task<negotiation_response> negotiate(web_request_factory& request_factory, const utility::string_t& base_url,
1818
const signalr_client_config& signalr_client_config = signalr::signalr_client_config{});
1919
}
2020
}

src/SignalR/clients/cpp/src/signalrclient/transport.h

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ namespace signalr
1313
class transport
1414
{
1515
public:
16-
virtual pplx::task<void> connect(const web::uri &url) = 0;
16+
virtual pplx::task<void> connect(const utility::string_t &url) = 0;
1717

1818
virtual pplx::task<void> send(const utility::string_t &data) = 0;
1919

@@ -37,4 +37,4 @@ namespace signalr
3737

3838
std::function<void(const std::exception&)> m_error_callback;
3939
};
40-
}
40+
}

src/SignalR/clients/cpp/src/signalrclient/url_builder.cpp

Lines changed: 6 additions & 58 deletions
Original file line numberDiff line numberDiff line change
@@ -2,63 +2,13 @@
22
// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information.
33

44
#include "stdafx.h"
5-
#include "constants.h"
65
#include "cpprest/http_client.h"
76
#include "signalrclient/transport_type.h"
87

98
namespace signalr
109
{
1110
namespace url_builder
1211
{
13-
utility::string_t get_transport_name(transport_type transport)
14-
{
15-
_ASSERTE(transport == transport_type::websockets || transport == transport_type::long_polling);
16-
17-
return transport == transport_type::websockets
18-
? utility::string_t(_XPLATSTR("webSockets"))
19-
: utility::string_t(_XPLATSTR("longPolling"));
20-
}
21-
22-
void append_transport(web::uri_builder &builder, transport_type transport)
23-
{
24-
if (transport > static_cast<transport_type>(-1))
25-
{
26-
builder.append_query(_XPLATSTR("transport"), get_transport_name(transport));
27-
}
28-
}
29-
30-
void append_connection_token(web::uri_builder &builder, const utility::string_t &connection_token)
31-
{
32-
if (connection_token.length() > 0)
33-
{
34-
builder.append_query(_XPLATSTR("connectionToken"), connection_token, /* do_encoding */ true);
35-
}
36-
}
37-
38-
void append_connection_data(web::uri_builder& builder, const utility::string_t& connection_data)
39-
{
40-
if (connection_data.length() > 0)
41-
{
42-
builder.append_query(_XPLATSTR("connectionData"), connection_data, /* do_encoding */ true);
43-
}
44-
}
45-
46-
void append_message_id(web::uri_builder& builder, const utility::string_t& message_id)
47-
{
48-
if (message_id.length() > 0)
49-
{
50-
builder.append_query(_XPLATSTR("messageId"), message_id, /* do_encoding */ true);
51-
}
52-
}
53-
54-
void append_groups_token(web::uri_builder& builder, const utility::string_t& groups_token)
55-
{
56-
if (groups_token.length() > 0)
57-
{
58-
builder.append_query(_XPLATSTR("groupsToken"), groups_token, /* do_encoding */ true);
59-
}
60-
}
61-
6212
web::uri_builder &convert_to_websocket_url(web::uri_builder &builder, transport_type transport)
6313
{
6414
if (transport == transport_type::websockets)
@@ -89,22 +39,20 @@ namespace signalr
8939
return builder.append_path(command);
9040
}
9141

92-
web::uri build_negotiate(const web::uri& base_url)
42+
utility::string_t build_negotiate(const utility::string_t& base_url)
9343
{
94-
return build_uri(base_url, _XPLATSTR("negotiate")).to_uri();
44+
return build_uri(base_url, _XPLATSTR("negotiate")).to_string();
9545
}
9646

97-
web::uri build_connect(const web::uri& base_url, transport_type transport, const utility::string_t& query_string)
47+
utility::string_t build_connect(const utility::string_t& base_url, transport_type transport, const utility::string_t& query_string)
9848
{
9949
auto builder = build_uri(base_url, _XPLATSTR(""), query_string);
100-
return convert_to_websocket_url(builder, transport).to_uri();
101-
//auto builder = build_uri(base_url, _XPLATSTR("connect"), transport, connection_data, query_string);
102-
//return convert_to_websocket_url(builder, transport).to_uri();
50+
return convert_to_websocket_url(builder, transport).to_string();
10351
}
10452

105-
web::uri build_start(const web::uri &base_url, const utility::string_t &query_string)
53+
utility::string_t build_start(const utility::string_t& base_url, const utility::string_t &query_string)
10654
{
107-
return build_uri(base_url, _XPLATSTR(""), query_string).to_uri();
55+
return build_uri(base_url, _XPLATSTR(""), query_string).to_string();
10856
}
10957
}
11058
}

src/SignalR/clients/cpp/src/signalrclient/url_builder.h

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -10,8 +10,8 @@ namespace signalr
1010
{
1111
namespace url_builder
1212
{
13-
web::uri build_negotiate(const web::uri& base_url);
14-
web::uri build_connect(const web::uri& base_url, transport_type transport, const utility::string_t& query_string);
15-
web::uri build_start(const web::uri& base_url, const utility::string_t& query_string);
13+
utility::string_t build_negotiate(const utility::string_t& base_url);
14+
utility::string_t build_connect(const utility::string_t& base_url, transport_type transport, const utility::string_t& query_string);
15+
utility::string_t build_start(const utility::string_t& base_url, const utility::string_t& query_string);
1616
}
1717
}

src/SignalR/clients/cpp/src/signalrclient/web_request.cpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77

88
namespace signalr
99
{
10-
web_request::web_request(const web::uri &url)
10+
web_request::web_request(const utility::string_t& url)
1111
: m_url(url)
1212
{ }
1313

@@ -49,4 +49,4 @@ namespace signalr
4949
}
5050

5151
web_request::~web_request() = default;
52-
}
52+
}

src/SignalR/clients/cpp/src/signalrclient/web_request.h

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ namespace signalr
1111
class web_request
1212
{
1313
public:
14-
explicit web_request(const web::uri &url);
14+
explicit web_request(const utility::string_t& url);
1515

1616
virtual void set_method(const utility::string_t &method);
1717
virtual void set_user_agent(const utility::string_t &user_agent_string);
@@ -24,9 +24,9 @@ namespace signalr
2424
virtual ~web_request();
2525

2626
private:
27-
const web::uri m_url;
27+
const utility::string_t m_url;
2828
web::http::http_request m_request;
2929
utility::string_t m_user_agent_string;
3030
signalr_client_config m_signalr_client_config;
3131
};
32-
}
32+
}

src/SignalR/clients/cpp/src/signalrclient/web_request_factory.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77

88
namespace signalr
99
{
10-
std::unique_ptr<web_request> web_request_factory::create_web_request(const web::uri &url)
10+
std::unique_ptr<web_request> web_request_factory::create_web_request(const utility::string_t& url)
1111
{
1212
return std::make_unique<web_request>(url);
1313
}

src/SignalR/clients/cpp/src/signalrclient/web_request_factory.h

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -11,8 +11,8 @@ namespace signalr
1111
class web_request_factory
1212
{
1313
public:
14-
virtual std::unique_ptr<web_request> create_web_request(const web::uri &url);
14+
virtual std::unique_ptr<web_request> create_web_request(const utility::string_t& url);
1515

1616
virtual ~web_request_factory();
1717
};
18-
}
18+
}

src/SignalR/clients/cpp/src/signalrclient/websocket_transport.cpp

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -41,9 +41,10 @@ namespace signalr
4141
return transport_type::websockets;
4242
}
4343

44-
pplx::task<void> websocket_transport::connect(const web::uri &url)
44+
pplx::task<void> websocket_transport::connect(const utility::string_t& url)
4545
{
46-
_ASSERTE(url.scheme() == _XPLATSTR("ws") || url.scheme() == _XPLATSTR("wss"));
46+
web::uri uri(url);
47+
_ASSERTE(uri.scheme() == _XPLATSTR("ws") || uri.scheme() == _XPLATSTR("wss"));
4748

4849
{
4950
std::lock_guard<std::mutex> stop_lock(m_start_stop_lock);
@@ -55,7 +56,7 @@ namespace signalr
5556

5657
m_logger.log(trace_level::info,
5758
utility::string_t(_XPLATSTR("[websocket transport] connecting to: "))
58-
.append(url.to_string()));
59+
.append(url));
5960

6061
auto websocket_client = m_websocket_client_factory();
6162

src/SignalR/clients/cpp/src/signalrclient/websocket_transport.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@ namespace signalr
2525

2626
websocket_transport& operator=(const websocket_transport&) = delete;
2727

28-
pplx::task<void> connect(const web::uri &url) override;
28+
pplx::task<void> connect(const utility::string_t& url) override;
2929

3030
pplx::task<void> send(const utility::string_t &data) override;
3131

src/SignalR/clients/cpp/test/signalrclienttests/Build/VS/signalrclienttests.vcxproj

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -93,9 +93,6 @@
9393
<PackageReference Include="cpprestsdk.v140.windesktop.msvcstl.dyn.rt-dyn" Version="2.9.1" />
9494
</ItemGroup>
9595
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
96-
<Target Name="AfterBuild">
97-
<Exec Command="copy /y &quot;$(SolutionDir)bin\Desktop\$(Platform)\$(Configuration)\dll\$(SignalrClientTargetName).dll&quot; &quot;$(SolutionDir)bin\Desktop\$(Platform)\$(Configuration)\$(SignalrClientTargetName).dll&quot;" />
98-
</Target>
9996
<PropertyGroup>
10097
<IsTestProject>true</IsTestProject>
10198
</PropertyGroup>

0 commit comments

Comments
 (0)