dmpserverparameters.cpp 2.0 KB
/**************************************************************************
 * file:              dmpserverparameters.cpp
 
 * Author:            wanzhongping
 * Date:              2021-01-26 16:26:48
 * Email:             zhongpingw@chinadci.com
 * copyright:         广州城市信息研究所有限公司
 ***************************************************************************/

#include "dmpserverparameters.h"
#include <boost/regex.hpp>
#include "dmplogger.h"

DmpServerParameters::DmpServerParameters()
{
}

DmpServerParameters::DmpServerParameters(const std::string &query_string)
{
    SetQueryString(query_string);
}

void DmpServerParameters::SetQueryString(const std::string &query_string)
{
   params_ = QueryString::parse(query_string);
}
 
std::string DmpServerParameters::Service() const
{
    std::map<std::string, std::string>::const_iterator iter = params_.find("Service");
    if (iter != params_.end()) {
      return iter->second;
    } else {
      LOGGER_WARN("参数service为空");
      return "";
    }
}

std::string DmpServerParameters::Request() const
{
    std::map<std::string, std::string>::const_iterator iter = params_.find("request");
    if (iter != params_.end()) {
      return iter->second;
    } else {
      LOGGER_WARN("参数request为空");
      return "";
    }
}

std::string DmpServerParameters::Version() const
{
    std::map<std::string, std::string>::const_iterator iter = params_.find("version");
    if (iter != params_.end()) {
      return iter->second;
    } else {
      LOGGER_WARN("参数version为空");
      return "";
    }
}

void DmpServerParameters::Clear()
{
    params_.clear();
}

void DmpServerParameters::Add(const std::string &key, const std::string &value)
{
    params_[key] = value;
}

void DmpServerParameters::Remove(const std::string &key)
{
    std::map<std::string, std::string>::iterator iter;
    iter = params_.find(key);
    if (iter != params_.end()) {
      params_.erase (iter);                   
    }
}