/*
 *  IXUrlParser.h
 *  Author: Benjamin Sergeant
 *  Copyright (c) 2019 Machine Zone, Inc. All rights reserved.
 */

#pragma once

#include <string>
#include <regex>

namespace ix
{
    class UrlParser
    {
    public:
        static bool parse(const std::string& url,
                          std::string& protocol,
                          std::string& host,
                          std::string& path,
                          std::string& query,
                          int& port,
                          bool websocket);

        static void printUrl(const std::string& url, bool websocket);

    private:
        static std::regex _httpRegex;
        static std::regex _webSocketRegex;
    };
}