提交 1e9bdf8c0482886b91bee16ffd56e5d8c960ef78

作者 LJH 李佳桓
1 个父辈 2894d32e

add

正在显示 1 个修改的文件 包含 76 行增加0 行删除
  1 +/**************************************************************************
  2 +* file: dmpspserverresponse.cpp
  3 +
  4 +* Author: wanzhongping
  5 +* Date: 2021-01-14 18:14:57
  6 +* Email: zhongpingw@chinadci.com
  7 +* copyright: 广州城市信息研究所有限公司
  8 +***************************************************************************/
  9 +#include "dmpspserverresponse.h"
  10 +#include "dmplogger.h"
  11 +#include <boost/format.hpp>
  12 +
  13 +DmpSpServerResponse::DmpSpServerResponse(SP_HttpResponse* response)
  14 +{
  15 + sp_response_ = response;
  16 + Clear();
  17 +}
  18 +
  19 +void DmpSpServerResponse::SetHeader(const std::string &key, const std::string &value)
  20 +{
  21 + sp_response_->addHeader(key.c_str(), value.c_str());
  22 +}
  23 +
  24 +void DmpSpServerResponse::RemoveHeader(const std::string &key)
  25 +{
  26 + sp_response_->removeHeader(key.c_str());
  27 +}
  28 +
  29 +std::string DmpSpServerResponse::Header(const std::string &key) const
  30 +{
  31 + return sp_response_->getHeaderValue(key.c_str());
  32 +}
  33 +
  34 +ParameterMap DmpSpServerResponse::Headers() const
  35 +{
  36 + ParameterMap headers;
  37 + for(int i = 0; i < sp_response_->getHeaderCount(); i++) {
  38 + headers[sp_response_->getHeaderName(i)] = sp_response_->getHeaderValue(i);
  39 + }
  40 + return headers;
  41 +}
  42 +
  43 +int DmpSpServerResponse::statusCode() const
  44 +{
  45 + return sp_response_->getStatusCode();
  46 +}
  47 +void DmpSpServerResponse::setStatusCode(int code)
  48 +{
  49 + sp_response_->setStatusCode(code);
  50 +}
  51 +
  52 +void DmpSpServerResponse::Write(const std::string data)
  53 +{
  54 + sp_response_->appendContent(data.c_str(),data.size());
  55 +}
  56 +
  57 +void DmpSpServerResponse::WriteContent(const void * content, int length)
  58 +{
  59 + sp_response_->appendContent(content, length);
  60 +}
  61 +
  62 +void DmpSpServerResponse::SendError(int code, const std::string &message)
  63 +{
  64 + Clear();
  65 + setStatusCode(code);
  66 + SetHeader("Content-Type", "text/html;charset=utf-8");
  67 + Write(message);
  68 +}
  69 +
  70 +void DmpSpServerResponse::Clear()
  71 +{
  72 + for(int i=0; i< sp_response_->getHeaderCount(); i++)
  73 + {
  74 + sp_response_->removeHeader(i);
  75 + }
  76 +}
\ No newline at end of file
... ...
注册登录 后发表评论