fixes url fragment parsing and adds url fragment and query parsing unit tests fixes #23

This commit is contained in:
Peter Thorson
2011-10-01 09:22:35 -05:00
parent 37396372c3
commit d40887c701
3 changed files with 21 additions and 5 deletions

View File

@@ -136,11 +136,9 @@ std::string lookup_ws_close_status_string(uint16_t code) {
bool websocketpp::ws_uri::parse(const std::string& uri) {
boost::cmatch what;
static const boost::regex expression("(ws|wss)://([^/:\\[]+|\\[[0-9:]+\\])(:\\d{1,5})?(/.*)?");
static const boost::regex expression("(ws|wss)://([^/:\\[]+|\\[[0-9:]+\\])(:\\d{1,5})?(/[^#]*)?");
// TODO: finish section 3 conformance:
// - forbid # character (fragment is meaningless to websocket
// - maybe split out query portion into path/query?
// TODO: should this split resource into path/query?
if (boost::regex_match(uri.c_str(), what, expression)) {
if (what[1] == "wss") {

View File

@@ -54,7 +54,6 @@ struct ws_uri {
std::string host;
uint16_t port;
std::string resource;
std::string query;
};
}