Commit 65283429 authored by Doron Somech's avatar Doron Somech

problem: ws_transport is missing the path the endpoint name

parent 071ec1a9
...@@ -67,7 +67,7 @@ zmq::ws_address_t::ws_address_t (const sockaddr *sa_, socklen_t sa_len_) ...@@ -67,7 +67,7 @@ zmq::ws_address_t::ws_address_t (const sockaddr *sa_, socklen_t sa_len_)
&& sa_len_ >= static_cast<socklen_t> (sizeof (_address.ipv6))) && sa_len_ >= static_cast<socklen_t> (sizeof (_address.ipv6)))
memcpy (&_address.ipv6, sa_, sizeof (_address.ipv6)); memcpy (&_address.ipv6, sa_, sizeof (_address.ipv6));
_path = std::string ("/"); _path = std::string ("");
char hbuf[NI_MAXHOST]; char hbuf[NI_MAXHOST];
const int rc = getnameinfo (addr (), addrlen (), hbuf, sizeof (hbuf), NULL, const int rc = getnameinfo (addr (), addrlen (), hbuf, sizeof (hbuf), NULL,
...@@ -130,7 +130,7 @@ int zmq::ws_address_t::to_string (std::string &addr_) const ...@@ -130,7 +130,7 @@ int zmq::ws_address_t::to_string (std::string &addr_) const
{ {
std::ostringstream os; std::ostringstream os;
os << std::string ("ws://") << host () << std::string (":") os << std::string ("ws://") << host () << std::string (":")
<< _address.port (); << _address.port () << _path;
addr_ = os.str (); addr_ = os.str ();
return 0; return 0;
......
...@@ -124,10 +124,14 @@ void zmq::ws_listener_t::in_event () ...@@ -124,10 +124,14 @@ void zmq::ws_listener_t::in_event ()
std::string zmq::ws_listener_t::get_socket_name (zmq::fd_t fd_, std::string zmq::ws_listener_t::get_socket_name (zmq::fd_t fd_,
socket_end_t socket_end_) const socket_end_t socket_end_) const
{ {
std::string socket_name;
if (_wss) if (_wss)
return zmq::get_socket_name<wss_address_t> (fd_, socket_end_); socket_name = zmq::get_socket_name<wss_address_t> (fd_, socket_end_);
else
socket_name = zmq::get_socket_name<ws_address_t> (fd_, socket_end_);
return zmq::get_socket_name<ws_address_t> (fd_, socket_end_); return socket_name + _address.path ();
} }
int zmq::ws_listener_t::create_socket (const char *addr_) int zmq::ws_listener_t::create_socket (const char *addr_)
......
...@@ -46,7 +46,7 @@ int zmq::wss_address_t::to_string (std::string &addr_) const ...@@ -46,7 +46,7 @@ int zmq::wss_address_t::to_string (std::string &addr_) const
{ {
std::ostringstream os; std::ostringstream os;
os << std::string ("wss://") << host () << std::string (":") os << std::string ("wss://") << host () << std::string (":")
<< _address.port (); << _address.port () << path ();
addr_ = os.str (); addr_ = os.str ();
return 0; return 0;
......
...@@ -41,7 +41,6 @@ void test_roundtrip () ...@@ -41,7 +41,6 @@ void test_roundtrip ()
TEST_ASSERT_SUCCESS_ERRNO (zmq_bind (sb, "ws://*:*/roundtrip")); TEST_ASSERT_SUCCESS_ERRNO (zmq_bind (sb, "ws://*:*/roundtrip"));
TEST_ASSERT_SUCCESS_ERRNO ( TEST_ASSERT_SUCCESS_ERRNO (
zmq_getsockopt (sb, ZMQ_LAST_ENDPOINT, connect_address, &addr_length)); zmq_getsockopt (sb, ZMQ_LAST_ENDPOINT, connect_address, &addr_length));
strcat (connect_address, "/roundtrip");
void *sc = test_context_socket (ZMQ_REQ); void *sc = test_context_socket (ZMQ_REQ);
TEST_ASSERT_SUCCESS_ERRNO (zmq_connect (sc, connect_address)); TEST_ASSERT_SUCCESS_ERRNO (zmq_connect (sc, connect_address));
...@@ -79,7 +78,6 @@ void test_heartbeat () ...@@ -79,7 +78,6 @@ void test_heartbeat ()
TEST_ASSERT_SUCCESS_ERRNO (zmq_bind (sb, "ws://*:*/heartbeat")); TEST_ASSERT_SUCCESS_ERRNO (zmq_bind (sb, "ws://*:*/heartbeat"));
TEST_ASSERT_SUCCESS_ERRNO ( TEST_ASSERT_SUCCESS_ERRNO (
zmq_getsockopt (sb, ZMQ_LAST_ENDPOINT, connect_address, &addr_length)); zmq_getsockopt (sb, ZMQ_LAST_ENDPOINT, connect_address, &addr_length));
strcat (connect_address, "/heartbeat");
void *sc = test_context_socket (ZMQ_REQ); void *sc = test_context_socket (ZMQ_REQ);
...@@ -113,7 +111,6 @@ void test_short_message () ...@@ -113,7 +111,6 @@ void test_short_message ()
TEST_ASSERT_SUCCESS_ERRNO (zmq_bind (sb, "ws://*:*/short")); TEST_ASSERT_SUCCESS_ERRNO (zmq_bind (sb, "ws://*:*/short"));
TEST_ASSERT_SUCCESS_ERRNO ( TEST_ASSERT_SUCCESS_ERRNO (
zmq_getsockopt (sb, ZMQ_LAST_ENDPOINT, connect_address, &addr_length)); zmq_getsockopt (sb, ZMQ_LAST_ENDPOINT, connect_address, &addr_length));
strcat (connect_address, "/short");
void *sc = test_context_socket (ZMQ_REQ); void *sc = test_context_socket (ZMQ_REQ);
TEST_ASSERT_SUCCESS_ERRNO (zmq_connect (sc, connect_address)); TEST_ASSERT_SUCCESS_ERRNO (zmq_connect (sc, connect_address));
...@@ -147,7 +144,6 @@ void test_large_message () ...@@ -147,7 +144,6 @@ void test_large_message ()
TEST_ASSERT_SUCCESS_ERRNO (zmq_bind (sb, "ws://*:*/large")); TEST_ASSERT_SUCCESS_ERRNO (zmq_bind (sb, "ws://*:*/large"));
TEST_ASSERT_SUCCESS_ERRNO ( TEST_ASSERT_SUCCESS_ERRNO (
zmq_getsockopt (sb, ZMQ_LAST_ENDPOINT, connect_address, &addr_length)); zmq_getsockopt (sb, ZMQ_LAST_ENDPOINT, connect_address, &addr_length));
strcat (connect_address, "/short");
void *sc = test_context_socket (ZMQ_REQ); void *sc = test_context_socket (ZMQ_REQ);
TEST_ASSERT_SUCCESS_ERRNO (zmq_connect (sc, connect_address)); TEST_ASSERT_SUCCESS_ERRNO (zmq_connect (sc, connect_address));
...@@ -197,8 +193,6 @@ void test_curve () ...@@ -197,8 +193,6 @@ void test_curve ()
TEST_ASSERT_SUCCESS_ERRNO (zmq_bind (server, "ws://*:*/roundtrip")); TEST_ASSERT_SUCCESS_ERRNO (zmq_bind (server, "ws://*:*/roundtrip"));
TEST_ASSERT_SUCCESS_ERRNO (zmq_getsockopt (server, ZMQ_LAST_ENDPOINT, TEST_ASSERT_SUCCESS_ERRNO (zmq_getsockopt (server, ZMQ_LAST_ENDPOINT,
connect_address, &addr_length)); connect_address, &addr_length));
strcat (connect_address, "/roundtrip");
void *client = test_context_socket (ZMQ_REQ); void *client = test_context_socket (ZMQ_REQ);
TEST_ASSERT_SUCCESS_ERRNO ( TEST_ASSERT_SUCCESS_ERRNO (
...@@ -224,7 +218,6 @@ void test_mask_shared_msg () ...@@ -224,7 +218,6 @@ void test_mask_shared_msg ()
TEST_ASSERT_SUCCESS_ERRNO (zmq_bind (sb, "ws://*:*/mask-shared")); TEST_ASSERT_SUCCESS_ERRNO (zmq_bind (sb, "ws://*:*/mask-shared"));
TEST_ASSERT_SUCCESS_ERRNO ( TEST_ASSERT_SUCCESS_ERRNO (
zmq_getsockopt (sb, ZMQ_LAST_ENDPOINT, connect_address, &addr_length)); zmq_getsockopt (sb, ZMQ_LAST_ENDPOINT, connect_address, &addr_length));
strcat (connect_address, "/mask-shared");
void *sc = test_context_socket (ZMQ_DEALER); void *sc = test_context_socket (ZMQ_DEALER);
TEST_ASSERT_SUCCESS_ERRNO (zmq_connect (sc, connect_address)); TEST_ASSERT_SUCCESS_ERRNO (zmq_connect (sc, connect_address));
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment