//
// Created by Ht on 2020/7/25.
//

#ifndef LIBDEVCPP_URIUTILS_H
#define LIBDEVCPP_URIUTILS_H

#include <string>
#include "QData.hpp"

class JE_API UriUtils {
public:
    //处理**/*/?等通配符，每个规则只能处理一个**/*，以及多个?的通配符。

    static void handleCommonChar(const std::string &pattern, std::string& relpath);

    static bool isLegalPatternChar(const std::string &pattern);

    static bool isLegalPathChar(const std::string &path);

    static bool parseUriToMessage(const std::string &uri, std::string &protocol, std::string& host, int *port, qlibc::QData &request);

    static std::string makeHostKey( const std::string &host, int port);

    static std::string addUriPrefix(const std::string &baseUri, const std::string& prefix);
};


#endif //LIBDEVCPP_URIUTILS_H
